Signed-off-by: Tim Marx <t.m...@proxmox.com> --- PVE/API2/Backup.pm | 32 ++++++++++++++-------------- PVE/API2/VZDump.pm | 8 +++---- PVE/API2Tools.pm | 22 +++++++++---------- PVE/VZDump.pm | 54 +++++++++++++++++++++++------------------------ www/manager6/dc/Backup.js | 32 ++++++++++++++-------------- 5 files changed, 74 insertions(+), 74 deletions(-)
diff --git a/PVE/API2/Backup.pm b/PVE/API2/Backup.pm index 3dfe8a0d..2eeba8e5 100644 --- a/PVE/API2/Backup.pm +++ b/PVE/API2/Backup.pm @@ -16,9 +16,9 @@ use PVE::VZDump; use base qw(PVE::RESTHandler); -cfs_register_file ('vzdump.cron', - \&parse_vzdump_cron_config, - \&write_vzdump_cron_config); +cfs_register_file ('vzdump.cron', + \&parse_vzdump_cron_config, + \&write_vzdump_cron_config); PVE::JSONSchema::register_format('pve-day-of-week', \&verify_day_of_week); sub verify_day_of_week { @@ -64,7 +64,7 @@ sub parse_dow { if ($day =~ m/^(mon|tue|wed|thu|fri|sat|sun)-(mon|tue|wed|thu|fri|sat|sun)$/i) { for (my $i = $dowmap->{lc($1)}; $i <= $dowmap->{lc($2)}; $i++) { my $r = $rdowmap->{$i}; - $res->{$r} = 1; + $res->{$r} = 1; } } elsif ($day =~ m/^(mon|tue|wed|thu|fri|sat|sun|[0-7])$/i) { $day = $rdowmap->{$day} if $day =~ m/\d/; @@ -91,7 +91,7 @@ sub parse_vzdump_cron_config { my $ejobs = []; # mailfomerd lines my $jid = 1; # we start at 1 - + my $digest = Digest::SHA::sha1_hex(defined($raw) ? $raw : ''); while ($raw && $raw =~ s/^(.*?)(\n|$)//) { @@ -174,7 +174,7 @@ sub write_vzdump_cron_config { } else { die "unable to parse job start time\n"; } - + $job->{quiet} = 1; # we do not want messages from cron my $cmd = PVE::VZDump::command_line($job); @@ -191,8 +191,8 @@ sub write_vzdump_cron_config { } __PACKAGE__->register_method({ - name => 'index', - path => '', + name => 'index', + path => '', method => 'GET', description => "List vzdump backup schedule.", permissions => { @@ -226,8 +226,8 @@ __PACKAGE__->register_method({ }}); __PACKAGE__->register_method({ - name => 'create_job', - path => '', + name => 'create_job', + path => '', method => 'POST', protected => 1, description => "Create new vzdump backup job.", @@ -284,8 +284,8 @@ __PACKAGE__->register_method({ }}); __PACKAGE__->register_method({ - name => 'read_job', - path => '{id}', + name => 'read_job', + path => '{id}', method => 'GET', description => "Read vzdump backup job definition.", permissions => { @@ -323,8 +323,8 @@ __PACKAGE__->register_method({ }}); __PACKAGE__->register_method({ - name => 'delete_job', - path => '{id}', + name => 'delete_job', + path => '{id}', method => 'DELETE', description => "Delete vzdump backup job definition.", permissions => { @@ -372,8 +372,8 @@ __PACKAGE__->register_method({ }}); __PACKAGE__->register_method({ - name => 'update_job', - path => '{id}', + name => 'update_job', + path => '{id}', method => 'PUT', protected => 1, description => "Update vzdump backup job definition.", diff --git a/PVE/API2/VZDump.pm b/PVE/API2/VZDump.pm index 4368f91b..4e5aec85 100644 --- a/PVE/API2/VZDump.pm +++ b/PVE/API2/VZDump.pm @@ -18,7 +18,7 @@ use Data::Dumper; # fixme: remove use base qw(PVE::RESTHandler); __PACKAGE__->register_method ({ - name => 'vzdump', + name => 'vzdump', path => '', method => 'POST', description => "Create backup.", @@ -68,7 +68,7 @@ __PACKAGE__->register_method ({ # silent exit if we run on wrong node return 'OK' if $param->{node} && $param->{node} ne $nodename; - + my $cmdline = PVE::VZDump::command_line($param); # convert string lists to arrays @@ -144,8 +144,8 @@ __PACKAGE__->register_method ({ PVE::VZDump::run_command(undef, "ionice -c2 -n$param->{ionice} -p $$"); } } - $vzdump->exec_backup($rpcenv, $user); - }; + $vzdump->exec_backup($rpcenv, $user); + }; open STDOUT, '>/dev/null' if $param->{quiet} && !$param->{stdout}; open STDERR, '>/dev/null' if $param->{quiet}; diff --git a/PVE/API2Tools.pm b/PVE/API2Tools.pm index 4d730901..5ab202b4 100644 --- a/PVE/API2Tools.pm +++ b/PVE/API2Tools.pm @@ -16,7 +16,7 @@ use PVE::SafeSyslog; my $hwaddress; sub get_hwaddress { - + return $hwaddress if defined ($hwaddress); my $fn = '/etc/ssh/ssh_host_rsa_key.pub'; @@ -69,7 +69,7 @@ sub extract_vm_stats { my $entry = { id => "$data->{type}/$vmid", - vmid => $vmid + 0, + vmid => $vmid + 0, node => $data->{node}, type => $data->{type}, status => 'unknown', @@ -92,7 +92,7 @@ sub extract_vm_stats { $entry->{netout} = ($d->[10] || 0) + 0; $entry->{diskread} = ($d->[11] || 0) + 0; $entry->{diskwrite} = ($d->[12] || 0) + 0; - + } elsif ($d = $rrd->{"pve2.3-vm/$vmid"}) { $entry->{uptime} = ($d->[0] || 0) + 0; @@ -120,12 +120,12 @@ sub extract_storage_stats { my $entry = { id => "storage/$node/$storeid", - storage => $storeid, - node => $node, - type => 'storage', + storage => $storeid, + node => $node, + type => 'storage', status => 'unknown', shared => $scfg->{shared} || 0, - }; + }; if (my $d = $rrd->{"pve2-storage/$node/$storeid"}) { $entry->{maxdisk} = ($d->[1] || 0) + 0; @@ -164,14 +164,14 @@ sub run_spiceterm { my $nodename = PVE::INotify::nodename(); my $family = PVE::Tools::get_host_address_family($nodename); my $port = PVE::Tools::next_spice_port($family); - - my ($ticket, undef, $remote_viewer_config) = + + my ($ticket, undef, $remote_viewer_config) = PVE::AccessControl::remote_viewer_config($authuser, $vmid, $node, $proxy, $title, $port); - my $timeout = 40; + my $timeout = 40; my $cmd = ['/usr/bin/spiceterm', '--port', $port, '--addr', 'localhost', - '--timeout', $timeout, '--authpath', $authpath, + '--timeout', $timeout, '--authpath', $authpath, '--permissions', $permissions]; my $dcconf = PVE::Cluster::cfs_read_file('datacenter.cfg'); diff --git a/PVE/VZDump.pm b/PVE/VZDump.pm index 1371702f..7740da0f 100644 --- a/PVE/VZDump.pm +++ b/PVE/VZDump.pm @@ -218,11 +218,11 @@ sub storage_info { my $cfg = PVE::Storage::config(); my $scfg = PVE::Storage::storage_config($cfg, $storage); my $type = $scfg->{type}; - - die "can't use storage type '$type' for backup\n" + + die "can't use storage type '$type' for backup\n" if (!($type eq 'dir' || $type eq 'nfs' || $type eq 'glusterfs' || $type eq 'cifs' || $type eq 'cephfs')); - die "can't use storage '$storage' for backups - wrong content type\n" + die "can't use storage '$storage' for backups - wrong content type\n" if (!$scfg->{content}->{backup}); PVE::Storage::activate_storage($cfg, $storage); @@ -249,7 +249,7 @@ sub format_size { } else { my $gb = $mb / 1024; return sprintf ("%.2fGB", $gb); - } + } } sub format_time { @@ -569,7 +569,7 @@ sub new { $errors .= "dumpdir '$opts->{dumpdir}' does not exist" if ! -d $opts->{dumpdir}; } else { - die "internal error"; + die "internal error"; } if ($opts->{tmpdir} && ! -d $opts->{tmpdir}) { @@ -620,9 +620,9 @@ sub getlock { my ($self, $upid) = @_; my $fh; - + my $maxwait = $self->{opts}->{lockwait} || $self->{lockwait}; - + die "missimg UPID" if !$upid; # should not happen if (!open (SERVER_FLCK, ">>$lockfile")) { @@ -641,7 +641,7 @@ sub getlock { eval { alarm ($maxwait * 60); - + local $SIG{ALRM} = sub { alarm (0); die "got timeout\n"; }; if (!flock (SERVER_FLCK, LOCK_EX)) { @@ -653,9 +653,9 @@ sub getlock { alarm (0); }; alarm (0); - + my $err = $@; - + if ($err) { debugmsg ('err', "can't acquire lock '$lockfile' - $err", undef, 1); die "can't acquire lock '$lockfile' - $err"; @@ -732,17 +732,17 @@ sub get_backup_file_list { return $bklist; } - + sub exec_backup_task { my ($self, $task) = @_; - + my $opts = $self->{opts}; my $vmid = $task->{vmid}; my $plugin = $task->{plugin}; my $vmstarttime = time (); - + my $logfd; my $cleanup = {}; @@ -803,11 +803,11 @@ sub exec_backup_task { $task->{vmtype} = $vmtype; if ($opts->{tmpdir}) { - $task->{tmpdir} = "$opts->{tmpdir}/vzdumptmp$$"; + $task->{tmpdir} = "$opts->{tmpdir}/vzdumptmp$$"; } else { # dumpdir is posix? then use it as temporary dir my $info = get_mount_info($opts->{dumpdir}); - if ($vmtype eq 'qemu' || + if ($vmtype eq 'qemu' || grep ($_ eq $info->{fstype}, @posix_filesystems)) { $task->{tmpdir} = "$opts->{dumpdir}/$basename.tmp"; } else { @@ -858,7 +858,7 @@ sub exec_backup_task { debugmsg ('info', $err, $logfd); debugmsg ('info', "trying 'suspend' mode instead", $logfd); $mode = 'suspend'; # so prepare is called again below - %$task = %saved_task; + %$task = %saved_task; } } @@ -886,7 +886,7 @@ sub exec_backup_task { $plugin->stop_vm ($task, $vmid); $cleanup->{restart} = 1; } - + } elsif ($mode eq 'suspend') { @@ -916,7 +916,7 @@ sub exec_backup_task { $self->run_hook_script('post-restart', $task, $logfd); $log_vm_online_again->(); } - + } elsif ($mode eq 'snapshot') { $self->run_hook_script ('backup-start', $task, $logfd); @@ -951,8 +951,8 @@ sub exec_backup_task { # assemble archive image $plugin->assemble ($task, $vmid); - - # produce archive + + # produce archive if ($opts->{stdout}) { debugmsg ('info', "sending archive to stdout", $logfd); @@ -969,7 +969,7 @@ sub exec_backup_task { # determine size $task->{size} = (-s $task->{tarfile}) || 0; - my $cs = format_size ($task->{size}); + my $cs = format_size ($task->{size}); debugmsg ('info', "archive file size: $cs", $logfd); # purge older backup @@ -1009,8 +1009,8 @@ sub exec_backup_task { eval { $plugin->set_logfd (undef); }; warn $@ if $@; - if ($cleanup->{resume} || $cleanup->{restart}) { - eval { + if ($cleanup->{resume} || $cleanup->{restart}) { + eval { $self->run_hook_script ('pre-restart', $task, $logfd); if ($cleanup->{resume}) { debugmsg ('info', "resume vm", $logfd); @@ -1057,7 +1057,7 @@ sub exec_backup_task { } close ($logfd) if $logfd; - + if ($task->{tmplog} && $task->{logfile}) { system {'cp'} 'cp', $task->{tmplog}, $task->{logfile}; } @@ -1075,7 +1075,7 @@ sub exec_backup { debugmsg ('info', "starting new backup job: $self->{cmdline}", undef, 1); debugmsg ('info', "skip external VMs: " . join(', ', @{$self->{skiplist}})) if scalar(@{$self->{skiplist}}); - + my $tasklist = []; if ($opts->{all}) { @@ -1145,7 +1145,7 @@ sub exec_backup { die $err if $err; - die "job errors\n" if $errcount; + die "job errors\n" if $errcount; unlink $pidfile; } @@ -1197,7 +1197,7 @@ sub stop_running_backups { my $task = PVE::Tools::upid_decode($upid); - if (PVE::ProcFSTools::check_process_running($task->{pid}, $task->{pstart}) && + if (PVE::ProcFSTools::check_process_running($task->{pid}, $task->{pstart}) && PVE::ProcFSTools::read_proc_starttime($task->{pid}) == $task->{pstart}) { kill(15, $task->{pid}); # wait max 15 seconds to shut down (else, do nothing for now) diff --git a/www/manager6/dc/Backup.js b/www/manager6/dc/Backup.js index e16e9783..c056a647 100644 --- a/www/manager6/dc/Backup.js +++ b/www/manager6/dc/Backup.js @@ -66,9 +66,9 @@ Ext.define('PVE.dc.BackupEdit', { var store = new Ext.data.Store({ model: 'PVEResources', - sorters: { - property: 'vmid', - order: 'ASC' + sorters: { + property: 'vmid', + order: 'ASC' } }); @@ -79,16 +79,16 @@ Ext.define('PVE.dc.BackupEdit', { selModel: sm, disabled: true, columns: [ - { + { header: 'ID', dataIndex: 'vmid', width: 60 }, - { + { header: gettext('Node'), dataIndex: 'node' }, - { + { header: gettext('Status'), dataIndex: 'uptime', renderer: function(value) { @@ -99,13 +99,13 @@ Ext.define('PVE.dc.BackupEdit', { } } }, - { - header: gettext('Name'), + { + header: gettext('Name'), dataIndex: 'name', - flex: 1 + flex: 1 }, - { - header: gettext('Type'), + { + header: gettext('Type'), dataIndex: 'type' } ] @@ -201,7 +201,7 @@ Ext.define('PVE.dc.BackupEdit', { onGetValues: function(values) { if (!values.node) { if (!me.isCreate) { - Proxmox.Utils.assemble_field_data(values, { 'delete': 'node' }); + Proxmox.Utils.assemble_field_data(values, { 'delete': 'node' }); } delete values.node; } @@ -255,7 +255,7 @@ Ext.define('PVE.dc.BackupEdit', { var list = vmidField.getValue(); update_vmid_selection(list, value); }); - + var reload = function() { store.load({ params: { type: 'vm' }, @@ -392,7 +392,7 @@ Ext.define('PVE.dc.BackupView', { }, remove_btn, edit_btn - ], + ], columns: [ { header: gettext('Enabled'), @@ -499,14 +499,14 @@ Ext.define('PVE.dc.BackupView', { itemdblclick: run_editor } }); - + me.callParent(); } }, function() { Ext.define('pve-cluster-backup', { extend: 'Ext.data.Model', - fields: [ + fields: [ 'id', 'starttime', 'dow', 'storage', 'node', 'vmid', 'exclude', 'mailto', -- 2.11.0 _______________________________________________ pve-devel mailing list pve-devel@pve.proxmox.com https://pve.proxmox.com/cgi-bin/mailman/listinfo/pve-devel