summaryrefslogtreecommitdiffstats
path: root/nova/db
diff options
context:
space:
mode:
authorChris Behrens <cbehrens@codestud.com>2013-06-03 20:02:21 +0000
committerChris Behrens <cbehrens@codestud.com>2013-06-11 21:47:42 +0000
commit39e8f5bd3bc976603c5a0a2dd4ada3dd6b79258d (patch)
tree9755a3827d0259c9b34c188523bf02c77a51d286 /nova/db
parent9b5e206027149861de86585690bc3d5141ec240e (diff)
downloadnova-39e8f5bd3bc976603c5a0a2dd4ada3dd6b79258d.tar.gz
nova-39e8f5bd3bc976603c5a0a2dd4ada3dd6b79258d.tar.xz
nova-39e8f5bd3bc976603c5a0a2dd4ada3dd6b79258d.zip
Cells: Add support for global cinder
Implements cinder support for compute cells when cinder is a global installation. Adds syncing of the block device mapping table between child cells and API cells. Implements blueprint cells-cinder-support Change-Id: Ife5be9922db0742c8ee4f970517396be86597cce
Diffstat (limited to 'nova/db')
-rw-r--r--nova/db/sqlalchemy/api.py9
1 files changed, 6 insertions, 3 deletions
diff --git a/nova/db/sqlalchemy/api.py b/nova/db/sqlalchemy/api.py
index d27f4e695..ebea0362b 100644
--- a/nova/db/sqlalchemy/api.py
+++ b/nova/db/sqlalchemy/api.py
@@ -3139,15 +3139,16 @@ def block_device_mapping_create(context, values, legacy=True):
bdm_ref = models.BlockDeviceMapping()
bdm_ref.update(values)
bdm_ref.save()
+ return bdm_ref
@require_context
def block_device_mapping_update(context, bdm_id, values, legacy=True):
_scrub_empty_str_values(values, ['volume_size'])
values = _from_legacy_values(values, legacy, allow_updates=True)
- _block_device_mapping_get_query(context).\
- filter_by(id=bdm_id).\
- update(values)
+ query = _block_device_mapping_get_query(context).filter_by(id=bdm_id)
+ query.update(values)
+ return query.first()
def block_device_mapping_update_or_create(context, values, legacy=True):
@@ -3163,6 +3164,7 @@ def block_device_mapping_update_or_create(context, values, legacy=True):
bdm_ref = models.BlockDeviceMapping()
bdm_ref.update(values)
bdm_ref.save(session=session)
+ result = bdm_ref
else:
values = _from_legacy_values(values, legacy, allow_updates=True)
result.update(values)
@@ -3185,6 +3187,7 @@ def block_device_mapping_update_or_create(context, values, legacy=True):
models.BlockDeviceMapping.guest_format == None,
models.BlockDeviceMapping.guest_format != 'swap')).
soft_delete())
+ return result
@require_context