~usc-isi/nova/hpc-trunk

« back to all changes in this revision

Viewing changes to nova/api/openstack/contrib/createserverext.py

  • Committer: ISI Hudson Server
  • Date: 2011-09-03 07:03:24 UTC
  • mfrom: (662.621.243 nova)
  • Revision ID: isi_hudson_server-20110903070324-nqbwdrtz327xh1gg
merged nova trunk 1526

Show diffs side-by-side

added added

removed removed

Lines of Context:
14
14
#    License for the specific language governing permissions and limitations
15
15
#    under the License
16
16
 
 
17
from nova import utils
17
18
from nova.api.openstack import create_instance_helper as helper
18
19
from nova.api.openstack import extensions
19
20
from nova.api.openstack import servers
20
21
from nova.api.openstack import wsgi
21
22
 
22
23
 
 
24
class CreateServerController(servers.ControllerV11):
 
25
    def _build_view(self, req, instance, is_detail=False):
 
26
        server = super(CreateServerController, self)._build_view(req,
 
27
                                                             instance,
 
28
                                                             is_detail)
 
29
        if is_detail:
 
30
            self._build_security_groups(server['server'], instance)
 
31
        return server
 
32
 
 
33
    def _build_security_groups(self, response, inst):
 
34
        sg_names = []
 
35
        sec_groups = inst.get('security_groups')
 
36
        if sec_groups:
 
37
            sg_names = [sec_group['name'] for sec_group in sec_groups]
 
38
 
 
39
        response['security_groups'] = utils.convert_to_list_dict(sg_names,
 
40
                                                                 'name')
 
41
 
 
42
 
23
43
class Createserverext(extensions.ExtensionDescriptor):
24
 
    """The servers create ext
25
 
 
26
 
    Exposes addFixedIp and removeFixedIp actions on servers.
27
 
 
28
 
    """
 
44
    """The servers create ext"""
29
45
    def get_name(self):
30
46
        return "Createserverext"
31
47
 
58
74
        deserializer = wsgi.RequestDeserializer(body_deserializers)
59
75
 
60
76
        res = extensions.ResourceExtension('os-create-server-ext',
61
 
                                        controller=servers.ControllerV11(),
 
77
                                        controller=CreateServerController(),
62
78
                                        deserializer=deserializer,
63
79
                                        serializer=serializer)
64
80
        resources.append(res)