Use plain routes list for server ips endpoint
This patch adds server ips related routes by a plain list, instead of using stevedore. After all the Nova API endpoints moves to the plain routes list, the usage of stevedore for API loading will be removed from Nova. Partial-implement-blueprint api-no-more-extensions-pike Change-Id: I4c0a023ab295cdb0c71ff4800f288946215745ce
This commit is contained in:
parent
0fc64f0ab6
commit
10462fc744
|
@ -23,8 +23,6 @@ from nova.api.openstack import wsgi
|
|||
from nova.i18n import _
|
||||
from nova.policies import ips as ips_policies
|
||||
|
||||
ALIAS = 'ips'
|
||||
|
||||
|
||||
class IPsController(wsgi.Controller):
|
||||
"""The servers addresses API controller for the OpenStack API."""
|
||||
|
@ -57,23 +55,3 @@ class IPsController(wsgi.Controller):
|
|||
raise exc.HTTPNotFound(explanation=msg)
|
||||
|
||||
return self._view_builder.show(networks[id], id)
|
||||
|
||||
|
||||
class IPs(extensions.V21APIExtensionBase):
|
||||
"""Server addresses."""
|
||||
|
||||
name = "Ips"
|
||||
alias = ALIAS
|
||||
version = 1
|
||||
|
||||
def get_resources(self):
|
||||
parent = {'member_name': 'server',
|
||||
'collection_name': 'servers'}
|
||||
resources = [
|
||||
extensions.ResourceExtension(
|
||||
ALIAS, IPsController(), parent=parent, member_name='ip')]
|
||||
|
||||
return resources
|
||||
|
||||
def get_controller_extensions(self):
|
||||
return []
|
||||
|
|
|
@ -47,6 +47,7 @@ from nova.api.openstack.compute import floating_ips
|
|||
from nova.api.openstack.compute import floating_ips_bulk
|
||||
from nova.api.openstack.compute import hide_server_addresses
|
||||
from nova.api.openstack.compute import instance_usage_audit_log
|
||||
from nova.api.openstack.compute import ips
|
||||
from nova.api.openstack.compute import keypairs
|
||||
from nova.api.openstack.compute import limits
|
||||
from nova.api.openstack.compute import lock_server
|
||||
|
@ -163,6 +164,10 @@ instance_usage_audit_log_controller = functools.partial(_create_controller,
|
|||
instance_usage_audit_log.InstanceUsageAuditLogController, [], [])
|
||||
|
||||
|
||||
ips_controller = functools.partial(_create_controller,
|
||||
ips.IPsController, [], [])
|
||||
|
||||
|
||||
keypairs_controller = functools.partial(
|
||||
_create_controller, keypairs.KeypairController, [], [])
|
||||
|
||||
|
@ -441,6 +446,12 @@ ROUTE_LIST = (
|
|||
('/servers/{server_id}/diagnostics', {
|
||||
'GET': [server_diagnostics_controller, 'index']
|
||||
}),
|
||||
('/servers/{server_id}/ips', {
|
||||
'GET': [ips_controller, 'index']
|
||||
}),
|
||||
('/servers/{server_id}/ips/{id}', {
|
||||
'GET': [ips_controller, 'show']
|
||||
}),
|
||||
('/servers/{server_id}/metadata', {
|
||||
'GET': [server_metadata_controller, 'index'],
|
||||
'POST': [server_metadata_controller, 'create'],
|
||||
|
|
|
@ -86,7 +86,6 @@ nova.api.v21.extensions =
|
|||
image_metadata = nova.api.openstack.compute.image_metadata:ImageMetadata
|
||||
image_size = nova.api.openstack.compute.image_size:ImageSize
|
||||
instance_actions = nova.api.openstack.compute.instance_actions:InstanceActions
|
||||
ips = nova.api.openstack.compute.ips:IPs
|
||||
multiple_create = nova.api.openstack.compute.multiple_create:MultipleCreate
|
||||
networks = nova.api.openstack.compute.networks:Networks
|
||||
networks_associate = nova.api.openstack.compute.networks_associate:NetworksAssociate
|
||||
|
|
Loading…
Reference in New Issue