From: "Fabian Grünbichler" <f.gruenbichler@proxmox.com>
To: pve-devel@lists.proxmox.com
Subject: [pve-devel] [PATCH manager 1/2] vzdump jobs: make job ID a standard option
Date: Fri, 20 Sep 2024 11:05:05 +0200 [thread overview]
Message-ID: <20240920090506.231780-1-f.gruenbichler@proxmox.com> (raw)
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
next reply other threads:[~2024-09-20 9:05 UTC|newest]
Thread overview: 2+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-09-20 9:05 Fabian Grünbichler [this message]
2024-09-20 9:05 ` [pve-devel] [PATCH manager 2/2] fix #5731: vzdump jobs: fix execution of converted jobs Fabian Grünbichler
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20240920090506.231780-1-f.gruenbichler@proxmox.com \
--to=f.gruenbichler@proxmox.com \
--cc=pve-devel@lists.proxmox.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox