[pbs-devel] [PATCH proxmox/proxmox-backup 0/7] trigger sync jobs on mount
Hannes Laimer
h.laimer at proxmox.com
Fri Feb 28 09:22:23 CET 2025
On 2/4/25 15:54, Christian Ebner wrote:
> On 1/16/25 07:45, Hannes Laimer wrote:
>> Sync jobs now have a run-on-mount flag, that, if set, runs the job
>> whenever
>> a relevant removable datastore is mounted.
>>
>>
>> * proxmox:
>> Hannes Laimer (1):
>> rest-server: add function that returns a join handle for spawn
>>
>> proxmox-rest-server/src/worker_task.rs | 21 +++++++++++++++++++--
>> 1 file changed, 19 insertions(+), 2 deletions(-)
>>
>> * proxmox-backup:
>> Hannes Laimer (6):
>> api types: add run-on-mount flag to SyncJobConfig
>> api: admin: run configured sync jobs when a datastore is mounted
>> api: admin: trigger sync jobs only on datastore mount
>> bin: manager: run uuid_mount/mount tasks on the proxy
>> ui: add run-on-mount checkbox to SyncJob form
>> ui: add task title for triggering sync jobs
>>
>> pbs-api-types/src/jobs.rs | 3 +
>> src/api2/admin/datastore.rs | 96 +++++++++++++++++++--
>> src/api2/admin/sync.rs | 2 +-
>> src/bin/proxmox_backup_manager/datastore.rs | 42 +++++----
>> src/server/sync.rs | 7 +-
>> www/Utils.js | 1 +
>> www/window/SyncJobEdit.js | 23 ++++-
>> 7 files changed, 147 insertions(+), 27 deletions(-)
>>
>
> High level comments:
> As mentioned in the comments to patch 3, decoupling the mount logic from
> the sync job logic would be desirable for better maintainability and
> possible future extension to other jobs such as prune, verify, garbage
> collection, ecc.
>
> The run on mount flag should be an optional parameter of the sync job
> config, as otherwise per-existing configs are not valid anymore.
> Also, clearing the schedule for the sync jobs when the run on mount flag
> is set is not really necessary in my opinion, as a sync job may be
> configured just fine with both.
>
> Further, this still needs a
> ```
> diff --git a/src/api2/config/sync.rs b/src/api2/config/sync.rs
> index a8ea93465..f356bc588 100644
> --- a/src/api2/config/sync.rs
> +++ b/src/api2/config/sync.rs
> @@ -666,6 +666,7 @@ acl:1:/remote/remote1/
> remotestore1:write at pbs:RemoteSyncOperator
> limit: pbs_api_types::RateLimitConfig::default(), // no limit
> transfer_last: None,
> sync_direction: None, // use default
> + run_on_mount: false,
> };
>
> // should work without ACLs
> ```
> for the tests to build and pass successfully.
Thanks a lot for taking a look and the feedback!
More information about the pbs-devel
mailing list