I can success reproduce this issue on my environment, the issue can be reproduced by stop and start multiple instance parallelly (in my case is 5 cirros instance)
I have try both PPA, the PPA-2619 fix this issue, stress 7 days and libvirt work fine, but PPA-2620 still hit libvirt crash issue
Below is my test script, the time to hit the issue is about 2 hour ~ 12 hour, libvirt will crash due to memory corruption
vm instance is created by command "openstack server create --image cirros --flavor m1.nano cirrosX", X=1~5
#!/bin/bash
TEST_ROUND=3000
for round in `seq 1 1 $TEST_ROUND`; do
echo "test round $round ..."
for i in `seq 1 1 5`; do
openstack server stop cirros$i &
done
sleep 1
for i in `seq 1 1 5`; do
while true; do STATUS=`openstack server show cirros$i -f value -c OS-EXT-STS:power_state`
if [ "$STATUS" == "Shutdown" ]; then break;
fi sleep 1
done
done
for i in `seq 1 1 5`; do
openstack server start cirros$i &
done
sleep 1
for i in `seq 1 1 5`; do
while true; do STATUS=`openstack server show cirros$i -f value -c OS-EXT-STS:power_state`
if [ "$STATUS" == "Running" ]; then break;
fi sleep 1
done
done
@ChristianEhrhardt:
I can success reproduce this issue on my environment, the issue can be reproduced by stop and start multiple instance parallelly (in my case is 5 cirros instance)
I have try both PPA, the PPA-2619 fix this issue, stress 7 days and libvirt work fine, but PPA-2620 still hit libvirt crash issue
Below is my test script, the time to hit the issue is about 2 hour ~ 12 hour, libvirt will crash due to memory corruption
vm instance is created by command "openstack server create --image cirros --flavor m1.nano cirrosX", X=1~5
#!/bin/bash
TEST_ROUND=3000
for round in `seq 1 1 $TEST_ROUND`; do
echo "test round $round ..."
for i in `seq 1 1 5`; do
openstack server stop cirros$i &
done
sleep 1
for i in `seq 1 1 5`; do
STATUS= `openstack server show cirros$i -f value -c OS-EXT- STS:power_ state`
break;
sleep 1
while true; do
if [ "$STATUS" == "Shutdown" ]; then
fi
done
done
for i in `seq 1 1 5`; do
openstack server start cirros$i &
done
sleep 1
for i in `seq 1 1 5`; do
STATUS= `openstack server show cirros$i -f value -c OS-EXT- STS:power_ state`
break;
sleep 1
while true; do
if [ "$STATUS" == "Running" ]; then
fi
done
done
done