From 2a797de6ee8527fd318cba46becb774262192a3d Mon Sep 17 00:00:00 2001 From: Dietmar Maurer Date: Wed, 5 Sep 2012 07:57:06 +0200 Subject: [PATCH] removed startall/stopall commands Because we now support startup priorities, and start/stop order must include KVM VMs. --- bin/pvectl | 115 ----------------------------------------------------- 1 file changed, 115 deletions(-) diff --git a/bin/pvectl b/bin/pvectl index f828bdf1..af92d223 100755 --- a/bin/pvectl +++ b/bin/pvectl @@ -35,118 +35,6 @@ my $upid_exit = sub { exit($status eq 'OK' ? 0 : -1); }; -__PACKAGE__->register_method ({ - name => 'startall', - path => 'startall', - method => 'POST', - description => "Start all containers (when onboot=1).", - parameters => { - additionalProperties => 0, - properties => {}, - }, - returns => { type => 'null'}, - code => sub { - my ($param) = @_; - - # wait up to 10 seconds for quorum - for (my $i = 10; $i >= 0; $i--) { - last if PVE::Cluster::check_cfs_quorum($i != 0 ? 1 : 0); - sleep(1); - } - - my $vzlist = PVE::OpenVZ::vmstatus(); - - my $cc = PVE::Cluster::cfs_read_file('cluster.conf'); - - my $startList = {}; - foreach my $vmid (keys %$vzlist) { - next if $vzlist->{$vmid}->{status} eq 'running'; # already running - - my $conf; - eval { $conf = PVE::OpenVZ::load_config($vmid); }; - if (my $err = $@) { - warn $err; - next; - } - - next if !$conf; - - next if !($conf->{onboot} && $conf->{onboot}->{value}); - - # skip ha managed VMs (started by rgmanager) - next if PVE::Cluster::cluster_conf_lookup_pvevm($cc, 0, $vmid, 1); - - if ($conf->{bootorder} && defined($conf->{bootorder}->{value})) { - $vzlist->{$vmid}->{bootorder} = $conf->{bootorder}->{value}; - } else { - $vzlist->{$vmid}->{bootorder} = -1000000000; - } - - $startList->{$vmid} = $vzlist->{$vmid}; - } - - foreach my $vmid (sort { - return $a <=> $b if $startList->{$b}->{bootorder} == $startList->{$a}->{bootorder}; - return $startList->{$b}->{bootorder} <=> $startList->{$a}->{bootorder}; - } keys %$startList) { - - PVE::Cluster::check_cfs_quorum(); # abort when we loose quorum - - eval { - print STDERR "Starting CT $vmid\n"; - PVE::API2::OpenVZ->vm_start({node => $nodename, vmid => $vmid }); - }; - warn $@ if $@; - } - - return undef; - }}); - -__PACKAGE__->register_method ({ - name => 'stopall', - path => 'stopall', - method => 'POST', - description => "Stop all containers.", - parameters => { - additionalProperties => 0, - properties => { - timeout => { - description => "Wait maximal timeout seconds.", - type => 'integer', - minimum => 0, - optional => 1, - default => 60, - }, - }, - }, - returns => { type => 'null'}, - code => sub { - my ($param) = @_; - - my $vzlist = PVE::OpenVZ::vmstatus(); - my $timeout = defined ($param->{timeout}) ? $param->{timeout} : 60; - - syslog('info', "Stopping all Container"); - - foreach my $vmid (keys %$vzlist) { - next if $vzlist->{$vmid}->{status} ne 'running'; # not running - - eval { - print STDERR "Stopping CT $vmid\n"; - - # Set fairsched parameters to maximum so CT will stop fast - # ignore any errors - system("vzctl set $vmid --cpuunits 2000 --cpulimit 0 >/dev/null 2>&1"); - - PVE::API2::OpenVZ->vm_shutdown({node => $nodename, vmid => $vmid, - timeout => $timeout, forceStop => 1 }); - }; - warn $@ if $@; - } - - return undef; - }}); - my $cmddef = { list => [ "PVE::API2::OpenVZ", 'vmlist', [], @@ -190,9 +78,6 @@ my $cmddef = { mount => [ 'PVE::API2::OpenVZ', 'vm_mount', ['vmid'], { node => $nodename }, $upid_exit], umount => [ 'PVE::API2::OpenVZ', 'vm_umount', ['vmid'], { node => $nodename }, $upid_exit], migrate => [ "PVE::API2::OpenVZ", 'migrate_vm', ['vmid', 'target'], { node => $nodename }, $upid_exit], - - startall => [ __PACKAGE__, 'startall', []], - stopall => [ __PACKAGE__, 'stopall', []], }; my $cmd = shift; -- 2.39.2