From 04b2004b3615768f2da2d2ba963f2176f7554746 Mon Sep 17 00:00:00 2001 From: Thomas Lamprecht Date: Mon, 19 Oct 2015 18:02:46 +0200 Subject: [PATCH] fix lxc config key in get_start_stop_list sub When adding the new LXC config format we forgot to adapt the get_start_stop_list and do s/pve.startup/onboot/ This fixes that qemu VMs were started always before LXC CTs, irregardless of the defined order. This also let's us simplify the surrounding code and reduce code reuse. Signed-off-by: Thomas Lamprecht --- PVE/API2/Nodes.pm | 30 ++++++++++++------------------ 1 file changed, 12 insertions(+), 18 deletions(-) diff --git a/PVE/API2/Nodes.pm b/PVE/API2/Nodes.pm index 4f708e77..8a8a7c1b 100644 --- a/PVE/API2/Nodes.pm +++ b/PVE/API2/Nodes.pm @@ -1145,30 +1145,24 @@ my $get_start_stop_list = sub { my $bootorder = LONG_MAX; + my $conf; if ($d->{type} eq 'lxc') { - my $conf = PVE::LXC::load_config($vmid); - return if $autostart && !$conf->{'onboot'}; - - if ($conf->{'pve.startup'}) { - $startup = PVE::JSONSchema::pve_parse_startup_order($conf->{'startup'}); - $startup->{order} = $bootorder if !defined($startup->{order}); - } else { - $startup = { order => $bootorder }; - } + $conf = PVE::LXC::load_config($vmid); } elsif ($d->{type} eq 'qemu') { - my $conf = PVE::QemuServer::load_config($vmid); - return if $autostart && !$conf->{onboot}; - - if ($conf->{startup}) { - $startup = PVE::JSONSchema::pve_parse_startup_order($conf->{startup}); - $startup->{order} = $bootorder if !defined($startup->{order}); - } else { - $startup = { order => $bootorder }; - } + $conf = PVE::QemuServer::load_config($vmid); } else { die "unknown VM type '$d->{type}'\n"; } + return if $autostart && !$conf->{onboot}; + + if ($conf->{startup}) { + $startup = PVE::JSONSchema::pve_parse_startup_order($conf->{startup}); + $startup->{order} = $bootorder if !defined($startup->{order}); + } else { + $startup = { order => $bootorder }; + } + # skip ha managed VMs (started by pve-ha-manager) return if defined($haconf->{ids}->{"pvevm:$vmid"});