diff --git a/plugin_test/vapor/README.rst b/plugin_test/vapor/README.rst index c9bb1683b..d7374d2f5 100644 --- a/plugin_test/vapor/README.rst +++ b/plugin_test/vapor/README.rst @@ -38,6 +38,8 @@ Fill env file OS_USERNAME=admin OS_PASSWORD=admin OS_TENANT_NAME=admin + CONTRAIL_API_URL=http://172.16.10.254:9082/ + CONTRAIL_ANALYTICS_URL=http://172.16.10.254:9081/ OS_AUTH_URL=http://10.109.1.7:5000/v3 # os-faults config @@ -110,6 +112,8 @@ Fill env file OS_USERNAME=admin OS_PASSWORD=admin OS_TENANT_NAME=admin + CONTRAIL_API_URL=http://172.16.10.254:9082/ + CONTRAIL_ANALYTICS_URL=http://172.16.10.254:9081/ OS_AUTH_URL=http://10.109.1.7:5000/v3 # os-faults config diff --git a/plugin_test/vapor/exports.sh b/plugin_test/vapor/exports.sh index d4b405ee0..2af51cb5e 100644 --- a/plugin_test/vapor/exports.sh +++ b/plugin_test/vapor/exports.sh @@ -5,6 +5,10 @@ export OS_PASSWORD=secret export OS_TENANT_NAME=admin export OS_AUTH_URL=http://127.0.0.1:5000/v3 +# contrail endpoints +export CONTRAIL_API_URL=http://172.16.10.254:9100/ +export CONTRAIL_ANALYTICS_URL=http://172.16.10.254:9081/ + # os-faults config export OS_FAULTS_CLOUD_DRIVER=tcpcloud export OS_FAULTS_CLOUD_DRIVER_ADDRESS=192.168.10.100 diff --git a/plugin_test/vapor/vapor/fixtures/contrail.py b/plugin_test/vapor/vapor/fixtures/contrail.py index df36759bd..207634e12 100644 --- a/plugin_test/vapor/vapor/fixtures/contrail.py +++ b/plugin_test/vapor/vapor/fixtures/contrail.py @@ -6,7 +6,7 @@ import logbook import pycontrail.client as client from six.moves import configparser -from six.moves.urllib import parse + from vapor import settings from vapor.helpers import clients @@ -15,15 +15,16 @@ LOGGER = logbook.Logger(__name__) @pytest.fixture -def client_contrail(session, contrail_api_endpoint): - with clients.ContrailClient(session, contrail_api_endpoint) as contrail: +def client_contrail(session): + with clients.ContrailClient(session, + settings.CONTRAIL_API_URL) as contrail: yield contrail @pytest.fixture -def client_contrail_analytics(session, contrail_analytics_endpoint): +def client_contrail_analytics(session): return clients.ContrailAnalyticsClient(session, - contrail_analytics_endpoint) + settings.CONTRAIL_ANALYTICS_URL) @pytest.fixture @@ -84,14 +85,6 @@ def contrail_api_endpoint(os_faults_steps): return 'http://{}:{}/'.format(ip.strip(), port.strip()) -@pytest.fixture(scope='module') -def contrail_analytics_endpoint(contrail_api_endpoint): - """Return contrail analytics endpoint.""" - parse_result = parse.urlparse(contrail_api_endpoint) - return parse_result._replace(netloc="{}:{}".format( - parse_result.hostname, settings.CONTRAIL_ANALYTICS_PORT)).geturl() - - @pytest.fixture(scope='module') def contrail_vrouter_agent_endpoint(contrail_services_http_introspect_ports): """Return contrail agent endpoint.""" @@ -160,12 +153,12 @@ def contrail_services_http_introspect_ports(os_faults_steps, contrail_nodes): @pytest.fixture -def contrail_api_client(session, contrail_api_endpoint): +def contrail_api_client(session): """Return instance of contail client.""" headers = {'Content-type': 'application/json; charset="UTF-8"'} headers.update(session.get_auth_headers()) return client.Client( - url=contrail_api_endpoint, headers=headers, blocking=False) + url=settings.CONTRAIL_API_URL, headers=headers, blocking=False) @pytest.fixture diff --git a/plugin_test/vapor/vapor/helpers/contrail_status.py b/plugin_test/vapor/vapor/helpers/contrail_status.py index aeea6adfb..5eb2cddb9 100644 --- a/plugin_test/vapor/vapor/helpers/contrail_status.py +++ b/plugin_test/vapor/vapor/helpers/contrail_status.py @@ -3,8 +3,7 @@ import collections import re import attrdict -from hamcrest import (empty, has_entries, contains_inanyorder, - has_length) # noqa: H301 +from hamcrest import (empty, has_entries, has_items, has_length) # noqa: H301 from stepler.third_party import waiter from vapor.helpers import asserts @@ -118,7 +117,7 @@ def check_service_status(os_faults_steps, return waiter.expect_that( services, has_entries(**{ - node: contains_inanyorder( + node: has_items( has_entries(service=service, status=expected_status)) for node in nodes_fqdns })) diff --git a/plugin_test/vapor/vapor/settings.py b/plugin_test/vapor/vapor/settings.py index 8e2a2b9d5..e7d0ad593 100644 --- a/plugin_test/vapor/vapor/settings.py +++ b/plugin_test/vapor/vapor/settings.py @@ -27,7 +27,9 @@ KEYSTONE_CREDS = { CONTRAIL_CREDS = {'controller_addr': '192.168.1.127'} -CONTRAIL_ANALYTICS_PORT = 8081 + +CONTRAIL_API_URL = os.environ['CONTRAIL_API_URL'] +CONTRAIL_ANALYTICS_URL = os.environ['CONTRAIL_ANALYTICS_URL'] NEUTRON_CONTRAIL_PLUGIN_CONFIG_PATH = ( '/etc/neutron/plugins/opencontrail/ContrailPlugin.ini') diff --git a/plugin_test/vapor/vapor/tests/test_smoke.py b/plugin_test/vapor/vapor/tests/test_smoke.py index dd307f5f7..6152e9c9f 100644 --- a/plugin_test/vapor/vapor/tests/test_smoke.py +++ b/plugin_test/vapor/vapor/tests/test_smoke.py @@ -191,7 +191,7 @@ def test_contrail_services_status_after_restart_master_node(os_faults_steps): master_node_fqdn = None for fqdn, services in services_statuses.items(): for service in services: - if (service['name'] == 'contrail-schema' and + if (service['service'] == 'contrail-schema' and service['status'] == contrail_status.STATUS_ACTIVE): master_node_fqdn = fqdn break diff --git a/plugin_test/vapor/vapor/tests/test_system.py b/plugin_test/vapor/vapor/tests/test_system.py index a5cb4273e..df8c7fc47 100644 --- a/plugin_test/vapor/vapor/tests/test_system.py +++ b/plugin_test/vapor/vapor/tests/test_system.py @@ -238,8 +238,7 @@ def test_network_connectivity_with_policy( server_steps.check_ping_between_servers_via_floating(resources.servers) -def test_change_login_and_password(session, current_project, - contrail_api_endpoint, create_user, +def test_change_login_and_password(session, current_project, create_user, user_steps, role_steps): """Verify that login and password can be changed. @@ -267,7 +266,7 @@ def test_change_login_and_password(session, current_project, 'tenant_name': current_project.name } conn = client.Client( - url=contrail_api_endpoint, auth_params=auth_params, blocking=False) + url=settings.CONTRAIL_API_URL, auth_params=auth_params, blocking=False) # Check client operate assert_that(conn.virtual_networks_list(), is_not(empty())) @@ -279,7 +278,7 @@ def test_change_login_and_password(session, current_project, # Make Contrail client with new user credentials auth_params['password'] = password conn = client.Client( - url=contrail_api_endpoint, auth_params=auth_params, blocking=False) + url=settings.CONTRAIL_API_URL, auth_params=auth_params, blocking=False) # Check client operate net_list = waiter.wait( diff --git a/plugin_test/vapor/vapor/tests/test_vrouter.py b/plugin_test/vapor/vapor/tests/test_vrouter.py index c4107beb8..5089d55af 100644 --- a/plugin_test/vapor/vapor/tests/test_vrouter.py +++ b/plugin_test/vapor/vapor/tests/test_vrouter.py @@ -30,9 +30,12 @@ def test_router_table_cleanup(cirros_image, flavor, network, subnet, hypervisor1, = sorted_hypervisors[:1] server_create_args = dict( image=cirros_image, flavor=flavor, networks=[network]) - computes = os_faults_steps.get_nodes(fqdns=[ - hypervisor1.hypervisor_hostname, hypervisor2.hypervisor_hostname - ]) + fqdns = [ + os_faults_steps.get_fqdn_by_host_name(name) + for name in (hypervisor1.hypervisor_hostname, + hypervisor2.hypervisor_hostname) + ] + computes = os_faults_steps.get_nodes(fqdns=fqdns) route_table_before = vrouter_steps.get_route_table(os_faults_steps, computes)