diff options
Diffstat (limited to 'nova/api')
| -rw-r--r-- | nova/api/openstack/servers.py | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/nova/api/openstack/servers.py b/nova/api/openstack/servers.py index 0ef246852..9152d92bf 100644 --- a/nova/api/openstack/servers.py +++ b/nova/api/openstack/servers.py @@ -151,6 +151,7 @@ class Controller(object): def create(self, req, body): """ Creates a new server for a given user """ + if 'server' in body: body['server']['key_name'] = self._get_key_name(req, body) @@ -656,7 +657,11 @@ class ControllerV11(Controller): def _get_key_name(self, req, body): if 'server' in body: - return body['server'].get('key_name') + try: + return body['server'].get('key_name') + except AttributeError: + msg = _("Malformed server entity") + raise exc.HTTPBadRequest(explanation=msg) def _image_ref_from_req_data(self, data): try: |
