public inbox for pve-devel@lists.proxmox.com
 help / color / mirror / Atom feed
* [pve-devel] [PATCH manager 1/2] vzdump jobs: make job ID a standard option
@ 2024-09-20  9:05 Fabian Grünbichler
  2024-09-20  9:05 ` [pve-devel] [PATCH manager 2/2] fix #5731: vzdump jobs: fix execution of converted jobs Fabian Grünbichler
  2024-09-20 15:55 ` [pve-devel] applied-series: [PATCH manager 1/2] vzdump jobs: make job ID a standard option Thomas Lamprecht
  0 siblings, 2 replies; 3+ messages in thread
From: Fabian Grünbichler @ 2024-09-20  9:05 UTC (permalink / raw)
  To: pve-devel

and put it into PVE::VZDump because there is a cycle between

PVE::Jobs::VZDump, PVE::API2::VZDump and PVE::API2::Backups

that prevents any of those containing it for now.

Signed-off-by: Fabian Grünbichler <f.gruenbichler@proxmox.com>
---
 PVE/API2/Backup.pm | 18 ++++++------------
 PVE/VZDump.pm      | 10 ++++++++++
 2 files changed, 16 insertions(+), 12 deletions(-)

diff --git a/PVE/API2/Backup.pm b/PVE/API2/Backup.pm
index 48598b8f4..f37e23931 100644
--- a/PVE/API2/Backup.pm
+++ b/PVE/API2/Backup.pm
@@ -10,7 +10,7 @@ use PVE::Tools qw(extract_param);
 use PVE::Cluster qw(cfs_lock_file cfs_read_file cfs_write_file);
 use PVE::RESTHandler;
 use PVE::RPCEnvironment;
-use PVE::JSONSchema;
+use PVE::JSONSchema qw(get_standard_option);
 use PVE::Storage;
 use PVE::Exception qw(raise_param_exc);
 use PVE::VZDump;
@@ -34,12 +34,6 @@ sub verify_day_of_week {
     die "invalid day '$value'\n";
 }
 
-my $vzdump_job_id_prop = {
-    type => 'string',
-    description => "The job ID.",
-    maxLength => 50
-};
-
 # NOTE: also used by the vzdump API call.
 sub assert_param_permission_common {
     my ($rpcenv, $user, $param, $is_delete) = @_;
@@ -142,7 +136,7 @@ __PACKAGE__->register_method({
 	items => {
 	    type => "object",
 	    properties => {
-		id => $vzdump_job_id_prop
+		id => get_standard_option('pve-backup-jobid'),
 	    },
 	},
 	links => [ { rel => 'child', href => "{id}" } ],
@@ -298,7 +292,7 @@ __PACKAGE__->register_method({
     parameters => {
     	additionalProperties => 0,
 	properties => {
-	    id => $vzdump_job_id_prop
+	    id => get_standard_option('pve-backup-jobid'),
 	},
     },
     returns => {
@@ -346,7 +340,7 @@ __PACKAGE__->register_method({
     parameters => {
     	additionalProperties => 0,
 	properties => {
-	    id => $vzdump_job_id_prop
+	    id => get_standard_option('pve-backup-jobid'),
 	},
     },
     returns => { type => 'null' },
@@ -412,7 +406,7 @@ __PACKAGE__->register_method({
     parameters => {
     	additionalProperties => 0,
 	properties => PVE::VZDump::Common::json_config_properties({
-	    id => $vzdump_job_id_prop,
+	    id => get_standard_option('pve-backup-jobid'),
 	    schedule => {
 		description => "Backup schedule. The format is a subset of `systemd` calendar events.",
 		type => 'string', format => 'pve-calendar-event',
@@ -570,7 +564,7 @@ __PACKAGE__->register_method({
     parameters => {
 	additionalProperties => 0,
 	properties => {
-	    id => $vzdump_job_id_prop
+	    id => get_standard_option('pve-backup-jobid'),
 	},
     },
     returns => {
diff --git a/PVE/VZDump.pm b/PVE/VZDump.pm
index f1a6b2206..f813bba60 100644
--- a/PVE/VZDump.pm
+++ b/PVE/VZDump.pm
@@ -27,6 +27,16 @@ use PVE::VZDump::Plugin;
 use PVE::Tools qw(extract_param split_list);
 use PVE::API2Tools;
 
+# section config header/ID, this needs to cover UUIDs, user given values
+# and `$digest:$counter` values converted from vzdump.cron
+# TODO move to a better place once cycle
+# Jobs::VZDump -> API2::VZDump -> API2::Backups -> Jobs::VZDump is broken..
+PVE::JSONSchema::register_standard_option('pve-backup-jobid', {
+    type => 'string',
+    description => "The job ID.",
+    maxLength => 50,
+});
+
 my @posix_filesystems = qw(ext3 ext4 nfs nfs4 reiserfs xfs);
 
 my $lockfile = '/var/run/vzdump.lock';
-- 
2.39.5



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

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2024-09-20 15:56 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2024-09-20  9:05 [pve-devel] [PATCH manager 1/2] vzdump jobs: make job ID a standard option Fabian Grünbichler
2024-09-20  9:05 ` [pve-devel] [PATCH manager 2/2] fix #5731: vzdump jobs: fix execution of converted jobs Fabian Grünbichler
2024-09-20 15:55 ` [pve-devel] applied-series: [PATCH manager 1/2] vzdump jobs: make job ID a standard option Thomas Lamprecht

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
Service provided by Proxmox Server Solutions GmbH | Privacy | Legal