diff options
Diffstat (limited to 'functest/ci')
-rw-r--r-- | functest/ci/check_deployment.py | 32 | ||||
-rw-r--r-- | functest/ci/testcases.yaml | 1 |
2 files changed, 22 insertions, 11 deletions
diff --git a/functest/ci/check_deployment.py b/functest/ci/check_deployment.py index e593e17b..db94fd74 100644 --- a/functest/ci/check_deployment.py +++ b/functest/ci/check_deployment.py @@ -22,6 +22,8 @@ import pkg_resources import socket from urlparse import urlparse +from functest.opnfv_tests.openstack.snaps import snaps_utils + from snaps.openstack.utils import glance_utils from snaps.openstack.utils import keystone_utils from snaps.openstack.utils import neutron_utils @@ -33,16 +35,20 @@ __author__ = "Jose Lausuch <jose.lausuch@ericsson.com>" LOGGER = logging.getLogger(__name__) -def verify_connectivity(adress, port): +def verify_connectivity(endpoint): """ Returns true if an ip/port is reachable""" connection = socket.socket() connection.settimeout(10) + ip = urlparse(endpoint).hostname + port = urlparse(endpoint).port + if not port: + port = 443 if urlparse(endpoint).scheme == "https" else 80 try: - connection.connect((adress, port)) - LOGGER.debug('%s:%s is reachable!', adress, port) + connection.connect((ip, port)) + LOGGER.debug('%s:%s is reachable!', ip, port) return True except socket.error: - LOGGER.error('%s:%s is not reachable.', adress, port) + LOGGER.exception('%s:%s is not reachable.', ip, port) return False @@ -65,8 +71,7 @@ class CheckDeployment(object): def check_auth_endpoint(self): """ Verifies connectivity to the OS_AUTH_URL given in the RC file """ rc_endpoint = self.os_creds.auth_url - if not (verify_connectivity(urlparse(rc_endpoint).hostname, - urlparse(rc_endpoint).port)): + if not (verify_connectivity(rc_endpoint)): raise Exception("OS_AUTH_URL {} is not reachable.". format(rc_endpoint)) LOGGER.info("Connectivity to OS_AUTH_URL %s ...OK", rc_endpoint) @@ -76,8 +81,7 @@ class CheckDeployment(object): public_endpoint = keystone_utils.get_endpoint(self.os_creds, 'identity', interface='public') - if not (verify_connectivity(urlparse(public_endpoint).hostname, - urlparse(public_endpoint).port)): + if not (verify_connectivity(public_endpoint)): raise Exception("Public endpoint {} is not reachable.". format(public_endpoint)) LOGGER.info("Connectivity to the public endpoint %s ...OK", @@ -88,8 +92,7 @@ class CheckDeployment(object): endpoint = keystone_utils.get_endpoint(self.os_creds, service, interface='public') - if not (verify_connectivity(urlparse(endpoint).hostname, - urlparse(endpoint).port)): + if not (verify_connectivity(endpoint)): raise Exception("{} endpoint {} is not reachable.". format(service, endpoint)) LOGGER.info("Connectivity to endpoint '%s' %s ...OK", @@ -125,6 +128,14 @@ class CheckDeployment(object): LOGGER.error("Glance service ...FAILED") raise error + def check_ext_net(self): + """ checks if external network exists """ + ext_net = snaps_utils.get_ext_net_name(self.os_creds) + if ext_net: + LOGGER.info("External network found: %s" % ext_net) + else: + raise Exception("ERROR: No external networks in the deployment.") + def check_all(self): """ Calls all the class functions and returns 0 if all of them succeed. @@ -147,6 +158,7 @@ class CheckDeployment(object): self.check_nova() self.check_neutron() self.check_glance() + self.check_ext_net() return 0 diff --git a/functest/ci/testcases.yaml b/functest/ci/testcases.yaml index ea9f4e7b..6b1eaa9c 100644 --- a/functest/ci/testcases.yaml +++ b/functest/ci/testcases.yaml @@ -236,7 +236,6 @@ tiers: - case_name: bgpvpn project_name: sdnvpn - enabled: false criteria: 100 blocking: false description: >- |