add timeout parameter for stop/shotdown

This commit is contained in:
Dietmar Maurer 2011-10-11 11:58:34 +02:00
parent 5fdbe4f023
commit c6bb9502db

View File

@ -804,6 +804,12 @@ __PACKAGE__->register_method({
node => get_standard_option('pve-node'),
vmid => get_standard_option('pve-vmid'),
skiplock => get_standard_option('skiplock'),
timeout => {
description => "Wait maximal timeout seconds.",
type => 'integer',
minimum => 0,
optional => 1,
}
},
},
returns => {
@ -831,6 +837,21 @@ __PACKAGE__->register_method({
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);
}
return;
};
@ -896,6 +917,12 @@ __PACKAGE__->register_method({
node => get_standard_option('pve-node'),
vmid => get_standard_option('pve-vmid'),
skiplock => get_standard_option('skiplock'),
timeout => {
description => "Wait maximal timeout seconds.",
type => 'integer',
minimum => 0,
optional => 1,
}
},
},
returns => {
@ -923,6 +950,21 @@ __PACKAGE__->register_method({
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);
}
return;
};