> @@ -135,6 +139,10 @@
> logger.error("Error setting up the guest")
> return status
>
> + # Generally, having a test sleep is a bad choice, but we
> need to
> + # give the guest some time to fully boot before we reboot it
> + sleep(15)
>
You can increase the timeout period in poll_for_state_change().
Did increasing the timeout period for poll_for_state_change() did not
work for you ?
The issue here is a slightly different.. in poll_for_state_change(), we
poll until libvirt reports that the guest is active. However, libvirt
reports that the guest is active once the guest starts the boot process.
So, pool_for_state_change() will stop polling, but the guest may not
have finished the boot sequence.
At that point, we attempt to launch a restart migration - this means
that we attempt initiate a guest shutdown before the guest is even
booted. For a guest shutdown, libvirt sends an ACPI event to the guest,
but if the guest isn't fully booted, it won't be able to detect that event.
So we need to give the OS a chance to boot before asking for a shutdown.
--
Kaitlin Rupert
IBM Linux Technology Center
kaitlin(a)linux.vnet.ibm.com