summaryrefslogtreecommitdiffstats
path: root/nova/api
diff options
context:
space:
mode:
authorDan Prince <dan.prince@rackspace.com>2011-05-30 11:29:55 -0400
committerDan Prince <dan.prince@rackspace.com>2011-05-30 11:29:55 -0400
commit2155f2b1ab22c6183ab5266e16a675f1469fca50 (patch)
treee4ceb6bbccb17fcaa4ef9083c8e2077f76a238aa /nova/api
parent833481d796db557dddde6b4b9e75b7cf518b88fa (diff)
Updates so that 'name' can be updated when doing a OS API v1.1 rebuild.
Fixed issue where metadata wasn't getting deleted when an empty dict was POST'd on a rebuild.
Diffstat (limited to 'nova/api')
-rw-r--r--nova/api/openstack/servers.py10
1 files changed, 6 insertions, 4 deletions
diff --git a/nova/api/openstack/servers.py b/nova/api/openstack/servers.py
index 5c10fc916..8e191c232 100644
--- a/nova/api/openstack/servers.py
+++ b/nova/api/openstack/servers.py
@@ -708,14 +708,16 @@ class ControllerV11(Controller):
image_id = common.get_id_from_href(image_ref)
personalities = info["rebuild"].get("personality", [])
- metadata = info["rebuild"].get("metadata", {})
+ metadata = info["rebuild"].get("metadata")
+ name = info["rebuild"].get("name")
- self._validate_metadata(metadata)
+ if metadata:
+ self._validate_metadata(metadata)
self._decode_personalities(personalities)
try:
- self.compute_api.rebuild(context, instance_id, image_id, metadata,
- personalities)
+ self.compute_api.rebuild(context, instance_id, image_id, name,
+ metadata, personalities)
except exception.BuildInProgress:
msg = _("Instance %d is currently being rebuilt.") % instance_id
LOG.debug(msg)