From b74dee50e72fa8e22b8731db6468513473db9253 Mon Sep 17 00:00:00 2001 From: "Kevin L. Mitchell" Date: Tue, 22 Nov 2011 12:25:21 -0600 Subject: Use XMLDictSerializer for resource extensions. Patches around bug 852141 by using the XMLDictSerializer instead of the ExtensionsXMLSerializer for XML serialization of resource extensions. This will allow XML to be emitted, but does not correct the underlying problem: many existing resource extensions do not have defined XML serializers. (Additionally, existing serializers, including ExtensionsXMLSerializer, should be converted to templates.) Change-Id: If0fb0603920d04834368ed654f2a71d3e5300f7f --- nova/api/openstack/v2/extensions.py | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) (limited to 'nova/api') diff --git a/nova/api/openstack/v2/extensions.py b/nova/api/openstack/v2/extensions.py index a5cf863ed..0e59c6d9f 100644 --- a/nova/api/openstack/v2/extensions.py +++ b/nova/api/openstack/v2/extensions.py @@ -276,7 +276,7 @@ class ExtensionMiddleware(base_wsgi.Middleware): mapper = nova.api.openstack.v2.ProjectMapper() serializer = wsgi.ResponseSerializer( - {'application/xml': ExtensionsXMLSerializer()}) + {'application/xml': wsgi.XMLDictSerializer()}) # extended resources for resource in ext_mgr.get_resources(): LOG.debug(_('Extended resource: %s'), @@ -371,8 +371,11 @@ class ExtensionManager(object): def get_resources(self): """Returns a list of ResourceExtension objects.""" resources = [] + serializer = wsgi.ResponseSerializer( + {'application/xml': ExtensionsXMLSerializer()}) resources.append(ResourceExtension('extensions', - ExtensionsResource(self))) + ExtensionsResource(self), + serializer=serializer)) for ext in self.extensions.values(): try: resources.extend(ext.get_resources()) -- cgit