diff options
| author | Kevin L. Mitchell <kevin.mitchell@rackspace.com> | 2011-11-22 12:25:21 -0600 |
|---|---|---|
| committer | Kevin L. Mitchell <kevin.mitchell@rackspace.com> | 2011-11-22 12:25:21 -0600 |
| commit | b74dee50e72fa8e22b8731db6468513473db9253 (patch) | |
| tree | 022f8f44b3e264f3a757b4699a55d01e256da137 | |
| parent | e35ed7ce06a7ac0280d6a36c881e75e307230f76 (diff) | |
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
| -rw-r--r-- | nova/api/openstack/v2/extensions.py | 7 |
1 files changed, 5 insertions, 2 deletions
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()) |
