my $vmid = $param->{vmid};
my $clean = $param->{'clean-shutdown'};
my $guest = $param->{'guest-requested'};
+ my $restart = 0;
# return if we do not have the config anymore
return if !-f PVE::QemuConfig->config_file($vmid);
PVE::QemuServer::vm_stop_cleanup($storecfg, $vmid, $conf, 0, 0);
}
PVE::GuestHelpers::exec_hookscript($conf, $vmid, 'post-stop');
+
+ $restart = eval { PVE::QemuServer::clear_reboot_request($vmid) };
+ warn $@ if $@;
});
warn "Finished cleanup for $vmid\n";
+ if ($restart) {
+ warn "Restarting VM $vmid\n";
+ PVE::API2::Qemu->vm_start({
+ vmid => $vmid,
+ node => $nodename,
+ });
+ }
+
return undef;
}});
die "VM $vmid already running\n" if check_running($vmid, undef, $migratedfrom);
+ # clean up leftover reboot request files
+ eval { clear_reboot_request($vmid); };
+ warn $@ if $@;
+
if (!$statefile && scalar(keys %{$conf->{pending}})) {
vmconfig_apply_pending($vmid, $conf, $storecfg);
$conf = PVE::QemuConfig->load_config($vmid); # update/reload