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.campb...@citrix.com>
Acked-by: Ian Jackson <ian.jack...@eu.citrix.com>
---
v3: Drop $ho parameter frm guest_await_destroy, for consistency with
    changes to guest_destroy.
---
 Osstest/TestSupport.pm       | 8 +++++++-
 Osstest/Toolstack/libvirt.pm | 4 +++-
 2 files changed, 10 insertions(+), 2 deletions(-)

diff --git a/Osstest/TestSupport.pm b/Osstest/TestSupport.pm
index 5c753b4..427ead4 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
@@ -1331,6 +1331,12 @@ sub guest_destroy ($) {
     toolstack($ho)->destroy($gho);
 }
 
+sub guest_await_destroy ($$) {
+    my ($gho, $timeout) = @_;
+    my $ho = $gho->{Host};
+    return guest_await_state($ho,$gho, "destroy", "", $timeout);
+}
+
 sub guest_create ($) {
     my ($gho) = @_;
     my $ho = $gho->{Host};
diff --git a/Osstest/Toolstack/libvirt.pm b/Osstest/Toolstack/libvirt.pm
index 471b42e..28c5cb1 100644
--- a/Osstest/Toolstack/libvirt.pm
+++ b/Osstest/Toolstack/libvirt.pm
@@ -59,8 +59,10 @@ sub consolecmd ($$) {
 
 sub shutdown_wait ($$$) {
     my ($self,$gho,$timeout) = @_;
+    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($gho,$timeout);
 }
 
 sub migrate_check ($) {
-- 
2.1.4


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

Reply via email to