my $storecfg = PVE::Storage::config();
my $realcmd = sub {
+ my $upid = shift;
+
+ syslog('info', "destroy VM $vmid: $upid\n");
+
PVE::QemuServer::vm_destroy($storecfg, $vmid, $skiplock);
};
# test if VM exists
my $conf = PVE::QemuServer::load_config($param->{vmid});
- my $vmstatus = PVE::QemuServer::vmstatus($param->{vmid});
+ my $vmstatus = PVE::QemuServer::vmstatus($param->{vmid});
return $vmstatus->{$param->{vmid}};
}});
raise_param_exc({ skiplock => "Only root may use this option." })
if $skiplock && $user ne 'root@pam';
+ die "VM $vmid already running\n" if PVE::QemuServer::check_running($vmid);
+
my $storecfg = PVE::Storage::config();
my $realcmd = sub {
raise_param_exc({ skiplock => "Only root may use this option." })
if $skiplock && $user ne 'root@pam';
+ die "VM $vmid not running\n" if !PVE::QemuServer::check_running($vmid);
+
+ my $storecfg = PVE::Storage::config();
+
my $realcmd = sub {
my $upid = shift;
syslog('info', "stop VM $vmid: $upid\n");
- PVE::QemuServer::vm_stop($vmid, $skiplock);
-
- my $pid = PVE::QemuServer::check_running ($vmid);
-
- if ($pid && $param->{timeout}) {
- print "waiting until VM $vmid stopps (PID $pid)\n";
-
- my $count = 0;
- while (($count < $param->{timeout}) &&
- PVE::QemuServer::check_running($vmid)) {
- $count++;
- sleep 1;
- }
-
- die "wait failed - got timeout\n" if PVE::QemuServer::check_running($vmid);
- }
+ PVE::QemuServer::vm_stop($storecfg, $vmid, $skiplock, 0, $param->{timeout});
return;
};
raise_param_exc({ skiplock => "Only root may use this option." })
if $skiplock && $user ne 'root@pam';
+ die "VM $vmid not running\n" if !PVE::QemuServer::check_running($vmid);
+
my $realcmd = sub {
my $upid = shift;
- syslog('info', "reset VM $vmid: $upid\n");
-
PVE::QemuServer::vm_reset($vmid, $skiplock);
return;
raise_param_exc({ skiplock => "Only root may use this option." })
if $skiplock && $user ne 'root@pam';
+ die "VM $vmid not running\n" if !PVE::QemuServer::check_running($vmid);
+
my $realcmd = sub {
my $upid = shift;
syslog('info', "shutdown VM $vmid: $upid\n");
- PVE::QemuServer::vm_shutdown($vmid, $skiplock);
-
- my $pid = PVE::QemuServer::check_running ($vmid);
-
- if ($pid && $param->{timeout}) {
- print "waiting until VM $vmid stopps (PID $pid)\n";
-
- my $count = 0;
- while (($count < $param->{timeout}) &&
- PVE::QemuServer::check_running($vmid)) {
- $count++;
- sleep 1;
- }
-
- die "wait failed - got timeout\n" if PVE::QemuServer::check_running($vmid);
- }
+ PVE::QemuServer::vm_shutdown($vmid, $skiplock, $param->{timeout});
return;
};
raise_param_exc({ skiplock => "Only root may use this option." })
if $skiplock && $user ne 'root@pam';
+ die "VM $vmid not running\n" if !PVE::QemuServer::check_running($vmid);
+
my $realcmd = sub {
my $upid = shift;
raise_param_exc({ skiplock => "Only root may use this option." })
if $skiplock && $user ne 'root@pam';
+ die "VM $vmid already running\n" if PVE::QemuServer::check_running($vmid);
+
my $realcmd = sub {
my $upid = shift;