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 /nova/api | |
| parent | e35ed7ce06a7ac0280d6a36c881e75e307230f76 (diff) | |
| download | nova-b74dee50e72fa8e22b8731db6468513473db9253.tar.gz nova-b74dee50e72fa8e22b8731db6468513473db9253.tar.xz nova-b74dee50e72fa8e22b8731db6468513473db9253.zip | |
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
Diffstat (limited to 'nova/api')
| -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()) |
