summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--nova/api/openstack/images.py15
-rw-r--r--nova/api/openstack/wsgi.py6
2 files changed, 16 insertions, 5 deletions
diff --git a/nova/api/openstack/images.py b/nova/api/openstack/images.py
index e5496ed94..bf98a5cdd 100644
--- a/nova/api/openstack/images.py
+++ b/nova/api/openstack/images.py
@@ -274,7 +274,10 @@ class ImageXMLSerializer(wsgi.XMLDictSerializer):
image_node = xml_doc.createElement('image')
image_node.setAttribute('id', str(image['id']))
image_node.setAttribute('name', image['name'])
- self._create_link_nodes(xml_doc, image_node, image['links'])
+ link_nodes = self._create_link_nodes(xml_doc,
+ image['links'])
+ for link_node in link_nodes:
+ image_node.appendChild(link_node)
return image_node
def _image_to_xml_detailed(self, xml_doc, image):
@@ -290,7 +293,10 @@ class ImageXMLSerializer(wsgi.XMLDictSerializer):
metadata_node = self._create_metadata_node(xml_doc, metadata)
image_node.appendChild(metadata_node)
- self._create_link_nodes(xml_doc, image_node, image['links'])
+ link_nodes = self._create_link_nodes(xml_doc,
+ image['links'])
+ for link_node in link_nodes:
+ image_node.appendChild(link_node)
return image_node
@@ -310,7 +316,10 @@ class ImageXMLSerializer(wsgi.XMLDictSerializer):
server_node = xml_doc.createElement('server')
server_node.setAttribute('id', str(server['id']))
#server_node.setAttribute('name', server['name'])
- #self._create_link_nodes(xml_doc, server_node, server['links'])
+ #link_nodes = self._create_link_nodes(xml_doc,
+ # image['links'])
+ #for link_node in link_nodes:
+ # server_node.appendChild(link_node)
return server_node
def _image_list_to_xml(self, xml_doc, images, detailed):
diff --git a/nova/api/openstack/wsgi.py b/nova/api/openstack/wsgi.py
index f13bd6cc1..03f83001a 100644
--- a/nova/api/openstack/wsgi.py
+++ b/nova/api/openstack/wsgi.py
@@ -300,12 +300,14 @@ class XMLDictSerializer(DictSerializer):
result.appendChild(node)
return result
- def _create_link_nodes(self, xml_doc, node, links):
+ def _create_link_nodes(self, xml_doc, links):
+ link_nodes = []
for link in links:
link_node = xml_doc.createElement('atom:link')
link_node.setAttribute('rel', link['rel'])
link_node.setAttribute('href', link['href'])
- node.appendChild(link_node)
+ link_nodes.append(link_node)
+ return link_nodes
class ResponseSerializer(object):