Add a function for creating a server on a given network
For enabling tenant network connectivity checks when tenant networks
are not reachable, connectivity will be checked verifying if an
instance can be reached from another instance on the same network.
To this aim it will be necessary to boot additional servers.
This patch refactors _create_servers extracting the code for starting
a single server into its own method.
This method will allow the caller to choose on which networks the
server should be booted. This will be useful for other useful test
cases such as verifying tenant connectivity across distinct networks
connected by a router.
Partial-Bug #1226158
Change-Id: I0051eb1a2ef4113a624517b15775c9c0d7bfef1d
diff --git a/tempest/scenario/test_network_basic_ops.py b/tempest/scenario/test_network_basic_ops.py
index 4f74d10..de05875 100644
--- a/tempest/scenario/test_network_basic_ops.py
+++ b/tempest/scenario/test_network_basic_ops.py
@@ -202,21 +202,25 @@
self.assertIn(myrouter.name, seen_router_names)
self.assertIn(myrouter.id, seen_router_ids)
+ def _create_server(self, name, network):
+ tenant_id = network.tenant_id
+ keypair_name = self.keypairs[tenant_id].name
+ security_groups = [self.security_groups[tenant_id].name]
+ create_kwargs = {
+ 'nics': [
+ {'net-id': network.id},
+ ],
+ 'key_name': keypair_name,
+ 'security_groups': security_groups,
+ }
+ server = self.create_server(self.compute_client, name=name,
+ create_kwargs=create_kwargs)
+ return server
+
def _create_servers(self):
for i, network in enumerate(self.networks):
- tenant_id = network.tenant_id
name = rand_name('server-smoke-%d-' % i)
- keypair_name = self.keypairs[tenant_id].name
- security_groups = [self.security_groups[tenant_id].name]
- create_kwargs = {
- 'nics': [
- {'net-id': network.id},
- ],
- 'key_name': keypair_name,
- 'security_groups': security_groups,
- }
- server = self.create_server(self.compute_client, name=name,
- create_kwargs=create_kwargs)
+ server = self._create_server(name, network)
self.servers.append(server)
def _check_tenant_network_connectivity(self):