mirror of
https://git.proxmox.com/git/qemu-server
synced 2025-05-01 18:53:07 +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'),
|
node => get_standard_option('pve-node'),
|
||||||
vmid => get_standard_option('pve-vmid'),
|
vmid => get_standard_option('pve-vmid'),
|
||||||
skiplock => get_standard_option('skiplock'),
|
skiplock => get_standard_option('skiplock'),
|
||||||
|
timeout => {
|
||||||
|
description => "Wait maximal timeout seconds.",
|
||||||
|
type => 'integer',
|
||||||
|
minimum => 0,
|
||||||
|
optional => 1,
|
||||||
|
}
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
returns => {
|
returns => {
|
||||||
@ -831,6 +837,21 @@ __PACKAGE__->register_method({
|
|||||||
|
|
||||||
PVE::QemuServer::vm_stop($vmid, $skiplock);
|
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;
|
return;
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -896,6 +917,12 @@ __PACKAGE__->register_method({
|
|||||||
node => get_standard_option('pve-node'),
|
node => get_standard_option('pve-node'),
|
||||||
vmid => get_standard_option('pve-vmid'),
|
vmid => get_standard_option('pve-vmid'),
|
||||||
skiplock => get_standard_option('skiplock'),
|
skiplock => get_standard_option('skiplock'),
|
||||||
|
timeout => {
|
||||||
|
description => "Wait maximal timeout seconds.",
|
||||||
|
type => 'integer',
|
||||||
|
minimum => 0,
|
||||||
|
optional => 1,
|
||||||
|
}
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
returns => {
|
returns => {
|
||||||
@ -923,6 +950,21 @@ __PACKAGE__->register_method({
|
|||||||
|
|
||||||
PVE::QemuServer::vm_shutdown($vmid, $skiplock);
|
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;
|
return;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user