Use plain routes list for os-remote-consoles instead of stevedore

This patch adds os-remote-consoles 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: Id192220445e296656eedb79e39042cd00bbe65a7
This commit is contained in:
Stephen Finucane
2017-06-19 16:46:02 +01:00
parent e2020996ae
commit 7c73d39df6
3 changed files with 7 additions and 23 deletions

View File

@@ -24,9 +24,6 @@ from nova import exception
from nova.policies import remote_consoles as rc_policies
ALIAS = "os-remote-consoles"
class RemoteConsolesController(wsgi.Controller):
def __init__(self, *args, **kwargs):
self.compute_api = compute.API()
@@ -186,22 +183,3 @@ class RemoteConsolesController(wsgi.Controller):
raise webob.exc.HTTPBadRequest(explanation=e.format_message())
except NotImplementedError:
common.raise_feature_not_supported()
class RemoteConsoles(extensions.V21APIExtensionBase):
"""Interactive Console support."""
name = "Consoles"
alias = ALIAS
version = 1
def get_controller_extensions(self):
return []
def get_resources(self):
parent = {'member_name': 'server',
'collection_name': 'servers'}
resources = [
extensions.ResourceExtension(
'remote-consoles', RemoteConsolesController(), parent=parent,
member_name='remote-console')]
return resources

View File

@@ -294,6 +294,10 @@ server_password_controller = functools.partial(_create_controller,
server_password.ServerPasswordController, [], [])
server_remote_consoles_controller = functools.partial(_create_controller,
remote_consoles.RemoteConsolesController, [], [])
server_tags_controller = functools.partial(_create_controller,
server_tags.ServerTagsController, [], [])
@@ -641,6 +645,9 @@ ROUTE_LIST = (
('/servers/{server_id}/os-virtual-interfaces', {
'GET': [virtual_interfaces_controller, 'index']
}),
('/servers/{server_id}/remote-consoles', {
'POST': [server_remote_consoles_controller, 'create']
}),
('/servers/{server_id}/tags', {
'GET': [server_tags_controller, 'index'],
'PUT': [server_tags_controller, 'update_all'],

View File

@@ -80,7 +80,6 @@ nova.api.v21.extensions =
image_size = nova.api.openstack.compute.image_size:ImageSize
networks = nova.api.openstack.compute.networks:Networks
networks_associate = nova.api.openstack.compute.networks_associate:NetworksAssociate
remote_consoles = nova.api.openstack.compute.remote_consoles:RemoteConsoles
security_group_default_rules = nova.api.openstack.compute.security_group_default_rules:SecurityGroupDefaultRules
security_groups = nova.api.openstack.compute.security_groups:SecurityGroups
versions = nova.api.openstack.compute.versionsV21:Versions