nova/nova/compute
Lee Yarwood 5b64a19361 libvirt: Block swap volume attempts with encrypted volumes prior to Queens
Prior to Queens any attempt to swap between encrypted volumes would
result in unencrypted data being written to the new volume. This
unencrypted data would then be overwritten the next time the volume was
attached to an instance as Nova no longer identified the volume as
encrypted, resulting in the volume being reformatted.

This stable only change uses limited parts of the following changes to
block all swap_volume attempts with encrypted volumes prior to Queens
where this was resolved by Ica323b87fa85a454fca9d46ada3677f18 and also
blocked when using QEMU to decrypt LUKS volumes by
Ibfa64f18bbd2fb70db7791330ed1a64fe61c1.

Ica323b87fa85a454fca9d46ada3677f18fe50022

The request context is provided to swap_volume in order to look up the
encryption metadata of a volume.

Ibfa64f18bbd2fb70db7791330ed1a64fe61c1355

Attempts to swap from an encrypted volume are blocked with a
NotImplementedError exception raised.

I258127fdcd011ccec721d5ff62eb7f128f130336

Attempts to swap from an unencrypted volume to an encrypted volume are
also blocked with a NotImplementedError exception raised.

Ie02d298cd92d5b5ebcbbcd2b0e8be01f197bfafb

The serial of a volume is used as the id if connection_info for the
volume doesn't contain the volume_id key. Required to avoid bug #1746609.

Closes-bug: #1739593
Change-Id: If12e7860baad2899380f06144a0270784a5466b8
2018-04-17 14:29:43 +00:00
..
monitors Remove translation of log messages 2017-06-09 09:06:16 +00:00
__init__.py Switch to using oslo_* instead of oslo.* 2015-02-06 06:03:10 -05:00
api.py Merge "unquiesce instance on volume snapshot failure" into stable/pike 2018-03-30 17:46:45 +00:00
build_results.py Compute Add build_instance hook in compute manager 2014-12-04 10:12:00 -05:00
cells_api.py Remove check_detach 2017-07-20 22:32:52 +02:00
claims.py Remove translation of log messages 2017-06-09 09:06:16 +00:00
flavors.py Merge "Replace flavors.get_all_flavors_sorted_list() with object call" 2016-10-18 12:13:09 +00:00
instance_actions.py Add ability to signal and perform online volume size change 2017-07-12 11:53:20 -04:00
manager.py libvirt: Block swap volume attempts with encrypted volumes prior to Queens 2018-04-17 14:29:43 +00:00
power_state.py Removed enum duplication from nova.compute 2016-09-02 07:30:44 +00:00
provider_tree.py placement: adds ProviderTree for nested resources 2017-06-26 11:33:38 +01:00
resource_tracker.py Merge "Re-use existing ComputeNode on ironic rebalance" into stable/pike 2018-03-30 17:46:27 +00:00
rpcapi.py conf: remove *_topic config opts 2017-07-17 21:27:02 -07:00
stats.py Address nits in I83a5f06ad 2016-03-09 13:19:59 +00:00
task_states.py Removed enum duplication from nova.compute 2016-09-02 07:30:44 +00:00
utils.py Handle deleted instances when refreshing the info_cache 2017-09-21 13:51:25 +00:00
vm_states.py Removed enum duplication from nova.compute 2016-09-02 07:30:44 +00:00