summaryrefslogtreecommitdiffstats
path: root/nova
diff options
context:
space:
mode:
authorJenkins <jenkins@review.openstack.org>2012-06-27 20:27:26 +0000
committerGerrit Code Review <review@openstack.org>2012-06-27 20:27:26 +0000
commitd704e176fb6cb65d184a5d4a95d87a9d5bb6143f (patch)
tree58f11a4a1a80efb3a47e3de17c23bb3c46a54a10 /nova
parentb77bfdea3294c765dfda44f461aa42ee7c79a703 (diff)
parentd69adf946caeea1202a52fa9229b7c636c12a81d (diff)
Merge "Fix db calls for snaphsot and volume mapping"
Diffstat (limited to 'nova')
-rw-r--r--nova/db/api.py5
-rw-r--r--nova/db/sqlalchemy/api.py26
-rw-r--r--nova/tests/test_db_api.py10
3 files changed, 23 insertions, 18 deletions
diff --git a/nova/db/api.py b/nova/db/api.py
index cbf609e06..dc859f748 100644
--- a/nova/db/api.py
+++ b/nova/db/api.py
@@ -1154,6 +1154,11 @@ def get_snapshot_uuid_by_ec2_id(context, ec2_id):
def get_ec2_snapshot_id_by_uuid(context, snapshot_id):
return IMPL.get_ec2_snapshot_id_by_uuid(context, snapshot_id)
+
+def ec2_snapshot_create(context, snapshot_id, forced_id=None):
+ return IMPL.ec2_snapshot_create(context, snapshot_id, forced_id)
+
+
####################
diff --git a/nova/db/sqlalchemy/api.py b/nova/db/sqlalchemy/api.py
index 26243a0e1..55effd645 100644
--- a/nova/db/sqlalchemy/api.py
+++ b/nova/db/sqlalchemy/api.py
@@ -2949,15 +2949,13 @@ def _volume_get_query(context, session=None, project_only=False):
@require_context
-def _ec2_volume_get_query(context, session=None, project_only=False):
- return model_query(context, models.VolumeIdMapping, session=session,
- project_only=project_only)
+def _ec2_volume_get_query(context, session=None):
+ return model_query(context, models.VolumeIdMapping, session=session)
@require_context
-def _ec2_snapshot_get_query(context, session=None, project_only=False):
- return model_query(context, models.SnapshotIdMapping, session=session,
- project_only=project_only)
+def _ec2_snapshot_get_query(context, session=None):
+ return model_query(context, models.SnapshotIdMapping, session=session)
@require_context
@@ -3046,9 +3044,7 @@ def ec2_volume_create(context, volume_uuid, id=None):
@require_context
def get_ec2_volume_id_by_uuid(context, volume_id, session=None):
- result = _ec2_volume_get_query(context,
- session=session,
- project_only=True).\
+ result = _ec2_volume_get_query(context, session=session).\
filter_by(uuid=volume_id).\
first()
@@ -3060,9 +3056,7 @@ def get_ec2_volume_id_by_uuid(context, volume_id, session=None):
@require_context
def get_volume_uuid_by_ec2_id(context, ec2_id, session=None):
- result = _ec2_volume_get_query(context,
- session=session,
- project_only=True).\
+ result = _ec2_volume_get_query(context, session=session).\
filter_by(id=ec2_id).\
first()
@@ -3087,9 +3081,7 @@ def ec2_snapshot_create(context, snapshot_uuid, id=None):
@require_context
def get_ec2_snapshot_id_by_uuid(context, snapshot_id, session=None):
- result = _ec2_snapshot_get_query(context,
- session=session,
- project_only=True).\
+ result = _ec2_snapshot_get_query(context, session=session).\
filter_by(uuid=snapshot_id).\
first()
@@ -3101,9 +3093,7 @@ def get_ec2_snapshot_id_by_uuid(context, snapshot_id, session=None):
@require_context
def get_snapshot_uuid_by_ec2_id(context, ec2_id, session=None):
- result = _ec2_snapshot_get_query(context,
- session=session,
- project_only=True).\
+ result = _ec2_snapshot_get_query(context, session=session).\
filter_by(id=ec2_id).\
first()
diff --git a/nova/tests/test_db_api.py b/nova/tests/test_db_api.py
index aaddb08a6..8eeaf2e40 100644
--- a/nova/tests/test_db_api.py
+++ b/nova/tests/test_db_api.py
@@ -401,6 +401,16 @@ class DbApiTestCase(test.TestCase):
result = db.fixed_ip_disassociate_all_by_timeout(ctxt, 'bar', now)
self.assertEqual(result, 0)
+ def test_get_vol_mapping_non_admin(self):
+ ref = db.ec2_volume_create(self.context, 'fake-uuid')
+ ec2_id = db.get_ec2_volume_id_by_uuid(self.context, 'fake-uuid')
+ self.assertEqual(ref['id'], ec2_id)
+
+ def test_get_snap_mapping_non_admin(self):
+ ref = db.ec2_snapshot_create(self.context, 'fake-uuid')
+ ec2_id = db.get_ec2_snapshot_id_by_uuid(self.context, 'fake-uuid')
+ self.assertEqual(ref['id'], ec2_id)
+
def _get_fake_aggr_values():
return {'name': 'fake_aggregate',