]> git.proxmox.com Git - pve-container.git/commitdiff
api status: cleanup nested closures
authorThomas Lamprecht <t.lamprecht@proxmox.com>
Fri, 10 May 2019 10:03:37 +0000 (10:03 +0000)
committerThomas Lamprecht <t.lamprecht@proxmox.com>
Fri, 10 May 2019 10:03:37 +0000 (10:03 +0000)
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
src/PVE/API2/LXC/Status.pm

index 3e3d8de6019d9244719d842dbd693dcf1752bae6..7c9c6f103b85c12d96fb8d87645bf83c70c4c79b 100644 (file)
@@ -171,34 +171,31 @@ __PACKAGE__->register_method({
 
        } else {
 
-           my $lockcmd = sub {
-               my $realcmd = sub {
-                   my $upid = shift;
-
-                   syslog('info', "starting CT $vmid: $upid\n");
-
-                   my $conf = PVE::LXC::Config->load_config($vmid);
+           my $realcmd = sub {
+               my $upid = shift;
 
-                   die "you can't start a CT if it's a template\n"
-                       if PVE::LXC::Config->is_template($conf);
+               syslog('info', "starting CT $vmid: $upid\n");
 
-                   if (!$skiplock && !PVE::LXC::Config->has_lock($conf, 'mounted')) {
-                       PVE::LXC::Config->check_lock($conf);
-                   }
+               my $conf = PVE::LXC::Config->load_config($vmid);
 
-                   if ($conf->{unprivileged}) {
-                       PVE::LXC::Config->foreach_mountpoint($conf, sub {
-                           my ($ms, $mountpoint) = @_;
-                           die "Quotas are not supported by unprivileged containers.\n" if $mountpoint->{quota};
-                       });
+               die "you can't start a CT if it's a template\n"
+                   if PVE::LXC::Config->is_template($conf);
 
-                   }
+               if (!$skiplock && !PVE::LXC::Config->has_lock($conf, 'mounted')) {
+                   PVE::LXC::Config->check_lock($conf);
+               }
 
-                   PVE::LXC::vm_start($vmid, $conf, $skiplock);
+               if ($conf->{unprivileged}) {
+                   PVE::LXC::Config->foreach_mountpoint($conf, sub {
+                       my ($ms, $mountpoint) = @_;
+                       die "Quotas are not supported by unprivileged containers.\n" if $mountpoint->{quota};
+                   });
+               }
 
-                   return;
-               };
+               PVE::LXC::vm_start($vmid, $conf, $skiplock);
+           };
 
+           my $lockcmd = sub {
                return $rpcenv->fork_worker('vzstart', $vmid, $authuser, $realcmd);
            };
 
@@ -264,23 +261,20 @@ __PACKAGE__->register_method({
 
        } else {
 
-           my $lockcmd = sub {
-               my $realcmd = sub {
-                   my $upid = shift;
-
-                   syslog('info', "stopping CT $vmid: $upid\n");
-
-                   my $conf = PVE::LXC::Config->load_config($vmid);
+           my $realcmd = sub {
+               my $upid = shift;
 
-                   if (!$skiplock && !PVE::LXC::Config->has_lock($conf, 'mounted')) {
-                       PVE::LXC::Config->check_lock($conf);
-                   }
+               syslog('info', "stopping CT $vmid: $upid\n");
 
-                   PVE::LXC::vm_stop($vmid, 1);
+               my $conf = PVE::LXC::Config->load_config($vmid);
+               if (!$skiplock && !PVE::LXC::Config->has_lock($conf, 'mounted')) {
+                   PVE::LXC::Config->check_lock($conf);
+               }
 
-                   return;
-               };
+               PVE::LXC::vm_stop($vmid, 1);
+           };
 
+           my $lockcmd = sub {
                return $rpcenv->fork_worker('vzstop', $vmid, $authuser, $realcmd);
            };
 
@@ -333,7 +327,7 @@ __PACKAGE__->register_method({
 
        my $vmid = extract_param($param, 'vmid');
 
-       my $timeout = extract_param($param, 'timeout');
+       my $timeout = extract_param($param, 'timeout') // 60;
 
        die "CT $vmid not running\n" if !PVE::LXC::check_running($vmid);
 
@@ -357,23 +351,18 @@ __PACKAGE__->register_method({
            return $rpcenv->fork_worker('hastop', $vmid, $authuser, $hacmd);
        }
 
-       my $lockcmd = sub {
-           my $realcmd = sub {
-               my $upid = shift;
-
-               syslog('info', "shutdown CT $vmid: $upid\n");
-
-               $timeout = 60 if !defined($timeout);
-
-               my $conf = PVE::LXC::Config->load_config($vmid);
+       my $realcmd = sub {
+           my $upid = shift;
 
-               PVE::LXC::Config->check_lock($conf);
+           syslog('info', "shutdown CT $vmid: $upid\n");
 
-               PVE::LXC::vm_stop($vmid, 0, $timeout, $param->{forceStop});
+           my $conf = PVE::LXC::Config->load_config($vmid);
+           PVE::LXC::Config->check_lock($conf);
 
-               return;
-           };
+           PVE::LXC::vm_stop($vmid, 0, $timeout, $param->{forceStop});
+       };
 
+       my $lockcmd = sub {
            return $rpcenv->fork_worker('vzshutdown', $vmid, $authuser, $realcmd);
        };
 
@@ -411,25 +400,19 @@ __PACKAGE__->register_method({
 
        die "CT $vmid not running\n" if !PVE::LXC::check_running($vmid);
 
+       my $realcmd = sub {
+           my $upid = shift;
 
+           syslog('info', "suspend CT $vmid: $upid\n");
 
-       my $lockcmd = sub {
-           my $realcmd = sub {
-               my $upid = shift;
-
-               syslog('info', "suspend CT $vmid: $upid\n");
-
-               my $conf = PVE::LXC::Config->load_config($vmid);
-
-               PVE::LXC::Config->check_lock($conf);
-
-               my $cmd = ['lxc-checkpoint', '-n', $vmid, '-s', '-D', '/var/lib/vz/dump'];
-
-               run_command($cmd);
+           my $conf = PVE::LXC::Config->load_config($vmid);
+           PVE::LXC::Config->check_lock($conf);
 
-               return;
-           };
+           my $cmd = ['lxc-checkpoint', '-n', $vmid, '-s', '-D', '/var/lib/vz/dump'];
+           run_command($cmd);
+       };
 
+       my $lockcmd = sub {
            return $rpcenv->fork_worker('vzsuspend', $vmid, $authuser, $realcmd);
        };
 
@@ -467,21 +450,16 @@ __PACKAGE__->register_method({
 
        die "CT $vmid already running\n" if PVE::LXC::check_running($vmid);
 
+       my $realcmd = sub {
+           my $upid = shift;
 
-        my $realcmd = sub {
-            my $upid = shift;
-
-            syslog('info', "resume CT $vmid: $upid\n");
-
-           my $cmd = ['lxc-checkpoint', '-n', $vmid, '-r', '--foreground',
-                      '-D', '/var/lib/vz/dump'];
+           syslog('info', "resume CT $vmid: $upid\n");
 
+           my $cmd = ['lxc-checkpoint', '-n', $vmid, '-r', '--foreground', '-D', '/var/lib/vz/dump'];
            run_command($cmd);
+       };
 
-            return;
-        };
-
-        my $upid = $rpcenv->fork_worker('vzresume', $vmid, $authuser, $realcmd);
+       my $upid = $rpcenv->fork_worker('vzresume', $vmid, $authuser, $realcmd);
 
        return $upid;
     }});