Merge "Add dummy driver"
diff --git a/manila_tempest_tests/tests/scenario/manager_share.py b/manila_tempest_tests/tests/scenario/manager_share.py
index f2604e7..972654b 100644
--- a/manila_tempest_tests/tests/scenario/manager_share.py
+++ b/manila_tempest_tests/tests/scenario/manager_share.py
@@ -107,6 +107,7 @@
search_opts={"share_network": sn_id})
for server in servers:
client.delete_share_server(server['id'])
+ for server in servers:
client.wait_for_resource_deletion(server_id=server['id'])
def _create_share_network(self, client=None, **kwargs):
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 a3e0e1f..dbe5599 100644
--- a/manila_tempest_tests/tests/scenario/test_share_basic_ops.py
+++ b/manila_tempest_tests/tests/scenario/test_share_basic_ops.py
@@ -14,6 +14,7 @@
# under the License.
from oslo_log import log as logging
+from tempest.common import waiters
from tempest import config
from tempest.lib.common.utils import data_utils
from tempest.lib.common.utils import test_utils
@@ -65,14 +66,17 @@
'user: {ssh_user}'.format(
image=self.image_ref, flavor=self.flavor_ref,
ssh_user=self.ssh_user))
+ self.security_group = self._create_security_group()
+ if CONF.share.multitenancy_enabled:
+ self.create_share_network()
- def boot_instance(self):
+ def boot_instance(self, wait_until="ACTIVE"):
self.keypair = self.create_keypair()
security_groups = [{'name': self.security_group['name']}]
create_kwargs = {
'key_name': self.keypair['name'],
'security_groups': security_groups,
- 'wait_until': 'ACTIVE',
+ 'wait_until': wait_until,
}
if CONF.share.multitenancy_enabled:
create_kwargs['networks'] = [{'uuid': self.net['id']}, ]
@@ -152,7 +156,6 @@
'share_type_id': self._get_share_type()['id'],
}
if CONF.share.multitenancy_enabled:
- self.create_share_network()
kwargs.update({'share_network_id': self.share_net['id']})
self.share = self._create_share(**kwargs)
@@ -163,6 +166,7 @@
first_address = net_addresses.values()[0][0]
ip = first_address['addr']
except Exception:
+ LOG.debug("Instance: %s" % instance)
# In case on an error ip will be still none
LOG.exception("Instance does not have a valid IP address."
"Falling back to default")
@@ -171,12 +175,17 @@
self._allow_access(share_id, access_type='ip', access_to=ip,
cleanup=cleanup)
+ def wait_for_active_instance(self, instance_id):
+ waiters.wait_for_server_status(
+ self.manager.servers_client, instance_id, "ACTIVE")
+ return self.manager.servers_client.show_server(instance_id)["server"]
+
@test.services('compute', 'network')
@test.attr(type=[base.TAG_POSITIVE, base.TAG_BACKEND])
def test_mount_share_one_vm(self):
- self.security_group = self._create_security_group()
+ instance = self.boot_instance(wait_until="BUILD")
self.create_share()
- instance = self.boot_instance()
+ instance = self.wait_for_active_instance(instance["id"])
self.allow_access_ip(self.share['id'], instance=instance,
cleanup=False)
ssh_client = self.init_ssh(instance)
@@ -198,11 +207,15 @@
def test_read_write_two_vms(self):
"""Boots two vms and writes/reads data on it."""
test_data = "Some test data to write"
- self.security_group = self._create_security_group()
- self.create_share()
- # boot first VM and write data
- instance1 = self.boot_instance()
+ # Boot two VMs and create share
+ instance1 = self.boot_instance(wait_until="BUILD")
+ instance2 = self.boot_instance(wait_until="BUILD")
+ self.create_share()
+ instance1 = self.wait_for_active_instance(instance1["id"])
+ instance2 = self.wait_for_active_instance(instance2["id"])
+
+ # Write data to first VM
self.allow_access_ip(self.share['id'], instance=instance1,
cleanup=False)
ssh_client_inst1 = self.init_ssh(instance1)
@@ -219,9 +232,9 @@
ssh_client_inst1)
self.write_data(test_data, ssh_client_inst1)
- # boot second VM and read
- instance2 = self.boot_instance()
- self.allow_access_ip(self.share['id'], instance=instance2)
+ # Read from second VM
+ self.allow_access_ip(
+ self.share['id'], instance=instance2, cleanup=False)
ssh_client_inst2 = self.init_ssh(instance2)
self.mount_share(locations[0], ssh_client_inst2)
self.addCleanup(self.umount_share,
@@ -247,8 +260,9 @@
"are needed to run migration tests. "
"Skipping.")
- self.security_group = self._create_security_group()
+ instance = self.boot_instance(wait_until="BUILD")
self.create_share()
+ instance = self.wait_for_active_instance(instance["id"])
share = self.shares_client.get_share(self.share['id'])
dest_pool = next((x for x in pools if x['name'] != share['host']),
@@ -259,10 +273,9 @@
dest_pool = dest_pool['name']
- instance1 = self.boot_instance()
- self.allow_access_ip(self.share['id'], instance=instance1,
+ self.allow_access_ip(self.share['id'], instance=instance,
cleanup=False)
- ssh_client = self.init_ssh(instance1)
+ ssh_client = self.init_ssh(instance)
if utils.is_microversion_lt(CONF.share.max_api_microversion, "2.9"):
locations = self.share['export_locations']