|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-devel] [PATCH OSSTEST v2 15/18] libvirt: Implement shutdown_wait
virsh does not include a --wait option to shutdown as xl and xm do, so
we implement it by hand.
Needs new guest_await_destroy helper. Note the guest_await_shutdown
requires on_shutdown='preserve'
Signed-off-by: Ian Campbell <ian.campbell@xxxxxxxxxx>
---
Osstest/TestSupport.pm | 7 ++++++-
Osstest/Toolstack/libvirt.pm | 4 +++-
2 files changed, 9 insertions(+), 2 deletions(-)
diff --git a/Osstest/TestSupport.pm b/Osstest/TestSupport.pm
index 16ab4c6..456cf49 100644
--- a/Osstest/TestSupport.pm
+++ b/Osstest/TestSupport.pm
@@ -93,7 +93,7 @@ BEGIN {
guest_checkrunning guest_check_ip guest_find_ether
guest_find_domid guest_check_up guest_check_up_quick
guest_get_state guest_await_reboot
- guest_await_shutdown guest_destroy
+ guest_await_shutdown guest_await_destroy guest_destroy
guest_vncsnapshot_begin guest_vncsnapshot_stash
guest_check_remus_ok guest_editconfig
host_involves_pcipassthrough host_get_pcipassthrough_devs
@@ -1324,6 +1324,11 @@ sub guest_await_shutdown ($$$) {
return guest_await_state($ho,$gho, "shutdown", "s", $timeout);
}
+sub guest_await_destroy ($$$) {
+ my ($ho,$gho, $timeout) = @_;
+ return guest_await_state($ho,$gho, "destroy", "", $timeout);
+}
+
sub guest_destroy ($$) {
my ($ho,$gho) = @_;
toolstack($ho)->destroy($gho);
diff --git a/Osstest/Toolstack/libvirt.pm b/Osstest/Toolstack/libvirt.pm
index 8982cc1..c18f467 100644
--- a/Osstest/Toolstack/libvirt.pm
+++ b/Osstest/Toolstack/libvirt.pm
@@ -59,8 +59,10 @@ sub consolecmd ($$) {
sub shutdown_wait ($$) {
my ($self,$gho) = @_;
+ my $ho = $self->{Host};
my $gn = $gho->{Name};
- die "libvirt shutdown wait not implemented yet."
+ target_cmd_root($ho, "virsh shutdown $gn", 30);
+ guest_await_destroy($ho,$gho,200);
}
sub migrate_check ($) {
--
2.1.1
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
http://lists.xen.org/xen-devel
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |