commit cafe3d066ef7021c18961d4b239a10f61db23f2d
Author: Matt Riedemann <email address hidden>
Date: Wed Jan 31 19:06:46 2018 -0500
libvirt: fix native luks encryption failure to find volume_id
Not all volume types put a 'volume_id' entry in the
connection_info['data'] dict. This change uses a new
utility method to look up the volume_id in the connection_info
data dict and if not found there, uses the 'serial' value
from the connection_info, which we know at least gets set
when the DriverVolumeBlockDevice code attaches the volume.
This also has to update pre_live_migration since the connection_info
dict doesn't have a 'volume_id' key in it. It's unclear what
this code was expecting, or if it ever really worked, but since
an attached volume represented by a BlockDeviceMapping here has
a volume_id attribute, we can just use that. As that code path
was never tested, this updates related unit tests and refactors
the tests to actually use the type of DriverVolumeBlockDevice
objects that the ComputeManager would be sending down to the
driver pre_live_migration method. The hard-to-read squashed
dicts in the tests are also re-formatted so a human can actually
read them.
Reviewed: https:/ /review. openstack. org/539739 /git.openstack. org/cgit/ openstack/ nova/commit/ ?id=cafe3d066ef 7021c18961d4b23 9a10f61db23f2d
Committed: https:/
Submitter: Zuul
Branch: master
commit cafe3d066ef7021 c18961d4b239a10 f61db23f2d
Author: Matt Riedemann <email address hidden>
Date: Wed Jan 31 19:06:46 2018 -0500
libvirt: fix native luks encryption failure to find volume_id
Not all volume types put a 'volume_id' entry in the info['data' ] dict. This change uses a new ckDevice code attaches the volume.
connection_
utility method to look up the volume_id in the connection_info
data dict and if not found there, uses the 'serial' value
from the connection_info, which we know at least gets set
when the DriverVolumeBlo
This also has to update pre_live_migration since the connection_info ckDevice
dict doesn't have a 'volume_id' key in it. It's unclear what
this code was expecting, or if it ever really worked, but since
an attached volume represented by a BlockDeviceMapping here has
a volume_id attribute, we can just use that. As that code path
was never tested, this updates related unit tests and refactors
the tests to actually use the type of DriverVolumeBlo
objects that the ComputeManager would be sending down to the
driver pre_live_migration method. The hard-to-read squashed
dicts in the tests are also re-formatted so a human can actually
read them.
Change-Id: Ie02d298cd92d5b 5ebcbbcd2b0e8be 01f197bfafb
Closes-Bug: #1746609