Change servers client to return one value and update tests
get_console_output and rescue_server are a little different but I did not
change them fundamentally in this commit.
Partially implements: blueprint clients-return-one-value
Change-Id: I44026cac62084b868eb47aedb43c17d38ac8e43b
diff --git a/tempest/services/compute/json/servers_client.py b/tempest/services/compute/json/servers_client.py
index 6a5bce7..b01fbf1 100644
--- a/tempest/services/compute/json/servers_client.py
+++ b/tempest/services/compute/json/servers_client.py
@@ -157,7 +157,7 @@
resp, body = self.get(url)
body = json.loads(body)
self.validate_response(common_schema.list_servers, resp, body)
- return resp, body
+ return service_client.ResponseBody(resp, body)
def list_servers_with_detail(self, params=None):
"""Lists all servers in detail for a user."""
@@ -169,7 +169,7 @@
resp, body = self.get(url)
body = json.loads(body)
self.validate_response(schema.list_servers_detail, resp, body)
- return resp, body
+ return service_client.ResponseBody(resp, body)
def wait_for_server_status(self, server_id, status, extra_timeout=0,
raise_on_error=True, ready_wait=True):
@@ -202,7 +202,7 @@
resp, body = self.get("servers/%s/ips" % str(server_id))
body = json.loads(body)
self.validate_response(schema.list_addresses, resp, body)
- return resp, body['addresses']
+ return service_client.ResponseBody(resp, body['addresses'])
def list_addresses_by_network(self, server_id, network_id):
"""Lists all addresses of a specific network type for a server."""
@@ -210,10 +210,11 @@
(str(server_id), network_id))
body = json.loads(body)
self.validate_response(schema.list_addresses_by_network, resp, body)
- return resp, body
+ return service_client.ResponseBody(resp, body)
def action(self, server_id, action_name, response_key,
- schema=common_schema.server_actions_common_schema, **kwargs):
+ schema=common_schema.server_actions_common_schema,
+ response_class=service_client.ResponseBody, **kwargs):
post_body = json.dumps({action_name: kwargs})
resp, body = self.post('servers/%s/action' % str(server_id),
post_body)
@@ -231,7 +232,7 @@
body = body[response_key]
else:
self.validate_response(schema, resp, body)
- return resp, body
+ return response_class(resp, body)
def create_backup(self, server_id, backup_type, rotation, name):
"""Backup a server instance."""
@@ -250,7 +251,7 @@
str(server_id))
body = json.loads(body)
self.validate_response(common_schema.get_password, resp, body)
- return resp, body
+ return service_client.ResponseBody(resp, body)
def delete_password(self, server_id):
"""
@@ -262,7 +263,7 @@
str(server_id))
self.validate_response(common_schema.server_actions_delete_password,
resp, body)
- return resp, body
+ return service_client.ResponseBody(resp, body)
def reboot(self, server_id, reboot_type):
"""Reboots a server."""
@@ -303,7 +304,7 @@
resp, body = self.get("servers/%s/metadata" % str(server_id))
body = json.loads(body)
self.validate_response(common_schema.list_server_metadata, resp, body)
- return resp, body['metadata']
+ return service_client.ResponseBody(resp, body['metadata'])
def set_server_metadata(self, server_id, meta, no_metadata_field=False):
if no_metadata_field:
@@ -314,7 +315,7 @@
post_body)
body = json.loads(body)
self.validate_response(common_schema.set_server_metadata, resp, body)
- return resp, body['metadata']
+ return service_client.ResponseBody(resp, body['metadata'])
def update_server_metadata(self, server_id, meta):
post_body = json.dumps({'metadata': meta})
@@ -323,14 +324,14 @@
body = json.loads(body)
self.validate_response(common_schema.update_server_metadata,
resp, body)
- return resp, body['metadata']
+ return service_client.ResponseBody(resp, body['metadata'])
def get_server_metadata_item(self, server_id, key):
resp, body = self.get("servers/%s/metadata/%s" % (str(server_id), key))
body = json.loads(body)
self.validate_response(schema.set_get_server_metadata_item,
resp, body)
- return resp, body['meta']
+ return service_client.ResponseBody(resp, body['meta'])
def set_server_metadata_item(self, server_id, key, meta):
post_body = json.dumps({'meta': meta})
@@ -339,14 +340,14 @@
body = json.loads(body)
self.validate_response(schema.set_get_server_metadata_item,
resp, body)
- return resp, body['meta']
+ return service_client.ResponseBody(resp, body['meta'])
def delete_server_metadata_item(self, server_id, key):
resp, body = self.delete("servers/%s/metadata/%s" %
(str(server_id), key))
self.validate_response(common_schema.delete_server_metadata_item,
resp, body)
- return resp, body
+ return service_client.ResponseBody(resp, body)
def stop(self, server_id, **kwargs):
return self.action(server_id, 'os-stop', None, **kwargs)
@@ -413,7 +414,7 @@
resp, body = self.post("servers/%s/action" % str(server_id), req_body)
self.validate_response(common_schema.server_actions_common_schema,
resp, body)
- return resp, body
+ return service_client.ResponseBody(resp, body)
def migrate_server(self, server_id, **kwargs):
"""Migrates a server to a new host."""
@@ -462,7 +463,9 @@
def get_console_output(self, server_id, length):
kwargs = {'length': length} if length else {}
return self.action(server_id, 'os-getConsoleOutput', 'output',
- common_schema.get_console_output, **kwargs)
+ common_schema.get_console_output,
+ response_class=service_client.ResponseBodyData,
+ **kwargs)
def list_virtual_interfaces(self, server_id):
"""
@@ -472,12 +475,14 @@
'os-virtual-interfaces']))
body = json.loads(body)
self.validate_response(schema.list_virtual_interfaces, resp, body)
- return resp, body
+ return service_client.ResponseBody(resp, body)
def rescue_server(self, server_id, **kwargs):
"""Rescue the provided server."""
return self.action(server_id, 'rescue', 'adminPass',
- schema.rescue_server, **kwargs)
+ schema.rescue_server,
+ response_class=service_client.ResponseBodyData,
+ **kwargs)
def unrescue_server(self, server_id):
"""Unrescue the provided server."""
@@ -486,7 +491,7 @@
def get_server_diagnostics(self, server_id):
"""Get the usage data for a server."""
resp, body = self.get("servers/%s/diagnostics" % str(server_id))
- return resp, json.loads(body)
+ return service_client.ResponseBody(resp, json.loads(body))
def list_instance_actions(self, server_id):
"""List the provided server action."""
@@ -494,7 +499,7 @@
str(server_id))
body = json.loads(body)
self.validate_response(schema.list_instance_actions, resp, body)
- return resp, body['instanceActions']
+ return service_client.ResponseBodyList(resp, body['instanceActions'])
def get_instance_action(self, server_id, request_id):
"""Returns the action details of the provided server."""
@@ -502,7 +507,7 @@
(str(server_id), str(request_id)))
body = json.loads(body)
self.validate_response(schema.get_instance_action, resp, body)
- return resp, body['instanceAction']
+ return service_client.ResponseBody(resp, body['instanceAction'])
def force_delete_server(self, server_id, **kwargs):
"""Force delete a server."""
@@ -542,24 +547,24 @@
body = json.loads(body)
self.validate_response(schema.create_get_server_group, resp, body)
- return resp, body['server_group']
+ return service_client.ResponseBody(resp, body['server_group'])
def delete_server_group(self, server_group_id):
"""Delete the given server-group."""
resp, body = self.delete("os-server-groups/%s" % str(server_group_id))
self.validate_response(schema.delete_server_group, resp, body)
- return resp, body
+ return service_client.ResponseBody(resp, body)
def list_server_groups(self):
"""List the server-groups."""
resp, body = self.get("os-server-groups")
body = json.loads(body)
self.validate_response(schema.list_server_groups, resp, body)
- return resp, body['server_groups']
+ return service_client.ResponseBodyList(resp, body['server_groups'])
def get_server_group(self, server_group_id):
"""Get the details of given server_group."""
resp, body = self.get("os-server-groups/%s" % str(server_group_id))
body = json.loads(body)
self.validate_response(schema.create_get_server_group, resp, body)
- return resp, body['server_group']
+ return service_client.ResponseBody(resp, body['server_group'])