[PATCH 3/4] libvirt-guests: Check if URI is reachable before launching commands

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



This patch adds a check to the libvirt-guests script to check for the
URI to be alive before attempting any calls. This avoids nasty error
messages and allows us to fail gracefuly and continue on other URIs
configured in the script.
---
 tools/libvirt-guests.init.sh |   24 +++++++++++++++++++-----
 1 files changed, 19 insertions(+), 5 deletions(-)

diff --git a/tools/libvirt-guests.init.sh b/tools/libvirt-guests.init.sh
index 21a7d31..47914e3 100644
--- a/tools/libvirt-guests.init.sh
+++ b/tools/libvirt-guests.init.sh
@@ -88,6 +88,20 @@ run_virsh_c() {
     ( export LC_ALL=C; run_virsh "$@" )
 }

+# test_connect URI
+# check if URI is reachable
+test_connect()
+{
+    uri=$1
+
+    run_virsh "$uri" connect 2>/dev/null
+    if [ $? -ne 0 ]; then
+        eval_gettext "Can't connect to \$uri. Skipping."
+        echo
+        return 1
+    fi
+}
+
 # list_guests URI PERSISTENT
 # List running guests on URI.
 # PERSISTENT argument options:
@@ -172,6 +186,8 @@ start() {
             continue
         fi

+        test_connect "$uri" || continue
+
         eval_gettext "Resuming guests on \$uri URI..."; echo
         for guest in $list; do
             name=$(guest_name "$uri" "$guest")
@@ -278,12 +294,10 @@ stop() {
     set -f
     for uri in $URIS; do
         set +f
-        eval_gettext "Running guests on \$uri URI: "

-        if [ "x$uri" = xdefault ] && [ ! -x "$libvirtd" ]; then
-            gettext "libvirtd not installed; skipping this URI."; echo
-            continue
-        fi
+        test_connect "$uri" || continue
+
+        eval_gettext "Running guests on \$uri URI: "

         list=$(list_guests "$uri")
         if [ $? -eq 0 ]; then
-- 
1.7.3.4

--
libvir-list mailing list
libvir-list@xxxxxxxxxx
https://www.redhat.com/mailman/listinfo/libvir-list


[Index of Archives]     [Virt Tools]     [Libvirt Users]     [Lib OS Info]     [Fedora Users]     [Fedora Desktop]     [Fedora SELinux]     [Big List of Linux Books]     [Yosemite News]     [KDE Users]     [Fedora Tools]