diff options
| author | Jenkins <jenkins@review.openstack.org> | 2011-11-02 15:44:31 +0000 |
|---|---|---|
| committer | Gerrit Code Review <review@openstack.org> | 2011-11-02 15:44:31 +0000 |
| commit | 830760b4c79cf9cdc80c6e0047ea206abc21f2c6 (patch) | |
| tree | 0ffaadec82817d9cb1fa07637fa7cdb20a92e2c3 /nova/api | |
| parent | d3e0cfcc7f7bc24b4bd551f5b5c0c952f2fd2f3f (diff) | |
| parent | a225fa6acf9ea8689f66b5e415c4680795bac465 (diff) | |
| download | nova-830760b4c79cf9cdc80c6e0047ea206abc21f2c6.tar.gz nova-830760b4c79cf9cdc80c6e0047ea206abc21f2c6.tar.xz nova-830760b4c79cf9cdc80c6e0047ea206abc21f2c6.zip | |
Merge "Too much information is returned from POST /servers"
Diffstat (limited to 'nova/api')
| -rw-r--r-- | nova/api/openstack/contrib/createserverext.py | 10 | ||||
| -rw-r--r-- | nova/api/openstack/servers.py | 8 | ||||
| -rw-r--r-- | nova/api/openstack/views/servers.py | 10 |
3 files changed, 20 insertions, 8 deletions
diff --git a/nova/api/openstack/contrib/createserverext.py b/nova/api/openstack/contrib/createserverext.py index da95164e8..ab5037304 100644 --- a/nova/api/openstack/contrib/createserverext.py +++ b/nova/api/openstack/contrib/createserverext.py @@ -21,10 +21,12 @@ from nova.api.openstack import wsgi class CreateServerController(servers.Controller): - def _build_view(self, req, instance, is_detail=False): - server = super(CreateServerController, self)._build_view(req, - instance, - is_detail) + def _build_view(self, req, instance, is_detail=False, is_create=False): + server = super(CreateServerController, self).\ + _build_view(req, + instance, + is_detail=is_detail, + is_create=is_create) if is_detail: self._build_security_groups(server['server'], instance) return server diff --git a/nova/api/openstack/servers.py b/nova/api/openstack/servers.py index 29160c5ce..8c1eaae9d 100644 --- a/nova/api/openstack/servers.py +++ b/nova/api/openstack/servers.py @@ -497,7 +497,7 @@ class Controller(object): instance['instance_type'] = inst_type instance['image_ref'] = image_href - server = self._build_view(req, instance, is_detail=True) + server = self._build_view(req, instance, is_create=True) if '_is_precooked' in server['server']: del server['server']['_is_precooked'] else: @@ -748,7 +748,7 @@ class Controller(object): return common.get_id_from_href(flavor_ref) - def _build_view(self, req, instance, is_detail=False): + def _build_view(self, req, instance, is_detail=False, is_create=False): context = req.environ['nova.context'] project_id = getattr(context, 'project_id', '') base_url = req.application_url @@ -757,7 +757,9 @@ class Controller(object): addresses_builder = views_addresses.ViewBuilder() builder = views_servers.ViewBuilder(context, addresses_builder, flavor_builder, image_builder, base_url, project_id) - return builder.build(instance, is_detail=is_detail) + return builder.build(instance, + is_detail=is_detail, + is_create=is_create) def _build_list(self, req, instances, is_detail=False): params = req.GET.copy() diff --git a/nova/api/openstack/views/servers.py b/nova/api/openstack/views/servers.py index 288730efe..4a0be46c1 100644 --- a/nova/api/openstack/views/servers.py +++ b/nova/api/openstack/views/servers.py @@ -41,13 +41,15 @@ class ViewBuilder(object): self.base_url = base_url self.project_id = project_id - def build(self, inst, is_detail=False): + def build(self, inst, is_detail=False, is_create=False): """Return a dict that represenst a server.""" if inst.get('_is_precooked', False): server = dict(server=inst) else: if is_detail: server = self._build_detail(inst) + elif is_create: + server = self._build_create(inst) else: server = self._build_simple(inst) @@ -59,6 +61,12 @@ class ViewBuilder(object): """Return a simple model of a server.""" return dict(server=dict(id=inst['uuid'], name=inst['display_name'])) + def _build_create(self, inst): + """Return data that should be returned from a server create.""" + server = dict(server=dict(id=inst['uuid'])) + self._build_links(server['server'], inst) + return server + def _build_detail(self, inst): """Returns a detailed model of a server.""" vm_state = inst.get('vm_state', vm_states.BUILDING) |
