summaryrefslogtreecommitdiffstats
path: root/nova/api
diff options
context:
space:
mode:
authorMark Washenberger <mark.washenberger@rackspace.com>2011-04-05 15:55:49 -0400
committerMark Washenberger <mark.washenberger@rackspace.com>2011-04-05 15:55:49 -0400
commit2468743697faf81851bef1cafba95337dbd57153 (patch)
treecc969e8135e83c0979c76276382aa6b1fe6c5c73 /nova/api
parenta7a1f4dfda3751bb1f0f5c875e0799f1905259bd (diff)
add support for specifying adminPass for JSON only in openstack api 1.1
Diffstat (limited to 'nova/api')
-rw-r--r--nova/api/openstack/servers.py11
1 files changed, 10 insertions, 1 deletions
diff --git a/nova/api/openstack/servers.py b/nova/api/openstack/servers.py
index 6704a68ae..c19b53b5e 100644
--- a/nova/api/openstack/servers.py
+++ b/nova/api/openstack/servers.py
@@ -180,7 +180,7 @@ class Controller(wsgi.Controller):
builder = self._get_view_builder(req)
server = builder.build(inst, is_detail=True)
- password = utils.generate_password(16)
+ password = self._get_admin_password_from_request_server(env['server'])
server['server']['adminPass'] = password
self.compute_api.set_admin_password(context, server['server']['id'],
password)
@@ -242,6 +242,9 @@ class Controller(wsgi.Controller):
# if the original error is okay, just reraise it
raise error
+ def _get_admin_password_from_request_server(self, server):
+ return utils.generate_password(16)
+
@scheduler_api.redirect_handler
def update(self, req, id):
""" Updates the server name or password """
@@ -648,6 +651,12 @@ class ControllerV11(Controller):
def _limit_items(self, items, req):
return common.limited_by_marker(items, req)
+ def _get_admin_password_from_request_server(self, server):
+ password = server.get('adminPass')
+ if password:
+ return password
+ return utils.generate_password(16)
+
class ServerCreateRequestXMLDeserializer(object):
"""