From mboxrd@z Thu Jan  1 00:00:00 1970
Return-Path: <pbs-devel-bounces@lists.proxmox.com>
Received: from firstgate.proxmox.com (firstgate.proxmox.com [IPv6:2a01:7e0:0:424::9])
	by lore.proxmox.com (Postfix) with ESMTPS id AB2881FF168
	for <inbox@lore.proxmox.com>; Tue,  4 Feb 2025 15:55:24 +0100 (CET)
Received: from firstgate.proxmox.com (localhost [127.0.0.1])
	by firstgate.proxmox.com (Proxmox) with ESMTP id CB41F19AC2;
	Tue,  4 Feb 2025 15:55:23 +0100 (CET)
Message-ID: <4df2d65b-ade4-45ce-8517-9ae4fa32b920@proxmox.com>
Date: Tue, 4 Feb 2025 15:54:49 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
To: Proxmox Backup Server development discussion
 <pbs-devel@lists.proxmox.com>, Hannes Laimer <h.laimer@proxmox.com>
References: <20250116064543.74619-1-h.laimer@proxmox.com>
Content-Language: en-US, de-DE
From: Christian Ebner <c.ebner@proxmox.com>
In-Reply-To: <20250116064543.74619-1-h.laimer@proxmox.com>
X-SPAM-LEVEL: Spam detection results:  0
 AWL 0.029 Adjusted score from AWL reputation of From: address
 BAYES_00                 -1.9 Bayes spam probability is 0 to 1%
 DMARC_MISSING             0.1 Missing DMARC policy
 KAM_DMARC_STATUS 0.01 Test Rule for DKIM or SPF Failure with Strict Alignment
 RCVD_IN_VALIDITY_CERTIFIED_BLOCKED 0.001 ADMINISTRATOR NOTICE: The query to
 Validity was blocked. See
 https://knowledge.validity.com/hc/en-us/articles/20961730681243 for more
 information.
 RCVD_IN_VALIDITY_RPBL_BLOCKED 0.001 ADMINISTRATOR NOTICE: The query to
 Validity was blocked. See
 https://knowledge.validity.com/hc/en-us/articles/20961730681243 for more
 information.
 RCVD_IN_VALIDITY_SAFE_BLOCKED 0.001 ADMINISTRATOR NOTICE: The query to
 Validity was blocked. See
 https://knowledge.validity.com/hc/en-us/articles/20961730681243 for more
 information.
 SPF_HELO_NONE           0.001 SPF: HELO does not publish an SPF Record
 SPF_PASS               -0.001 SPF: sender matches SPF record
 URIBL_BLOCKED 0.001 ADMINISTRATOR NOTICE: The query to URIBL was blocked. See
 http://wiki.apache.org/spamassassin/DnsBlocklists#dnsbl-block for more
 information. [jobs.rs, sync.rs, datastore.rs]
Subject: Re: [pbs-devel] [PATCH proxmox/proxmox-backup 0/7] trigger sync
 jobs on mount
X-BeenThere: pbs-devel@lists.proxmox.com
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: Proxmox Backup Server development discussion
 <pbs-devel.lists.proxmox.com>
List-Unsubscribe: <https://lists.proxmox.com/cgi-bin/mailman/options/pbs-devel>, 
 <mailto:pbs-devel-request@lists.proxmox.com?subject=unsubscribe>
List-Archive: <http://lists.proxmox.com/pipermail/pbs-devel/>
List-Post: <mailto:pbs-devel@lists.proxmox.com>
List-Help: <mailto:pbs-devel-request@lists.proxmox.com?subject=help>
List-Subscribe: <https://lists.proxmox.com/cgi-bin/mailman/listinfo/pbs-devel>, 
 <mailto:pbs-devel-request@lists.proxmox.com?subject=subscribe>
Reply-To: Proxmox Backup Server development discussion
 <pbs-devel@lists.proxmox.com>
Content-Transfer-Encoding: 7bit
Content-Type: text/plain; charset="us-ascii"; Format="flowed"
Errors-To: pbs-devel-bounces@lists.proxmox.com
Sender: "pbs-devel" <pbs-devel-bounces@lists.proxmox.com>

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@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.


_______________________________________________
pbs-devel mailing list
pbs-devel@lists.proxmox.com
https://lists.proxmox.com/cgi-bin/mailman/listinfo/pbs-devel