Use plain routes list for os-consoles, os-console-auth-tokens endpoint instead of stevedore

This patch adds os-consoles and os-console-auth-tokens 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: I0e7433e6b470fc535b5954de7dcdcf66ac5ac41d
This commit is contained in:
Kevin_Zheng
2017-05-03 22:37:54 +08:00
committed by Stephen Finucane
parent a43dbba2b8
commit 9452aafd08
4 changed files with 21 additions and 44 deletions
@@ -21,8 +21,6 @@ from nova.consoleauth import rpcapi as consoleauth_rpcapi
from nova.i18n import _
from nova.policies import console_auth_tokens as cat_policies
ALIAS = "os-console-auth-tokens"
class ConsoleAuthTokensController(wsgi.Controller):
def __init__(self, *args, **kwargs):
@@ -65,19 +63,3 @@ class ConsoleAuthTokensController(wsgi.Controller):
@extensions.expected_errors((400, 404))
def show(self, req, id):
return self._show(req, id, False)
class ConsoleAuthTokens(extensions.V21APIExtensionBase):
"""Console token authentication support."""
name = "ConsoleAuthTokens"
alias = ALIAS
version = 1
def get_resources(self):
controller = ConsoleAuthTokensController()
ext = extensions.ResourceExtension(ALIAS,
controller)
return [ext]
def get_controller_extensions(self):
return []
-24
View File
@@ -22,9 +22,6 @@ from nova import exception
from nova.policies import consoles as consoles_policies
ALIAS = 'os-consoles'
def _translate_keys(cons):
"""Coerces a console instance into proper dictionary format."""
pool = cons['pool']
@@ -105,24 +102,3 @@ class ConsolesController(wsgi.Controller):
int(id))
except exception.ConsoleNotFound as e:
raise exc.HTTPNotFound(explanation=e.format_message())
class Consoles(extensions.V21APIExtensionBase):
"""Consoles."""
name = "Consoles"
alias = ALIAS
version = 1
def get_resources(self):
parent = {'member_name': 'server',
'collection_name': 'servers'}
resources = [
extensions.ResourceExtension(
'consoles', ConsolesController(), parent=parent,
member_name='console')]
return resources
def get_controller_extensions(self):
return []
+21
View File
@@ -26,7 +26,9 @@ from nova.api.openstack.compute import attach_interfaces
from nova.api.openstack.compute import availability_zone
from nova.api.openstack.compute import certificates
from nova.api.openstack.compute import config_drive
from nova.api.openstack.compute import console_auth_tokens
from nova.api.openstack.compute import console_output
from nova.api.openstack.compute import consoles
from nova.api.openstack.compute import create_backup
from nova.api.openstack.compute import deferred_delete
from nova.api.openstack.compute import evacuate
@@ -244,6 +246,14 @@ server_controller = functools.partial(_create_controller,
)
console_auth_tokens_controller = functools.partial(_create_controller,
console_auth_tokens.ConsoleAuthTokensController, [], [])
consoles_controller = functools.partial(_create_controller,
consoles.ConsolesController, [], [])
server_diagnostics_controller = functools.partial(_create_controller,
server_diagnostics.ServerDiagnosticsController, [], [])
@@ -369,6 +379,9 @@ ROUTE_LIST = (
('/os-certificates/{id}', {
'GET': [certificates_controller, 'show']
}),
('/os-console-auth-tokens/{id}', {
'GET': [console_auth_tokens_controller, 'show']
}),
('/os-fixed-ips/{id}', {
'GET': [fixed_ips_controller, 'show']
}),
@@ -523,6 +536,14 @@ ROUTE_LIST = (
('/servers/{id}/action', {
'POST': [server_controller, 'action']
}),
('/servers/{server_id}/consoles', {
'GET': [consoles_controller, 'index'],
'POST': [consoles_controller, 'create']
}),
('/servers/{server_id}/consoles/{id}', {
'GET': [consoles_controller, 'show'],
'DELETE': [consoles_controller, 'delete']
}),
('/servers/{server_id}/diagnostics', {
'GET': [server_diagnostics_controller, 'index']
}),
-2
View File
@@ -76,8 +76,6 @@ nova.api.v21.extensions =
block_device_mapping = nova.api.openstack.compute.block_device_mapping:BlockDeviceMapping
cells = nova.api.openstack.compute.cells:Cells
cloudpipe = nova.api.openstack.compute.cloudpipe:Cloudpipe
console_auth_tokens = nova.api.openstack.compute.console_auth_tokens:ConsoleAuthTokens
consoles = nova.api.openstack.compute.consoles:Consoles
extension_info = nova.api.openstack.compute.extension_info:ExtensionInfo
images = nova.api.openstack.compute.images:Images
image_metadata = nova.api.openstack.compute.image_metadata:ImageMetadata