diff --git a/zaza/openstack/charm_tests/dragent/configure.py b/zaza/openstack/charm_tests/dragent/configure.py index f509609..e7edbbf 100644 --- a/zaza/openstack/charm_tests/dragent/configure.py +++ b/zaza/openstack/charm_tests/dragent/configure.py @@ -37,8 +37,8 @@ OVERCLOUD_NETWORK_CONFIG = { "router_name": "provider-router", "ip_version": "4", "address_scope": "public", - "external_net_name": "ext_net", - "external_subnet_name": "ext_net_subnet", + "external_net_name": openstack_utils.EXT_NET, + "external_subnet_name": openstack_utils.EXT_NET_SUBNET, "prefix_len": "24", "subnetpool_name": "pooled_subnets", "subnetpool_prefix": "192.168.0.0/16", diff --git a/zaza/openstack/charm_tests/magnum/tests.py b/zaza/openstack/charm_tests/magnum/tests.py index e2d77e8..da43a53 100644 --- a/zaza/openstack/charm_tests/magnum/tests.py +++ b/zaza/openstack/charm_tests/magnum/tests.py @@ -65,7 +65,7 @@ class MagnumBasicDeployment(test_utils.OpenStackBaseTest): template_fields = { 'name': TEMPLATE_NAME, 'image_id': IMAGE_NAME, - 'external_network_id': 'ext_net', + 'external_network_id': openstack_utils.EXT_NET, 'dns_nameserver': '1.1.1.1', 'master_flavor_id': FLAVOR_NAME, 'flavor_id': FLAVOR_NAME, diff --git a/zaza/openstack/charm_tests/neutron/setup.py b/zaza/openstack/charm_tests/neutron/setup.py index 1402c8f..6aa9b90 100644 --- a/zaza/openstack/charm_tests/neutron/setup.py +++ b/zaza/openstack/charm_tests/neutron/setup.py @@ -38,13 +38,13 @@ OVERCLOUD_NETWORK_CONFIG = { "router_name": "provider-router", "ip_version": "4", "address_scope": "public", - "external_net_name": "ext_net", - "external_subnet_name": "ext_net_subnet", + "external_net_name": openstack_utils.EXT_NET, + "external_subnet_name": openstack_utils.EXT_NET_SUBNET, "prefix_len": "24", "subnetpool_name": "pooled_subnets", "subnetpool_prefix": "192.168.0.0/16", - "project_net_name": "private", - "project_subnet_name": "private_subnet", + "project_net_name": openstack_utils.PRIVATE_NET, + "project_subnet_name": openstack_utils.PRIVATE_NET_SUBNET, } OVERCLOUD_PROVIDER_VLAN_NETWORK_CONFIG = { diff --git a/zaza/openstack/charm_tests/nova/utils.py b/zaza/openstack/charm_tests/nova/utils.py index 87af7d5..c5732b7 100644 --- a/zaza/openstack/charm_tests/nova/utils.py +++ b/zaza/openstack/charm_tests/nova/utils.py @@ -14,6 +14,8 @@ """Data for nova tests.""" +import os + FLAVORS = { 'm1.tiny': { 'flavorid': 1, @@ -75,4 +77,4 @@ FLAVORS = { }, }, } -KEYPAIR_NAME = 'zaza' +KEYPAIR_NAME = os.environ.get('TEST_KEYPAIR_NAME', 'zaza') diff --git a/zaza/openstack/charm_tests/octavia/tests.py b/zaza/openstack/charm_tests/octavia/tests.py index 086932b..789c2af 100644 --- a/zaza/openstack/charm_tests/octavia/tests.py +++ b/zaza/openstack/charm_tests/octavia/tests.py @@ -473,10 +473,11 @@ class LBAASv2Test(test_utils.OpenStackBaseTest): # Get IP of the prepared payload instances payload_ips = [] for server in (instance_1, instance_2): - payload_ips.append(server.networks['private'][0]) + payload_ips.append(server.networks[openstack_utils.PRIVATE_NET][0]) self.assertTrue(len(payload_ips) > 0) - resp = self.neutron_client.list_networks(name='private') + resp = self.neutron_client.list_networks( + name=openstack_utils.PRIVATE_NET) subnet_id = resp['networks'][0]['subnets'][0] if openstack_utils.dvr_enabled(): resp = self.neutron_client.list_networks( @@ -508,7 +509,8 @@ class LBAASv2Test(test_utils.OpenStackBaseTest): raise final_exc lb_fp = openstack_utils.create_floating_ip( - self.neutron_client, 'ext_net', port={'id': lb['vip_port_id']}) + self.neutron_client, + openstack_utils.EXT_NET, port={'id': lb['vip_port_id']}) snippet = 'This is the default welcome page' assert snippet in self._get_payload(lb_fp['floating_ip_address']) diff --git a/zaza/openstack/configure/bgp_speaker.py b/zaza/openstack/configure/bgp_speaker.py index 4fd9587..03e3ed4 100755 --- a/zaza/openstack/configure/bgp_speaker.py +++ b/zaza/openstack/configure/bgp_speaker.py @@ -26,8 +26,6 @@ from zaza.openstack.utilities import ( ) -EXT_NET = "ext_net" -PRIVATE_NET = "private" FIP_TEST = "FIP TEST" @@ -71,9 +69,9 @@ def setup_bgp_speaker(peer_application_name, keystone_session=None): # Add networks to bgp speaker logging.info("Advertising BGP routes") openstack_utils.add_network_to_bgp_speaker( - neutron_client, bgp_speaker, EXT_NET) + neutron_client, bgp_speaker, openstack_utils.EXT_NET) openstack_utils.add_network_to_bgp_speaker( - neutron_client, bgp_speaker, PRIVATE_NET) + neutron_client, bgp_speaker, openstack_utils.PRIVATE_NET) logging.debug("Advertised routes: {}" .format( neutron_client.list_route_advertised_from_bgp_speaker( @@ -91,8 +89,10 @@ def setup_bgp_speaker(peer_application_name, keystone_session=None): # Create Floating IP to advertise logging.info("Creating floating IP to advertise") - port = openstack_utils.create_port(neutron_client, FIP_TEST, PRIVATE_NET) - floating_ip = openstack_utils.create_floating_ip(neutron_client, EXT_NET, + port = openstack_utils.create_port(neutron_client, + FIP_TEST, openstack_utils.PRIVATE_NET) + floating_ip = openstack_utils.create_floating_ip(neutron_client, + openstack_utils.EXT_NET, port=port) logging.info( "Advertised floating IP: {}".format( diff --git a/zaza/openstack/configure/guest.py b/zaza/openstack/configure/guest.py index 1b09dfd..059a17d 100644 --- a/zaza/openstack/configure/guest.py +++ b/zaza/openstack/configure/guest.py @@ -33,23 +33,23 @@ from tenacity import ( boot_tests = { 'cirros': { - 'image_name': 'cirros', + 'image_name': openstack_utils.CIRROS_IMAGE_NAME, 'flavor_name': 'm1.tiny', 'username': 'cirros', 'bootstring': 'gocubsgo', 'password': 'gocubsgo'}, 'bionic': { - 'image_name': 'bionic', + 'image_name': openstack_utils.BIONIC_IMAGE_NAME, 'flavor_name': 'm1.small', 'username': 'ubuntu', 'bootstring': 'finished at'}, 'focal': { - 'image_name': 'focal', + 'image_name': openstack_utils.FOCAL_IMAGE_NAME, 'flavor_name': 'm1.small', 'username': 'ubuntu', 'bootstring': 'finished at'}, 'jammy': { - 'image_name': 'jammy', + 'image_name': openstack_utils.JAMMY_IMAGE_NAME, 'flavor_name': 'm1.small', 'username': 'ubuntu', 'bootstring': 'finished at'} @@ -142,10 +142,10 @@ def launch_instance(instance_key, use_boot_volume=False, vm_name=None, flavor_name = flavor_name or boot_tests[instance_key]['flavor_name'] flavor = nova_client.flavors.find(name=flavor_name) - private_network_name = private_network_name or "private" + private_network_name = private_network_name or openstack_utils.PRIVATE_NET meta = meta or {} - external_network_name = external_network_name or "ext_net" + external_network_name = external_network_name or openstack_utils.EXT_NET if attach_to_external_network: instance_network_name = external_network_name diff --git a/zaza/openstack/utilities/openstack.py b/zaza/openstack/utilities/openstack.py index 4cd403a..c5c5ee7 100644 --- a/zaza/openstack/utilities/openstack.py +++ b/zaza/openstack/utilities/openstack.py @@ -194,6 +194,16 @@ KEYSTONE_CACERT = "keystone_juju_ca_cert.crt" KEYSTONE_REMOTE_CACERT = ( "/usr/local/share/ca-certificates/{}".format(KEYSTONE_CACERT)) +EXT_NET = os.environ.get('TEST_EXT_NET', 'ext_net') +EXT_NET_SUBNET = os.environ.get('TEST_EXT_NET_SUBNET', 'ext_net_subnet') +PRIVATE_NET = os.environ.get('TEST_PRIVATE_NET', 'private') +PRIVATE_NET_SUBNET = os.environ.get('TEST_PRIVATE_NET_SUBNET', + 'private_subnet') +CIRROS_IMAGE_NAME = os.environ.get('TEST_CIRROS_IMAGE_NAME', 'cirros') +BIONIC_IMAGE_NAME = os.environ.get('TEST_BIONIC_IMAGE_NAME', 'bionic') +FOCAL_IMAGE_NAME = os.environ.get('TEST_FOCAL_IMAGE_NAME', 'focal') +JAMMY_IMAGE_NAME = os.environ.get('TEST_JAMMY_IMAGE_NAME', 'jammy') + async def async_block_until_ca_exists(application_name, ca_cert, model_name=None, timeout=2700): @@ -1142,7 +1152,7 @@ def get_mac_from_port(port, neutronclient): return refresh_port['port']['mac_address'] -def create_project_network(neutron_client, project_id, net_name='private', +def create_project_network(neutron_client, project_id, net_name=PRIVATE_NET, shared=False, network_type='gre', domain=None): """Create the project network. @@ -1182,7 +1192,7 @@ def create_project_network(neutron_client, project_id, net_name='private', return network -def create_provider_network(neutron_client, project_id, net_name='ext_net', +def create_provider_network(neutron_client, project_id, net_name=EXT_NET, external=True, shared=False, network_type='flat', vlan_id=None): """Create a provider network. @@ -1229,7 +1239,7 @@ def create_provider_network(neutron_client, project_id, net_name='ext_net', def create_project_subnet(neutron_client, project_id, network, cidr, dhcp=True, - subnet_name='private_subnet', domain=None, + subnet_name=PRIVATE_NET_SUBNET, domain=None, subnetpool=None, ip_version=4, prefix_len=24): """Create the project subnet. @@ -1282,7 +1292,7 @@ def create_project_subnet(neutron_client, project_id, network, cidr, dhcp=True, def create_provider_subnet(neutron_client, project_id, network, - subnet_name='ext_net_subnet', + subnet_name=EXT_NET_SUBNET, default_gateway=None, cidr=None, start_floating_ip=None, end_floating_ip=None, dhcp=False): @@ -2860,6 +2870,10 @@ def get_private_key_file(keypair_name): :returns: Path to file containing key :rtype: str """ + key = os.environ.get("TEST_PRIVKEY") + if key: + return key + tmp_dir = deployment_env.get_tmpdir() return '{}/id_rsa_{}'.format(tmp_dir, keypair_name)