diff options
| author | Josh Kearney <josh@jk0.org> | 2011-05-13 09:47:08 -0500 |
|---|---|---|
| committer | Josh Kearney <josh@jk0.org> | 2011-05-13 09:47:08 -0500 |
| commit | a8941345c97cccb9171e3d1e172f607dc8d17e6a (patch) | |
| tree | d3d272d65b3bcb5a5a702f39ff65bd0c078c0732 | |
| parent | 0576766cdf3480ad02159671d2dfc0bdcb154934 (diff) | |
| download | nova-a8941345c97cccb9171e3d1e172f607dc8d17e6a.tar.gz nova-a8941345c97cccb9171e3d1e172f607dc8d17e6a.tar.xz nova-a8941345c97cccb9171e3d1e172f607dc8d17e6a.zip | |
Make set_admin_password non-blocking to API.
| -rw-r--r-- | nova/api/openstack/servers.py | 6 | ||||
| -rw-r--r-- | nova/compute/api.py | 2 |
2 files changed, 5 insertions, 3 deletions
diff --git a/nova/api/openstack/servers.py b/nova/api/openstack/servers.py index 547310613..aaff57b4a 100644 --- a/nova/api/openstack/servers.py +++ b/nova/api/openstack/servers.py @@ -14,6 +14,7 @@ # under the License. import base64 +import eventlet import traceback from webob import exc @@ -175,8 +176,9 @@ class Controller(common.OpenstackController): builder = self._get_view_builder(req) server = builder.build(inst, is_detail=True) server['server']['adminPass'] = password - self.compute_api.set_admin_password(context, server['server']['id'], - password) + # We don't want this to block + eventlet.spawn(self.compute_api.set_admin_password( + context, server['server']['id'], password)) return server def _deserialize_create(self, request): diff --git a/nova/compute/api.py b/nova/compute/api.py index 63884be97..1c28b6a89 100644 --- a/nova/compute/api.py +++ b/nova/compute/api.py @@ -484,7 +484,7 @@ class API(base.Base): def _find_host(self, context, instance_id): """Find the host associated with an instance.""" - for attempts in xrange(10): + for attempts in xrange(30): instance = self.get(context, instance_id) host = instance["host"] if host: |
