d59e41fb3c
A new microversion 3.70 adds the ability to transfer a volume's encryption key when transferring a volume to another project. When the volume transfer is initiated, the volume's encryption secret is essentially transferred to the cinder service. - The cinder service creates a new encryption_key_id that contains a copy of the volume's encryption secret. - The volume (and its snapshots) is updated with the new encryption_key_id (the one owned by the cinder service). - The volume's original encryption_key_id (owned by the volume's owner) is deleted. When the transfer is accepted, the secret is transferred to the user accepting the transfer. - A new encryption_key_id is generated on behalf of the new user that contains a copy of the volume's encryption secret. - The volume (and its snapshots) is updated with the new encryption_key_id (the one owned by the user). - The intermediate encryption_key_id owned by the cinder service is deleted. When a transfer is cancelled (deleted), the same process is used to transfer ownship back to the user that cancelled the transfer. Implements: blueprint transfer-encrypted-volume Change-Id: I459f06504e90025c9c0b539981d3d56a2a9394c7
46 lines
1.3 KiB
Plaintext
46 lines
1.3 KiB
Plaintext
cinder/api/api_utils.py
|
|
cinder/api/common.py
|
|
cinder/api/v3/types.py
|
|
cinder/backup/api.py
|
|
cinder/backup/manager.py
|
|
cinder/backup/drivers/ceph.py
|
|
cinder/common/constants.py
|
|
cinder/context.py
|
|
cinder/coordination.py
|
|
cinder/i18n.py
|
|
cinder/image/cache.py
|
|
cinder/image/glance.py
|
|
cinder/image/image_utils.py
|
|
cinder/keymgr/transfer.py
|
|
cinder/exception.py
|
|
cinder/manager.py
|
|
cinder/objects/backup.py
|
|
cinder/policy.py
|
|
cinder/scheduler/base_handler.py
|
|
cinder/scheduler/base_weight.py
|
|
cinder/scheduler/evaluator/evaluator.py
|
|
cinder/scheduler/filter_scheduler.py
|
|
cinder/scheduler/flows/create_volume.py
|
|
cinder/scheduler/host_manager.py
|
|
cinder/scheduler/manager.py
|
|
cinder/scheduler/rpcapi.py
|
|
cinder/scheduler/scheduler_options.py
|
|
cinder/scheduler/weights/__init__.py
|
|
cinder/scheduler/weights/capacity.py
|
|
cinder/scheduler/weights/chance.py
|
|
cinder/scheduler/weights/goodness.py
|
|
cinder/scheduler/weights/stochastic.py
|
|
cinder/scheduler/weights/volume_number.py
|
|
cinder/service.py
|
|
cinder/utils.py
|
|
cinder/volume/__init__.py
|
|
cinder/volume/api.py
|
|
cinder/volume/drivers/rbd.py
|
|
cinder/volume/drivers/remotefs.py
|
|
cinder/volume/flows/api/create_volume.py
|
|
cinder/volume/flows/manager/create_volume.py
|
|
cinder/volume/manager.py
|
|
cinder/volume/rpcapi.py
|
|
cinder/volume/volume_types.py
|
|
cinder/volume/volume_utils.py
|