Merge "Implement admin network in generic driver"
diff --git a/manila_tempest_tests/tests/scenario/test_share_basic_ops.py b/manila_tempest_tests/tests/scenario/test_share_basic_ops.py
index fe66787..75e1ed9 100644
--- a/manila_tempest_tests/tests/scenario/test_share_basic_ops.py
+++ b/manila_tempest_tests/tests/scenario/test_share_basic_ops.py
@@ -175,7 +175,15 @@
instance = self.boot_instance()
self.allow_access_ip(self.share['id'], instance=instance)
ssh_client = self.init_ssh(instance)
- for location in self.share['export_locations']:
+
+ if utils.is_microversion_lt(CONF.share.max_api_microversion, "2.9"):
+ locations = self.share['export_locations']
+ else:
+ exports = self.shares_v2_client.list_share_export_locations(
+ self.share['id'])
+ locations = [x['path'] for x in exports]
+
+ for location in locations:
self.mount_share(location, ssh_client)
self.umount_share(ssh_client)
self.servers_client.delete_server(instance['id'])
@@ -192,10 +200,14 @@
self.allow_access_ip(self.share['id'], instance=instance1)
ssh_client_inst1 = self.init_ssh(instance1)
- # TODO(vponomaryov): use separate API for getting export location for
- # share when "v2" client is used.
- first_location = self.share['export_locations'][0]
- self.mount_share(first_location, ssh_client_inst1)
+ if utils.is_microversion_lt(CONF.share.max_api_microversion, "2.9"):
+ locations = self.share['export_locations']
+ else:
+ exports = self.shares_v2_client.list_share_export_locations(
+ self.share['id'])
+ locations = [x['path'] for x in exports]
+
+ self.mount_share(locations[0], ssh_client_inst1)
self.addCleanup(self.umount_share,
ssh_client_inst1)
self.write_data(test_data, ssh_client_inst1)
@@ -204,7 +216,7 @@
instance2 = self.boot_instance()
self.allow_access_ip(self.share['id'], instance=instance2)
ssh_client_inst2 = self.init_ssh(instance2)
- self.mount_share(first_location, ssh_client_inst2)
+ self.mount_share(locations[0], ssh_client_inst2)
self.addCleanup(self.umount_share,
ssh_client_inst2)
data = self.read_data(ssh_client_inst2)
@@ -244,10 +256,14 @@
cleanup=False)
ssh_client = self.init_ssh(instance1)
- # TODO(vponomaryov): use separate API for getting export location for
- # share when "v2" client is used.
- first_location = self.share['export_locations'][0]
- self.mount_share(first_location, ssh_client)
+ if utils.is_microversion_lt(CONF.share.max_api_microversion, "2.9"):
+ locations = self.share['export_locations']
+ else:
+ exports = self.shares_v2_client.list_share_export_locations(
+ self.share['id'])
+ locations = [x['path'] for x in exports]
+
+ self.mount_share(locations[0], ssh_client)
ssh_client.exec_command("mkdir -p /mnt/f1")
ssh_client.exec_command("mkdir -p /mnt/f2")
@@ -271,20 +287,20 @@
self.umount_share(ssh_client)
share = self.migrate_share(share['id'], dest_pool)
- if utils.is_microversion_supported("2.9"):
- second_location = (
- self.shares_v2_client.list_share_export_locations(
- share['id'])[0]['path'])
+ if utils.is_microversion_lt(CONF.share.max_api_microversion, "2.9"):
+ new_locations = self.share['export_locations']
else:
- # NOTE(vponomaryov): following approach is valid for picking up
- # export location only using microversions lower than '2.9'.
- second_location = share['export_locations'][0]
+ new_exports = self.shares_v2_client.list_share_export_locations(
+ self.share['id'])
+ new_locations = [x['path'] for x in new_exports]
self.assertEqual(dest_pool, share['host'])
- self.assertNotEqual(first_location, second_location)
+ locations.sort()
+ new_locations.sort()
+ self.assertNotEqual(locations, new_locations)
self.assertEqual('migration_success', share['task_state'])
- self.mount_share(second_location, ssh_client)
+ self.mount_share(new_locations[0], ssh_client)
output = ssh_client.exec_command("ls -lRA --ignore=lost+found /mnt")
@@ -301,7 +317,7 @@
protocol = "NFS"
def mount_share(self, location, ssh_client):
- ssh_client.exec_command("sudo mount \"%s\" /mnt" % location)
+ ssh_client.exec_command("sudo mount -vt nfs \"%s\" /mnt" % location)
class TestShareBasicOpsCIFS(ShareBasicOpsBase):