diff options
| author | Jenkins <jenkins@review.openstack.org> | 2013-03-05 11:01:09 +0000 |
|---|---|---|
| committer | Gerrit Code Review <review@openstack.org> | 2013-03-05 11:01:09 +0000 |
| commit | 899d518aec818bc7609f523baa6bc1dfd45d2ece (patch) | |
| tree | 941a795311dc9f694e953b5493f60b1b2615f96b /nova/compute | |
| parent | b581c63d10207541248c0bec21bc70f0b1bc9c1a (diff) | |
| parent | 4a2c57684c18f90f23263156f952561154751e09 (diff) | |
| download | nova-899d518aec818bc7609f523baa6bc1dfd45d2ece.tar.gz nova-899d518aec818bc7609f523baa6bc1dfd45d2ece.tar.xz nova-899d518aec818bc7609f523baa6bc1dfd45d2ece.zip | |
Merge "Fix an error in compute api snapshot_volume_backed bdm code"
Diffstat (limited to 'nova/compute')
| -rw-r--r-- | nova/compute/api.py | 20 |
1 files changed, 6 insertions, 14 deletions
diff --git a/nova/compute/api.py b/nova/compute/api.py index 393f0a869..415162339 100644 --- a/nova/compute/api.py +++ b/nova/compute/api.py @@ -1592,17 +1592,10 @@ class API(base.Base): mapping = [] for bdm in bdms: - if bdm.no_device: + if bdm['no_device']: continue - m = {} - for attr in ('device_name', 'snapshot_id', 'volume_id', - 'volume_size', 'delete_on_termination', 'no_device', - 'virtual_name'): - val = getattr(bdm, attr) - if val is not None: - m[attr] = val - - volume_id = m.get('volume_id') + + volume_id = bdm.get('volume_id') if volume_id: # create snapshot based on volume_id volume = self.volume_api.get(context, volume_id) @@ -1612,11 +1605,10 @@ class API(base.Base): name = _('snapshot for %s') % image_meta['name'] snapshot = self.volume_api.create_snapshot_force( context, volume, name, volume['display_description']) - m['snapshot_id'] = snapshot['id'] - del m['volume_id'] + bdm['snapshot_id'] = snapshot['id'] + del bdm['volume_id'] - if m: - mapping.append(m) + mapping.append(bdm) for m in block_device.mappings_prepend_dev(properties.get('mappings', [])): |
