summaryrefslogtreecommitdiffstats
path: root/nova/api
diff options
context:
space:
mode:
authorBrian Waldon <brian.waldon@rackspace.com>2011-08-23 17:31:19 -0400
committerBrian Waldon <brian.waldon@rackspace.com>2011-08-23 17:31:19 -0400
commit360dbeebadb76b3628b2cfbd8b3c41e77581b24c (patch)
tree02cb5a32f95f717c880e1abeef5e140e2ed53e46 /nova/api
parente23eb5aa5c9810f68f3818cd1119e4993b99a297 (diff)
downloadnova-360dbeebadb76b3628b2cfbd8b3c41e77581b24c.tar.gz
nova-360dbeebadb76b3628b2cfbd8b3c41e77581b24c.tar.xz
nova-360dbeebadb76b3628b2cfbd8b3c41e77581b24c.zip
rebuilds are functional again
Diffstat (limited to 'nova/api')
-rw-r--r--nova/api/openstack/servers.py14
1 files changed, 10 insertions, 4 deletions
diff --git a/nova/api/openstack/servers.py b/nova/api/openstack/servers.py
index 553357404..fa499b192 100644
--- a/nova/api/openstack/servers.py
+++ b/nova/api/openstack/servers.py
@@ -604,8 +604,10 @@ class ControllerV10(Controller):
LOG.debug(msg)
raise exc.HTTPBadRequest(explanation=msg)
+ password = utils.generate_password(16)
+
try:
- self.compute_api.rebuild(context, instance_id, image_id)
+ self.compute_api.rebuild(context, instance_id, image_id, password)
except exception.BuildInProgress:
msg = _("Instance %s is currently being rebuilt.") % instance_id
LOG.debug(msg)
@@ -741,15 +743,19 @@ class ControllerV11(Controller):
self._validate_metadata(metadata)
self._decode_personalities(personalities)
+ password = info["rebuild"].get("adminPass",
+ utils.generate_password(16))
+
try:
- self.compute_api.rebuild(context, instance_id, image_href, name,
- metadata, personalities)
+ self.compute_api.rebuild(context, instance_id, image_href,
+ password, name=name, metadata=metadata,
+ files_to_inject=personalities)
except exception.BuildInProgress:
msg = _("Instance %s is currently being rebuilt.") % instance_id
LOG.debug(msg)
raise exc.HTTPConflict(explanation=msg)
- return webob.Response(status_int=202)
+ return webob.Response(status_int=202, headers={'x-nova-password':password})
@common.check_snapshots_enabled
def _action_create_image(self, input_dict, req, instance_id):