"nova evacuate" always fails if an instance has one or more iSCSI multipath cinder-volumes
Issue
-
"nova evacuate" always fails if an instance has one or more iSCSI multipath cinder-volumes.
Sample log is below
File "/usr/lib/python2.7/site-packages/nova/compute/manager.py", line 6391, in _error_out_instance_on_exception yield File "/usr/lib/python2.7/site-packages/nova/compute/manager.py", line 2700, in rebuild_instance bdms, recreate, on_shared_storage, preserve_ephemeral) File "/usr/lib/python2.7/site-packages/nova/compute/manager.py", line 2739, in _do_rebuild_instance_with_claim self._do_rebuild_instance(*args, **kwargs) File "/usr/lib/python2.7/site-packages/nova/compute/manager.py", line 2847, in _do_rebuild_instance self._rebuild_default_impl(**kwargs) File "/usr/lib/python2.7/site-packages/nova/compute/manager.py", line 2600, in _rebuild_default_impl detach_block_devices(context, bdms) File "/usr/lib/python2.7/site-packages/nova/compute/manager.py", line 2824, in detach_block_devices destroy_bdm=False) File "/usr/lib/python2.7/site-packages/nova/compute/manager.py", line 4734, in _detach_volume connection_info = self._driver_detach_volume(context, instance, bdm) File "/usr/lib/python2.7/site-packages/nova/compute/manager.py", line 4687, in _driver_detach_volume self.volume_api.roll_detaching(context, volume_id) File "/usr/lib/python2.7/site-packages/oslo_utils/excutils.py", line 204, in __exit__ six.reraise(self.type_, self.value, self.tb) File "/usr/lib/python2.7/site-packages/nova/compute/manager.py", line 4675, in _driver_detach_volume encryption=encryption) File "/usr/lib/python2.7/site-packages/nova/virt/libvirt/driver.py", line 1272, in detach_volume self._disconnect_volume(connection_info, disk_dev) File "/usr/lib/python2.7/site-packages/nova/virt/libvirt/driver.py", line 1069, in _disconnect_volume driver.disconnect_volume(connection_info, disk_dev) File "/usr/lib/python2.7/site-packages/nova/virt/libvirt/volume/iscsi.py", line 93, in disconnect_volume self.connector.disconnect_volume(connection_info['data'], None) File "/usr/lib/python2.7/site-packages/oslo_concurrency/lockutils.py", line 254, in inner return f(*args, **kwargs) File "/usr/lib/python2.7/site-packages/os_brick/initiator/connector.py", line 565, in disconnect_volume raise exception.VolumeDeviceNotFound(device=host_devices)
Environment
- Red Hat Openstack Platform (RHOSP) 7 and earlier
- Red Hat Openstack Platform (RHOSP) 8 prior to openstack-nova-12.0.4-7.el7ost
- openstack-nova
- Any cinder backend
Subscriber exclusive content
A Red Hat subscription provides unlimited access to our knowledgebase, tools, and much more.