Fix test test_rescue_unrescue_instance
When in tempest enable_instance_password is set
to False, schema validation should not expect
adminPass in response.
Change-Id: I3e5cd3b014234ade9175aa153fd97776f67e1139
Closes-Bug: #1657371
diff --git a/tempest/lib/api_schema/response/compute/v2_1/servers.py b/tempest/lib/api_schema/response/compute/v2_1/servers.py
index 63e8467..1264416 100644
--- a/tempest/lib/api_schema/response/compute/v2_1/servers.py
+++ b/tempest/lib/api_schema/response/compute/v2_1/servers.py
@@ -238,14 +238,17 @@
'status_code': [200],
'response_body': {
'type': 'object',
- 'properties': {
- 'adminPass': {'type': 'string'}
- },
'additionalProperties': False,
- 'required': ['adminPass']
}
}
+rescue_server_with_admin_pass = copy.deepcopy(rescue_server)
+rescue_server_with_admin_pass['response_body'].update(
+ {'properties': {'adminPass': {'type': 'string'}}})
+rescue_server_with_admin_pass['response_body'].update(
+ {'required': ['adminPass']})
+
+
list_virtual_interfaces = {
'status_code': [200],
'response_body': {
diff --git a/tempest/lib/services/compute/servers_client.py b/tempest/lib/services/compute/servers_client.py
index 597e815..50ce32e 100644
--- a/tempest/lib/services/compute/servers_client.py
+++ b/tempest/lib/services/compute/servers_client.py
@@ -616,7 +616,11 @@
API reference:
http://developer.openstack.org/api-ref-compute-v2.1.html#rescue
"""
- return self.action(server_id, 'rescue', schema.rescue_server, **kwargs)
+ if self.enable_instance_password:
+ rescue_schema = schema.rescue_server_with_admin_pass
+ else:
+ rescue_schema = schema.rescue_server
+ return self.action(server_id, 'rescue', rescue_schema, **kwargs)
def unrescue_server(self, server_id):
"""Unrescue the provided server.