Fix task_state field shown on API < 2.5
After Share Migration was included, the task_state field was
added to be displayed on GET requests, but API versions prior to
2.5 should not see this field. This patch fixes that by using
microversions.
Closes-bug: #1494746
Change-Id: Ie755ae53fe8efdf1702a0ecbabf022a5fe4beb93
diff --git a/manila_tempest_tests/services/share/v2/json/shares_client.py b/manila_tempest_tests/services/share/v2/json/shares_client.py
index da72ffc..3387a4f 100644
--- a/manila_tempest_tests/services/share/v2/json/shares_client.py
+++ b/manila_tempest_tests/services/share/v2/json/shares_client.py
@@ -220,8 +220,15 @@
"""Get detailed list of shares w/o filters."""
return self.list_shares(detailed=True, params=params, version=version)
- def get_share(self, share_id, version=LATEST_MICROVERSION):
- resp, body = self.get("shares/%s" % share_id, version=version)
+ def get_share(self, share_id, version=LATEST_MICROVERSION,
+ experimental=False):
+ headers = None
+ extra_headers = False
+ if experimental:
+ headers = EXPERIMENTAL
+ extra_headers = True
+ resp, body = self.get("shares/%s" % share_id, version=version,
+ headers=headers, extra_headers=extra_headers)
self.expected_success(200, resp.status)
return self._parse_resp(body)
@@ -493,12 +500,12 @@
def wait_for_migration_completed(self, share_id, dest_host):
"""Waits for a share to migrate to a certain host."""
- share = self.get_share(share_id)
+ share = self.get_share(share_id, "2.5", True)
migration_timeout = CONF.share.migration_timeout
start = int(time.time())
while share['task_state'] != 'migration_success':
time.sleep(self.build_interval)
- share = self.get_share(share_id)
+ share = self.get_share(share_id, "2.5", True)
if share['task_state'] == 'migration_success':
return share
elif share['task_state'] == 'migration_error':