X-Git-Url: https://gerrit.opnfv.org/gerrit/gitweb?a=blobdiff_plain;f=functest%2Fci%2Fprepare_env.py;h=9ed585f3dbbe4f022c3fb6c2d2b0bb16c736746c;hb=1da439765b20bbc9a1f63d736f4c6284b654d50d;hp=64fcc9256ac099eda26023d18551a0c5c31cc15e;hpb=e6ba4064cee974284a9ae623ba9de9a40877c59d;p=functest.git diff --git a/functest/ci/prepare_env.py b/functest/ci/prepare_env.py old mode 100755 new mode 100644 index 64fcc9256..9ed585f3d --- a/functest/ci/prepare_env.py +++ b/functest/ci/prepare_env.py @@ -19,6 +19,7 @@ import fileinput import yaml +from functest.ci import check_deployment import functest.utils.functest_utils as ft_utils import functest.utils.openstack_utils as os_utils from functest.utils.constants import CONST @@ -32,7 +33,7 @@ actions = ['start', 'check'] logger = logging.getLogger('functest.ci.prepare_env') handler = None # set the architecture to default -pod_arch = None +pod_arch = os.getenv("HOST_ARCH", None) arch_filter = ['aarch64'] CONFIG_FUNCTEST_PATH = pkg_resources.resource_filename( @@ -177,26 +178,6 @@ def create_directories(): def source_rc_file(): print_separator() - if CONST.__getattribute__('openstack_creds') is None: - logger.warning("The environment variable 'creds' must be set and" - "pointing to the local RC file. Using default: " - "/home/opnfv/functest/conf/openstack.creds ...") - os.path.join( - CONST.__getattribute__('dir_functest_conf'), 'openstack.creds') - - if not os.path.isfile(CONST.__getattribute__('openstack_creds')): - raise Exception( - "OpenStack credentials file not provided. " - "The OpenStack credentials must be in {}" - .format(CONST.__getattribute__('openstack_creds'))) - else: - logger.info("RC file provided in %s." - % CONST.__getattribute__('openstack_creds')) - if os.path.getsize(CONST.__getattribute__('openstack_creds')) == 0: - raise Exception( - "The OpenStack RC file {} is empty." - .format(CONST.__getattribute__('openstack_creds'))) - logger.info("Sourcing the OpenStack RC file...") os_utils.source_credentials(CONST.__getattribute__('openstack_creds')) for key, value in os.environ.iteritems(): @@ -250,19 +231,9 @@ def update_db_url(): def verify_deployment(): print_separator() - logger.info("Verifying OpenStack services...") - cmd = ("%s" % pkg_resources.resource_filename( - 'functest', 'ci/check_os.sh')) - - logger.debug("Executing command: %s" % cmd) - p = subprocess.Popen(cmd, stdout=subprocess.PIPE, shell=True) - - while p.poll() is None: - line = p.stdout.readline().rstrip() - if "ERROR" in line: - logger.error(line) - raise Exception("Problem while running 'check_os.sh'.") - logger.info(line) + logger.info("Verifying OpenStack deployment...") + deployment = check_deployment.CheckDeployment() + deployment.check_all() def install_rally(): @@ -358,18 +329,18 @@ def print_deployment_info(): handler.get_deployment_info()) -def main(**kwargs): +def prepare_env(**kwargs): try: if not (kwargs['action'] in actions): logger.error('Argument not valid.') return -1 elif kwargs['action'] == "start": logger.info("######### Preparing Functest environment #########\n") + verify_deployment() check_env_variables() create_directories() source_rc_file() update_config_file() - verify_deployment() install_rally() install_tempest() create_flavor() @@ -384,9 +355,9 @@ def main(**kwargs): return 0 -if __name__ == '__main__': +def main(): logging.config.fileConfig(pkg_resources.resource_filename( 'functest', 'ci/logging.ini')) parser = PrepareEnvParser() args = parser.parse_args(sys.argv[1:]) - sys.exit(main(**args)) + return prepare_env(**args)