On Mon, Mar 19, 2018 at 12:44:31PM +0100, Christian Ehrhardt wrote:
libvirt-guests.sh when run with more active guests than requested to
shut down in parallel will run until it times out only shutting down
the first set of guests.

This patch fixes parallel shutdown by fixing a variable scope issue
where check_guests_shutdown unintentionally reset $guests which
prevented further progress.

Fixes: https://bugs.launchpad.net/ubuntu/+source/libvirt/+bug/1688508

Signed-off-by: Christian Ehrhardt <christian.ehrha...@canonical.com>
---
tools/libvirt-guests.sh.in | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/tools/libvirt-guests.sh.in b/tools/libvirt-guests.sh.in
index d5e68e5..fcada31 100644
--- a/tools/libvirt-guests.sh.in
+++ b/tools/libvirt-guests.sh.in
@@ -333,11 +333,11 @@ guest_count()
check_guests_shutdown()
{
    uri=$1
-    guests=$2
+    guests_to_check=$2

    guests_shutting_down=
    for guest in $guests; do
-        if ! guest_is_on "$uri" "$guest" >/dev/null 2>&1; then
+        if ! guest_is_on "$uri" "$guests_to_check" >/dev/null 2>&1; then
            eval_gettext "Failed to determine state of guest: \$guest. Not tracking 
it anymore."

So I wanted to also send a patch for this                        ^^^^^^
to be adjusted and realized it's not needed as that's a different
variable.

However, I also realized we're not using 'local' anywhere.  We should
probably do that (maybe instead of renames in the future), so I'll add
it to the BiteSizedTasks, I got to the half of the file and found out it
can't be done with a regexp replace =)

            echo
            continue
--
2.7.4

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

Attachment: signature.asc
Description: Digital signature

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

Reply via email to