]> review.fuel-infra Code Review - openstack-build/cinder-build.git/commit
Add support for encrypted volumes
authorJoel Coffman <joel.coffman@jhuapl.edu>
Wed, 14 Aug 2013 14:00:15 +0000 (10:00 -0400)
committerJoel Coffman <joel.coffman@jhuapl.edu>
Wed, 14 Aug 2013 14:00:15 +0000 (10:00 -0400)
commit122d4e0865c8d3b3ae73f051e8e246706e59f7b9
treee2b40169ecc3059643f37187ef638d116ec27b04
parentc458e8a780619edde09d23c93bfcf33259647806
Add support for encrypted volumes

This modification adds an encryption key UUID field to the volume
table, which is sufficient to make Cinder "aware" of encrypted volumes
as designated by predefined volume types. Integration with a key
manager is necessary to obtain an actual encryption key UUID (the
current implementation generates a random UUID when an encrypted
volumes is created). Cinder should *not* presume that it necessarily
will have access to the key itself -- this decision depends upon the
design, implementation, and policy for encrypted volumes. The key's
UUID is stored in Cinder because it is metadata about the volume.

Implements: blueprint encrypt-cinder-volumes
Change-Id: I164290e761a9922919a70f22f99af70dac213b61
SecurityImpact
30 files changed:
cinder/api/contrib/volume_encryption_metadata.py [new file with mode: 0644]
cinder/api/contrib/volume_type_encryption.py [new file with mode: 0644]
cinder/db/api.py
cinder/db/sqlalchemy/api.py
cinder/db/sqlalchemy/migrate_repo/versions/017_add_encryption_information.py [new file with mode: 0644]
cinder/db/sqlalchemy/models.py
cinder/exception.py
cinder/keymgr/__init__.py
cinder/keymgr/key_mgr.py
cinder/keymgr/not_implemented_key_mgr.py [new file with mode: 0644]
cinder/tests/api/contrib/test_quotas.py
cinder/tests/api/contrib/test_volume_encryption_metadata.py [new file with mode: 0644]
cinder/tests/api/contrib/test_volume_type_encryption.py [new file with mode: 0644]
cinder/tests/api/v1/test_snapshot_metadata.py
cinder/tests/api/v2/test_snapshot_metadata.py
cinder/tests/keymgr/fake.py [new file with mode: 0644]
cinder/tests/keymgr/mock_key_mgr.py
cinder/tests/keymgr/test_mock_key_mgr.py
cinder/tests/keymgr/test_not_implemented_key_mgr.py [new file with mode: 0644]
cinder/tests/policy.json
cinder/tests/test_db_api.py
cinder/tests/test_migrations.py
cinder/tests/test_quota.py
cinder/tests/test_volume.py
cinder/tests/test_volume_types.py
cinder/volume/api.py
cinder/volume/driver.py
cinder/volume/flows/create_volume.py
cinder/volume/volume_types.py
etc/cinder/policy.json