diff options
| author | Mark Washenberger <mark.washenberger@rackspace.com> | 2011-04-05 15:55:49 -0400 |
|---|---|---|
| committer | Mark Washenberger <mark.washenberger@rackspace.com> | 2011-04-05 15:55:49 -0400 |
| commit | 2468743697faf81851bef1cafba95337dbd57153 (patch) | |
| tree | cc969e8135e83c0979c76276382aa6b1fe6c5c73 /nova/api | |
| parent | a7a1f4dfda3751bb1f0f5c875e0799f1905259bd (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.py | 11 |
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): """ |
