yahoo-eng-team team mailing list archive
-
yahoo-eng-team team
-
Mailing list archive
-
Message #43583
[Bug 1374508] Re: Mismatch happens between BDM and domain XML If instance does not respond to ACPI hotplug during detach/attach.
Reviewed: https://review.openstack.org/227851
Committed: https://git.openstack.org/cgit/openstack/nova/commit/?id=3a3fb3cfb2c41ad182545e47649ff12a4f3a743e
Submitter: Jenkins
Branch: master
commit 3a3fb3cfb2c41ad182545e47649ff12a4f3a743e
Author: Ryan McNair <rdmcnair@xxxxxxxxxx>
Date: Thu Sep 24 22:20:23 2015 +0000
Add retry logic for detaching device using LibVirt
Add retry logic for removing a disk device from the LibVirt
guest domain XML. This is needed because immediately after a guest
reboot, libvirtmod.virDomainDetachDeviceFlags() will silently fail
to remove the mapping from the guest domain. The async retry
behavior is done in Guest and is generic so it can be re-used by any other
detaches which hit this same race condition.
Change-Id: I983f80822a5c210929f33e1aa348a0fef91e890b
Closes-Bug: #1374508
** Changed in: nova
Status: In Progress => Fix Released
--
You received this bug notification because you are a member of Yahoo!
Engineering Team, which is subscribed to OpenStack Compute (nova).
https://bugs.launchpad.net/bugs/1374508
Title:
Mismatch happens between BDM and domain XML If instance does not
respond to ACPI hotplug during detach/attach.
Status in OpenStack Compute (nova):
Fix Released
Bug description:
tempest.api.compute.servers.test_server_rescue_negative:ServerRescueNegativeTestJSON.test_rescued_vm_detach_volume
This test passes however it fails to properly cleanup after itself -
the detach completes but without running the necessary iscsiadm
commands.
In nova.virt.libvirt.volume.LibvirtISCSIVolumeDriver.disconnect_volume
the list returned by self.connection._get_all_block_devices includes
the host_device which means that self._disconnect_from_iscsi_portal is
never run.
You can see evidence of this in /etc/iscsi/nodes as well as errors logged in /var/log/syslog
I'm guessing there is a race between the unrescue and the detach
within libvirt. In
nova.virt.libvirt.driver.LibvirtDriver.detach_volume if I put in a
sleep before virt_dom.detachDeviceFlags(xml, flags) the detach appears
to work properly however if I sleep after that line it does not appear
to have any effect.
To manage notifications about this bug go to:
https://bugs.launchpad.net/nova/+bug/1374508/+subscriptions
References