diff --git a/nova/api/openstack/compute/routes.py b/nova/api/openstack/compute/routes.py index f1a0355a74..c0e9c31f76 100644 --- a/nova/api/openstack/compute/routes.py +++ b/nova/api/openstack/compute/routes.py @@ -249,6 +249,10 @@ quota_set_controller = functools.partial(_create_controller, quota_sets.QuotaSetsController, [], []) +security_group_controller = functools.partial(_create_controller, + security_groups.SecurityGroupController, [], []) + + server_controller = functools.partial(_create_controller, servers.ServersController, [ @@ -608,6 +612,15 @@ ROUTE_LIST = ( ('/os-quota-sets/{id}/defaults', { 'GET': [quota_set_controller, 'defaults'] }), + ('/os-security-groups', { + 'GET': [security_group_controller, 'index'], + 'POST': [security_group_controller, 'create'] + }), + ('/os-security-groups/{id}', { + 'GET': [security_group_controller, 'show'], + 'PUT': [security_group_controller, 'update'], + 'DELETE': [security_group_controller, 'delete'] + }), ('/os-server-external-events', { 'POST': [server_external_events_controller, 'create'] }), diff --git a/nova/api/openstack/compute/security_groups.py b/nova/api/openstack/compute/security_groups.py index 2911915b2b..888a39a806 100644 --- a/nova/api/openstack/compute/security_groups.py +++ b/nova/api/openstack/compute/security_groups.py @@ -507,8 +507,6 @@ class SecurityGroups(extensions.V21APIExtensionBase): return [] def get_resources(self): - secgrp_ext = extensions.ResourceExtension(ALIAS, - SecurityGroupController()) server_secgrp_ext = extensions.ResourceExtension( ALIAS, controller=ServerSecurityGroupController(), @@ -516,7 +514,7 @@ class SecurityGroups(extensions.V21APIExtensionBase): secgrp_rules_ext = extensions.ResourceExtension( 'os-security-group-rules', controller=SecurityGroupRulesController()) - return [secgrp_ext, server_secgrp_ext, secgrp_rules_ext] + return [server_secgrp_ext, secgrp_rules_ext] # NOTE(gmann): This function is not supposed to use 'body_deprecated_param'