summaryrefslogtreecommitdiffstats
path: root/nova/api
diff options
context:
space:
mode:
authorJesse Andrews <anotherjesse@gmail.com>2011-08-26 17:46:47 -0700
committerJesse Andrews <anotherjesse@gmail.com>2011-08-26 17:46:47 -0700
commit19cb3672f2849fe659173631f7f81ed489f1ea7e (patch)
treeb81551c4432a5f8c82d0f5e1b3b51f7771d57887 /nova/api
parent4389153161827166dac3acb02d3e7c6d07170714 (diff)
v1.0 of server create injects first users keypair
Diffstat (limited to 'nova/api')
-rw-r--r--nova/api/openstack/create_instance_helper.py1
-rw-r--r--nova/api/openstack/servers.py13
2 files changed, 13 insertions, 1 deletions
diff --git a/nova/api/openstack/create_instance_helper.py b/nova/api/openstack/create_instance_helper.py
index e7428bf41..d82cb534f 100644
--- a/nova/api/openstack/create_instance_helper.py
+++ b/nova/api/openstack/create_instance_helper.py
@@ -19,7 +19,6 @@ import base64
from webob import exc
from xml.dom import minidom
-from nova import db
from nova import exception
from nova import flags
from nova import log as logging
diff --git a/nova/api/openstack/servers.py b/nova/api/openstack/servers.py
index ad563b771..f288f2228 100644
--- a/nova/api/openstack/servers.py
+++ b/nova/api/openstack/servers.py
@@ -22,6 +22,7 @@ from xml.dom import minidom
import webob
from nova import compute
+from nova import db
from nova import exception
from nova import flags
from nova import log as logging
@@ -563,6 +564,18 @@ class ControllerV10(Controller):
raise exc.HTTPNotFound()
return webob.Response(status_int=202)
+ def create(self, req, body):
+ """ Creates a new server for a given user """
+ # note(ja): v1.0 injects the first keypair for the project for testing
+ if 'server' in body and not 'key_name' in body['server']:
+ context = req.environ["nova.context"]
+ keypairs = db.key_pair_get_all_by_user(context.elevated(),
+ context.user_id)
+ if keypairs:
+ body['server']['key_name'] = keypairs[0]['name']
+
+ return super(ControllerV10, self).create(req, body)
+
def _image_ref_from_req_data(self, data):
return data['server']['imageId']