Merge "Remove XML support from some extension v3 API plugins"
This commit is contained in:
@@ -16,7 +16,7 @@
|
||||
|
||||
from nova.api.openstack import extensions
|
||||
from nova.api.openstack import wsgi
|
||||
from nova.api.openstack import xmlutil
|
||||
|
||||
|
||||
ALIAS = "os-extended-server-attributes"
|
||||
authorize = extensions.soft_extension_authorizer('compute', 'v3:' + ALIAS)
|
||||
@@ -39,8 +39,6 @@ class ExtendedServerAttributesController(wsgi.Controller):
|
||||
def show(self, req, resp_obj, id):
|
||||
context = req.environ['nova.context']
|
||||
if authorize(context):
|
||||
# Attach our slave template to the response object
|
||||
resp_obj.attach(xml=ExtendedServerAttributeTemplate())
|
||||
server = resp_obj.obj['server']
|
||||
db_instance = req.get_db_instance(server['id'])
|
||||
# server['id'] is guaranteed to be in the cache due to
|
||||
@@ -51,9 +49,6 @@ class ExtendedServerAttributesController(wsgi.Controller):
|
||||
def detail(self, req, resp_obj):
|
||||
context = req.environ['nova.context']
|
||||
if authorize(context):
|
||||
# Attach our slave template to the response object
|
||||
resp_obj.attach(xml=ExtendedServerAttributesTemplate())
|
||||
|
||||
servers = list(resp_obj.obj['servers'])
|
||||
for server in servers:
|
||||
db_instance = req.get_db_instance(server['id'])
|
||||
@@ -78,31 +73,3 @@ class ExtendedServerAttributes(extensions.V3APIExtensionBase):
|
||||
|
||||
def get_resources(self):
|
||||
return []
|
||||
|
||||
|
||||
def make_server(elem):
|
||||
elem.set('{%s}instance_name' % ExtendedServerAttributes.namespace,
|
||||
'%s:instance_name' % ExtendedServerAttributes.alias)
|
||||
elem.set('{%s}host' % ExtendedServerAttributes.namespace,
|
||||
'%s:host' % ExtendedServerAttributes.alias)
|
||||
elem.set('{%s}hypervisor_hostname' % ExtendedServerAttributes.namespace,
|
||||
'%s:hypervisor_hostname' % ExtendedServerAttributes.alias)
|
||||
|
||||
|
||||
class ExtendedServerAttributeTemplate(xmlutil.TemplateBuilder):
|
||||
def construct(self):
|
||||
root = xmlutil.TemplateElement('server', selector='server')
|
||||
make_server(root)
|
||||
alias = ExtendedServerAttributes.alias
|
||||
namespace = ExtendedServerAttributes.namespace
|
||||
return xmlutil.SlaveTemplate(root, 1, nsmap={alias: namespace})
|
||||
|
||||
|
||||
class ExtendedServerAttributesTemplate(xmlutil.TemplateBuilder):
|
||||
def construct(self):
|
||||
root = xmlutil.TemplateElement('servers')
|
||||
elem = xmlutil.SubTemplateElement(root, 'server', selector='servers')
|
||||
make_server(elem)
|
||||
alias = ExtendedServerAttributes.alias
|
||||
namespace = ExtendedServerAttributes.namespace
|
||||
return xmlutil.SlaveTemplate(root, 1, nsmap={alias: namespace})
|
||||
|
||||
@@ -16,7 +16,6 @@
|
||||
|
||||
from nova.api.openstack import extensions
|
||||
from nova.api.openstack import wsgi
|
||||
from nova.api.openstack import xmlutil
|
||||
from nova import compute
|
||||
|
||||
ALIAS = "os-extended-status"
|
||||
@@ -37,8 +36,6 @@ class ExtendedStatusController(wsgi.Controller):
|
||||
def show(self, req, resp_obj, id):
|
||||
context = req.environ['nova.context']
|
||||
if authorize(context):
|
||||
# Attach our slave template to the response object
|
||||
resp_obj.attach(xml=ExtendedStatusTemplate())
|
||||
server = resp_obj.obj['server']
|
||||
db_instance = req.get_db_instance(server['id'])
|
||||
# server['id'] is guaranteed to be in the cache due to
|
||||
@@ -49,8 +46,6 @@ class ExtendedStatusController(wsgi.Controller):
|
||||
def detail(self, req, resp_obj):
|
||||
context = req.environ['nova.context']
|
||||
if authorize(context):
|
||||
# Attach our slave template to the response object
|
||||
resp_obj.attach(xml=ExtendedStatusesTemplate())
|
||||
servers = list(resp_obj.obj['servers'])
|
||||
for server in servers:
|
||||
db_instance = req.get_db_instance(server['id'])
|
||||
@@ -75,31 +70,3 @@ class ExtendedStatus(extensions.V3APIExtensionBase):
|
||||
|
||||
def get_resources(self):
|
||||
return []
|
||||
|
||||
|
||||
def make_server(elem):
|
||||
elem.set('{%s}task_state' % ExtendedStatus.namespace,
|
||||
'%s:task_state' % ExtendedStatus.alias)
|
||||
elem.set('{%s}power_state' % ExtendedStatus.namespace,
|
||||
'%s:power_state' % ExtendedStatus.alias)
|
||||
elem.set('{%s}vm_state' % ExtendedStatus.namespace,
|
||||
'%s:vm_state' % ExtendedStatus.alias)
|
||||
elem.set('{%s}locked_by' % ExtendedStatus.namespace,
|
||||
'%s:locked_by' % ExtendedStatus.alias)
|
||||
|
||||
|
||||
class ExtendedStatusTemplate(xmlutil.TemplateBuilder):
|
||||
def construct(self):
|
||||
root = xmlutil.TemplateElement('server', selector='server')
|
||||
make_server(root)
|
||||
return xmlutil.SlaveTemplate(root, 1, nsmap={
|
||||
ExtendedStatus.alias: ExtendedStatus.namespace})
|
||||
|
||||
|
||||
class ExtendedStatusesTemplate(xmlutil.TemplateBuilder):
|
||||
def construct(self):
|
||||
root = xmlutil.TemplateElement('servers')
|
||||
elem = xmlutil.SubTemplateElement(root, 'server', selector='servers')
|
||||
make_server(elem)
|
||||
return xmlutil.SlaveTemplate(root, 1, nsmap={
|
||||
ExtendedStatus.alias: ExtendedStatus.namespace})
|
||||
|
||||
@@ -22,7 +22,6 @@ from nova.api.openstack import common
|
||||
from nova.api.openstack.compute.schemas.v3 import extended_volumes_schema
|
||||
from nova.api.openstack import extensions
|
||||
from nova.api.openstack import wsgi
|
||||
from nova.api.openstack import xmlutil
|
||||
from nova.api import validation
|
||||
from nova import compute
|
||||
from nova import exception
|
||||
@@ -109,8 +108,6 @@ class ExtendedVolumesController(wsgi.Controller):
|
||||
def show(self, req, resp_obj, id):
|
||||
context = req.environ['nova.context']
|
||||
if authorize(context):
|
||||
# Attach our slave template to the response object
|
||||
resp_obj.attach(xml=ExtendedVolumesServerTemplate())
|
||||
server = resp_obj.obj['server']
|
||||
db_instance = req.get_db_instance(server['id'])
|
||||
# server['id'] is guaranteed to be in the cache due to
|
||||
@@ -121,8 +118,6 @@ class ExtendedVolumesController(wsgi.Controller):
|
||||
def detail(self, req, resp_obj):
|
||||
context = req.environ['nova.context']
|
||||
if authorize(context):
|
||||
# Attach our slave template to the response object
|
||||
resp_obj.attach(xml=ExtendedVolumesServersTemplate())
|
||||
servers = list(resp_obj.obj['servers'])
|
||||
for server in servers:
|
||||
db_instance = req.get_db_instance(server['id'])
|
||||
@@ -239,27 +234,3 @@ class ExtendedVolumes(extensions.V3APIExtensionBase):
|
||||
|
||||
def get_resources(self):
|
||||
return []
|
||||
|
||||
|
||||
def make_server(elem):
|
||||
volumes = xmlutil.SubTemplateElement(
|
||||
elem, '{%s}volume_attached' % ExtendedVolumes.namespace,
|
||||
selector='%s:volumes_attached' % ExtendedVolumes.alias)
|
||||
volumes.set('id')
|
||||
|
||||
|
||||
class ExtendedVolumesServerTemplate(xmlutil.TemplateBuilder):
|
||||
def construct(self):
|
||||
root = xmlutil.TemplateElement('server', selector='server')
|
||||
make_server(root)
|
||||
return xmlutil.SlaveTemplate(root, 1, nsmap={
|
||||
ExtendedVolumes.alias: ExtendedVolumes.namespace})
|
||||
|
||||
|
||||
class ExtendedVolumesServersTemplate(xmlutil.TemplateBuilder):
|
||||
def construct(self):
|
||||
root = xmlutil.TemplateElement('servers')
|
||||
elem = xmlutil.SubTemplateElement(root, 'server', selector='servers')
|
||||
make_server(elem)
|
||||
return xmlutil.SlaveTemplate(root, 1, nsmap={
|
||||
ExtendedVolumes.alias: ExtendedVolumes.namespace})
|
||||
|
||||
@@ -17,8 +17,6 @@
|
||||
import webob.exc
|
||||
|
||||
from nova.api.openstack import extensions
|
||||
from nova.api.openstack import wsgi
|
||||
from nova.api.openstack import xmlutil
|
||||
from nova.openstack.common.gettextutils import _
|
||||
from nova.openstack.common import log as logging
|
||||
|
||||
@@ -26,35 +24,6 @@ from nova.openstack.common import log as logging
|
||||
LOG = logging.getLogger(__name__)
|
||||
|
||||
|
||||
def make_ext(elem):
|
||||
elem.set('name')
|
||||
elem.set('namespace')
|
||||
elem.set('alias')
|
||||
elem.set('version')
|
||||
|
||||
desc = xmlutil.SubTemplateElement(elem, 'description')
|
||||
desc.text = 'description'
|
||||
|
||||
|
||||
ext_nsmap = {None: xmlutil.XMLNS_COMMON_V10, 'atom': xmlutil.XMLNS_ATOM}
|
||||
|
||||
|
||||
class ExtensionTemplate(xmlutil.TemplateBuilder):
|
||||
def construct(self):
|
||||
root = xmlutil.TemplateElement('extension', selector='extension')
|
||||
make_ext(root)
|
||||
return xmlutil.MasterTemplate(root, 1, nsmap=ext_nsmap)
|
||||
|
||||
|
||||
class ExtensionsTemplate(xmlutil.TemplateBuilder):
|
||||
def construct(self):
|
||||
root = xmlutil.TemplateElement('extensions')
|
||||
elem = xmlutil.SubTemplateElement(root, 'extension',
|
||||
selector='extensions')
|
||||
make_ext(elem)
|
||||
return xmlutil.MasterTemplate(root, 1, nsmap=ext_nsmap)
|
||||
|
||||
|
||||
class ExtensionInfoController(object):
|
||||
|
||||
def __init__(self, extension_info):
|
||||
@@ -84,7 +53,6 @@ class ExtensionInfoController(object):
|
||||
return discoverable_extensions
|
||||
|
||||
@extensions.expected_errors(())
|
||||
@wsgi.serializers(xml=ExtensionsTemplate)
|
||||
def index(self, req):
|
||||
context = req.environ['nova.context']
|
||||
|
||||
@@ -97,7 +65,6 @@ class ExtensionInfoController(object):
|
||||
return dict(extensions=extensions)
|
||||
|
||||
@extensions.expected_errors(404)
|
||||
@wsgi.serializers(xml=ExtensionTemplate)
|
||||
def show(self, req, id):
|
||||
context = req.environ['nova.context']
|
||||
try:
|
||||
|
||||
Reference in New Issue
Block a user