Translate xml server tenantId /userId
Translate the tenantId /userId form the XML responses,
to tenant_id/user_id to match with the json attribute names.
Start using the xml server parser on list responses.
Change-Id: I7c4b48a1ba6680d444ea5659e722905e4d4fbe12
diff --git a/tempest/services/compute/xml/servers_client.py b/tempest/services/compute/xml/servers_client.py
index 1215b80..95f1d30 100644
--- a/tempest/services/compute/xml/servers_client.py
+++ b/tempest/services/compute/xml/servers_client.py
@@ -122,6 +122,10 @@
'/compute/ext/extended_status/api/v1.1}vm_state')
task_state = ('{http://docs.openstack.org'
'/compute/ext/extended_status/api/v1.1}task_state')
+ if 'tenantId' in json:
+ json['tenant_id'] = json.pop('tenantId')
+ if 'userId' in json:
+ json['user_id'] = json.pop('userId')
if diskConfig in json:
json['OS-DCF:diskConfig'] = json.pop(diskConfig)
if terminated_at in json:
@@ -245,13 +249,19 @@
array.append(xml_to_json(child))
return array
+ def _parse_server_array(self, node):
+ array = []
+ for child in node.getchildren():
+ array.append(self._parse_server(child))
+ return array
+
def list_servers(self, params=None):
url = 'servers'
if params:
url += '?%s' % urllib.urlencode(params)
resp, body = self.get(url)
- servers = self._parse_array(etree.fromstring(body))
+ servers = self._parse_server_array(etree.fromstring(body))
return resp, {"servers": servers}
def list_servers_with_detail(self, params=None):
@@ -260,7 +270,7 @@
url += '?%s' % urllib.urlencode(params)
resp, body = self.get(url)
- servers = self._parse_array(etree.fromstring(body))
+ servers = self._parse_server_array(etree.fromstring(body))
return resp, {"servers": servers}
def update_server(self, server_id, name=None, meta=None, accessIPv4=None,