]> git.proxmox.com Git - pve-container.git/commitdiff
vm_shutdown: request 'stopped' state for HA enabled CTs
authorDietmar Maurer <dietmar@proxmox.com>
Wed, 23 Nov 2016 07:21:18 +0000 (08:21 +0100)
committerDietmar Maurer <dietmar@proxmox.com>
Wed, 23 Nov 2016 07:21:18 +0000 (08:21 +0100)
src/PVE/API2/LXC/Status.pm

index 0b284c67db3a66b55f5779e7574b2222ccc2ae74..8c389f726cefe4785fd3521c264a2f33ba8deaf0 100644 (file)
@@ -325,6 +325,26 @@ __PACKAGE__->register_method({
 
        die "CT $vmid not running\n" if !PVE::LXC::check_running($vmid);
 
+       if (PVE::HA::Config::vm_is_ha_managed($vmid) &&
+           $rpcenv->{type} ne 'ha') {
+
+           my $hacmd = sub {
+               my $upid = shift;
+
+               my $service = "ct:$vmid";
+
+               my $cmd = ['ha-manager', 'set', $service, '--state', 'stopped'];
+
+               print "Executing HA stop for CT $vmid\n";
+
+               PVE::Tools::run_command($cmd);
+
+               return;
+           };
+
+           return $rpcenv->fork_worker('hastop', $vmid, $authuser, $hacmd);
+       }
+
        my $lockcmd = sub {
            my $realcmd = sub {
                my $upid = shift;