mirror of
https://git.proxmox.com/git/qemu-server
synced 2025-05-01 17:28:24 +00:00
add timeout parameter for stop/shotdown
This commit is contained in:
parent
5fdbe4f023
commit
c6bb9502db
@ -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;
|
||||
};
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user