X-Git-Url: https://gerrit.opnfv.org/gerrit/gitweb?a=blobdiff_plain;f=functest%2Fci%2Fcheck_deployment.py;h=ffea6beb4d30598d3c6025b945e9410822e0d5df;hb=62d12c838b7c008462b7c45731290c385ed98bff;hp=e1ad137ce6d2939535056a06bcbfc9734f870ac7;hpb=f8460182ebb264212f395e873594f84d41963243;p=functest.git diff --git a/functest/ci/check_deployment.py b/functest/ci/check_deployment.py index e1ad137ce..ffea6beb4 100644 --- a/functest/ci/check_deployment.py +++ b/functest/ci/check_deployment.py @@ -19,32 +19,36 @@ import logging import logging.config import os import pkg_resources +from six.moves import urllib import socket -from urlparse import urlparse from functest.opnfv_tests.openstack.snaps import snaps_utils +from snaps.openstack.tests import openstack_tests from snaps.openstack.utils import glance_utils from snaps.openstack.utils import keystone_utils from snaps.openstack.utils import neutron_utils from snaps.openstack.utils import nova_utils -from snaps.openstack.tests import openstack_tests __author__ = "Jose Lausuch " LOGGER = logging.getLogger(__name__) -def verify_connectivity(adress, port): - """ Returns true if an ip/port is reachable""" +def verify_connectivity(endpoint): + """ Returns true if an hostname/port is reachable""" connection = socket.socket() connection.settimeout(10) + hostname = urllib.parse.urlparse(endpoint).hostname + port = urllib.parse.urlparse(endpoint).port + if not port: + port = 443 if urllib.parse.urlparse(endpoint).scheme == "https" else 80 try: - connection.connect((adress, port)) - LOGGER.debug('%s:%s is reachable!', adress, port) + connection.connect((hostname, port)) + LOGGER.debug('%s:%s is reachable!', hostname, port) return True except socket.error: - LOGGER.error('%s:%s is not reachable.', adress, port) + LOGGER.exception('%s:%s is not reachable.', hostname, port) return False @@ -67,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) @@ -78,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", @@ -90,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", @@ -131,14 +132,14 @@ class CheckDeployment(object): """ 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) + 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. - This is the method called by prepare_env or CLI + This is the method called by CLI """ self.check_rc() try: