Some more debugging context based on Gibi's analysis on IRC (quoting Gibi generously):
In "rescue" mode we don't allow detach. And that part works -- i.e.
throws an error as expected. After that the test framework tries to
clean up. It does so by doing the actions in reverse to move back to
the starting state.
So as the server in RESCUE state it unrescues it. And as a volume was
attached to the server before rescue, it tries to detach the volume
after the unrescue. And that detach should remove the volume from the
domain but fails. So, during this detach:
(1) Nova first detaches the volume from the persistent domain that
succeeds
(2) Then nova issue the detach command from the live domain and waits
for the event.
(3) However, the event is not received in 20 seconds so it issues the
command again, which returns the error:
error message: internal error: unable to execute QEMU command 'device_del': Device virtio-disk1 is already in the process of
unplug
(4) Then Nova retries 6 more times, always getting the same error as
above, and then gives up.
Some more debugging context based on Gibi's analysis on IRC (quoting Gibi generously):
In "rescue" mode we don't allow detach. And that part works -- i.e.
throws an error as expected. After that the test framework tries to
clean up. It does so by doing the actions in reverse to move back to
the starting state.
So as the server in RESCUE state it unrescues it. And as a volume was
attached to the server before rescue, it tries to detach the volume
after the unrescue. And that detach should remove the volume from the
domain but fails. So, during this detach:
(1) Nova first detaches the volume from the persistent domain that
succeeds
(2) Then nova issue the detach command from the live domain and waits
for the event.
(3) However, the event is not received in 20 seconds so it issues the
command again, which returns the error:
error message: internal error: unable to execute QEMU command
'device_ del': Device virtio-disk1 is already in the process of
unplug
(4) Then Nova retries 6 more times, always getting the same error as
above, and then gives up.