another way to reproduce this is to start new instances quickly (e.g. create back to back), and then restart libvirt-bin.
and sometimes, just start new instances quickly (w/o restart libvirt-bin)
for example, for host X, if the sleep are commented out, it will normally crash libvirt if this is run to try and rescue the old instances. if the sleep is present it will normally not crash.
#!/bin/bash
host=$1
j=0
for i in $(nova list --host $host --all-tenants | awk '/Shutdown/ {print $2}')
do
j=$((j+1))
if [ $j -eq 5 ]
then
echo "Wait a bit..."
# sleep 30
j=0
fi
echo "Rescue $i"
nova reboot --hard $i
# sleep 5
done
another way to reproduce this is to start new instances quickly (e.g. create back to back), and then restart libvirt-bin.
and sometimes, just start new instances quickly (w/o restart libvirt-bin)
for example, for host X, if the sleep are commented out, it will normally crash libvirt if this is run to try and rescue the old instances. if the sleep is present it will normally not crash.
#!/bin/bash
host=$1
j=0
for i in $(nova list --host $host --all-tenants | awk '/Shutdown/ {print $2}')
do
j=$((j+1))
if [ $j -eq 5 ]
then
echo "Wait a bit..."
# sleep 30
j=0
fi
echo "Rescue $i"
nova reboot --hard $i
# sleep 5
done