diff options
| author | Dan Smith <danms@us.ibm.com> | 2012-09-27 13:59:29 -0700 |
|---|---|---|
| committer | Mauro S. M. Rodrigues <maurosr@linux.vnet.ibm.com> | 2012-09-28 10:00:51 -0400 |
| commit | 2ba27f66cf14e1cb111ebc93d094c6e77c55245f (patch) | |
| tree | 1f1564de2bcad83ae74ffe3437b64370ffa0e959 /nova/api | |
| parent | 0d565de78b5cc8ecdd18e10444ec731db46b48eb (diff) | |
| download | nova-2ba27f66cf14e1cb111ebc93d094c6e77c55245f.tar.gz nova-2ba27f66cf14e1cb111ebc93d094c6e77c55245f.tar.xz nova-2ba27f66cf14e1cb111ebc93d094c6e77c55245f.zip | |
Fix CloudPipe extension XML serialization
It is completely broken right now and this fixes it to properly
traverse a list of cloudpipe instance dictionaries, resulting
in XML output that matches the API spec.
Fixes bug: 1056242
Change-Id: Ic768afeaa76d776fd55a4f618d14fa41ed4c8a63
Diffstat (limited to 'nova/api')
| -rw-r--r-- | nova/api/openstack/compute/contrib/cloudpipe.py | 14 |
1 files changed, 10 insertions, 4 deletions
diff --git a/nova/api/openstack/compute/contrib/cloudpipe.py b/nova/api/openstack/compute/contrib/cloudpipe.py index f38a1b12a..48b641348 100644 --- a/nova/api/openstack/compute/contrib/cloudpipe.py +++ b/nova/api/openstack/compute/contrib/cloudpipe.py @@ -37,15 +37,21 @@ authorize = extensions.extension_authorizer('compute', 'cloudpipe') class CloudpipeTemplate(xmlutil.TemplateBuilder): def construct(self): - return xmlutil.MasterTemplate(xmlutil.make_flat_dict('cloudpipe'), 1) + root = xmlutil.TemplateElement('cloudpipe') + elem = xmlutil.SubTemplateElement(root, 'instance_id', + selector='instance_id') + elem.text = str + return xmlutil.MasterTemplate(root, 1) class CloudpipesTemplate(xmlutil.TemplateBuilder): def construct(self): root = xmlutil.TemplateElement('cloudpipes') - elem = xmlutil.make_flat_dict('cloudpipe', selector='cloudpipes', - subselector='cloudpipe') - root.append(elem) + elem1 = xmlutil.SubTemplateElement(root, 'cloudpipe', + selector='cloudpipes') + elem2 = xmlutil.SubTemplateElement(elem1, xmlutil.Selector(0), + selector=xmlutil.get_items) + elem2.text = 1 return xmlutil.MasterTemplate(root, 1) |
