~cloudbuilders/nova/os-keypair-integration

« back to all changes in this revision

Viewing changes to nova/api/openstack/servers.py

  • Committer: Jesse Andrews
  • Date: 2011-08-27 00:46:47 UTC
  • Revision ID: anotherjesse@gmail.com-20110827004647-b78jybn4vrda1ft9
v1.0 of server create injects first users keypair

Show diffs side-by-side

added added

removed removed

Lines of Context:
22
22
import webob
23
23
 
24
24
from nova import compute
 
25
from nova import db
25
26
from nova import exception
26
27
from nova import flags
27
28
from nova import log as logging
563
564
            raise exc.HTTPNotFound()
564
565
        return webob.Response(status_int=202)
565
566
 
 
567
    def create(self, req, body):
 
568
        """ Creates a new server for a given user """
 
569
        # note(ja): v1.0 injects the first keypair for the project for testing
 
570
        if 'server' in body and not 'key_name' in body['server']:
 
571
            context = req.environ["nova.context"]
 
572
            keypairs = db.key_pair_get_all_by_user(context.elevated(),
 
573
                                                   context.user_id)
 
574
            if keypairs:
 
575
                body['server']['key_name'] = keypairs[0]['name']
 
576
 
 
577
        return super(ControllerV10, self).create(req, body)
 
578
 
566
579
    def _image_ref_from_req_data(self, data):
567
580
        return data['server']['imageId']
568
581