summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJustin Santa Barbara <justin@fathomdb.com>2011-02-18 14:36:01 -0800
committerJustin Santa Barbara <justin@fathomdb.com>2011-02-18 14:36:01 -0800
commitb4c67400324df02480b171b84ba73cfe8a6d044e (patch)
tree0880df23c116bec4aa35d351ca5b391fd1a3388d
parent5dfa5ce7d1374509fea51f8d0b132ea865f34dc6 (diff)
downloadnova-b4c67400324df02480b171b84ba73cfe8a6d044e.tar.gz
nova-b4c67400324df02480b171b84ba73cfe8a6d044e.tar.xz
nova-b4c67400324df02480b171b84ba73cfe8a6d044e.zip
If there are no keypairs, output a useful error message
-rw-r--r--nova/api/openstack/servers.py8
1 files changed, 6 insertions, 2 deletions
diff --git a/nova/api/openstack/servers.py b/nova/api/openstack/servers.py
index 486eca508..ce9601ecb 100644
--- a/nova/api/openstack/servers.py
+++ b/nova/api/openstack/servers.py
@@ -162,8 +162,12 @@ class Controller(wsgi.Controller):
if not env:
return faults.Fault(exc.HTTPUnprocessableEntity())
- key_pair = auth_manager.AuthManager.get_key_pairs(
- req.environ['nova.context'])[0]
+ key_pairs = auth_manager.AuthManager.get_key_pairs(
+ req.environ['nova.context'])
+ if not key_pairs:
+ raise exception.NotFound(_("No keypairs defined"))
+ key_pair = key_pairs[0]
+
image_id = common.get_image_id_from_image_hash(self._image_service,
req.environ['nova.context'], env['server']['imageId'])
kernel_id, ramdisk_id = self._get_kernel_ramdisk_from_image(