X-Git-Url: https://gerrit.opnfv.org/gerrit/gitweb?a=blobdiff_plain;f=functest%2Fcli%2Fcommands%2Fcli_env.py;h=f5ba4b3423b7c5bfffc7da902e4c69fbcf2fc290;hb=ac816628995c1e017f12ba23435ae07d24ceecac;hp=d331cc15ad30c2d12442443b05d02f8a3393939e;hpb=3718b1de246a72e4cd1d10efdaa861643544db61;p=functest.git diff --git a/functest/cli/commands/cli_env.py b/functest/cli/commands/cli_env.py index d331cc15a..f5ba4b342 100644 --- a/functest/cli/commands/cli_env.py +++ b/functest/cli/commands/cli_env.py @@ -12,13 +12,11 @@ import os import click import git +from functest.utils.constants import CONST import functest.utils.functest_utils as ft_utils -ENV_FILE = "/home/opnfv/functest/conf/env_active" -FUNCTEST_REPO = ft_utils.FUNCTEST_REPO - -class CliEnv: +class CliEnv(object): def __init__(self): pass @@ -30,47 +28,40 @@ class CliEnv: "it again? [y|n]\n") while True: if answer.lower() in ["y", "yes"]: - os.remove(ENV_FILE) + os.remove(CONST.__getattribute__('env_active')) break elif answer.lower() in ["n", "no"]: return else: answer = raw_input("Invalid answer. Please type [y|n]\n") - cmd = ("python %s/functest/ci/prepare_env.py start" % FUNCTEST_REPO) + cmd = ("python %s/functest/ci/prepare_env.py start" % + CONST.__getattribute__('dir_repo_functest')) ft_utils.execute_command(cmd) def show(self): - CI_INSTALLER_TYPE = os.getenv('INSTALLER_TYPE') - if CI_INSTALLER_TYPE is None: - CI_INSTALLER_TYPE = "Unknown" - CI_INSTALLER_IP = os.getenv('INSTALLER_IP') - if CI_INSTALLER_IP is None: - CI_INSTALLER_IP = "Unknown" - CI_INSTALLER = ("%s, %s" % (CI_INSTALLER_TYPE, CI_INSTALLER_IP)) - - CI_SCENARIO = os.getenv('DEPLOY_SCENARIO') - if CI_SCENARIO is None: - CI_SCENARIO = "Unknown" - - CI_NODE = os.getenv('NODE_NAME') - if CI_NODE is None: - CI_NODE = "Unknown" - - repo = git.Repo(FUNCTEST_REPO) - branch = repo.head.reference - GIT_BRANCH = branch.name - GIT_HASH = branch.commit.hexsha - - CI_BUILD_TAG = os.getenv('BUILD_TAG') - if CI_BUILD_TAG is not None: - CI_BUILD_TAG = CI_BUILD_TAG.lstrip( + def _get_value(attr, default='Unknown'): + return attr if attr else default + + install_type = _get_value(CONST.__getattribute__('INSTALLER_TYPE')) + installer_ip = _get_value(CONST.__getattribute__('INSTALLER_IP')) + installer_info = ("%s, %s" % (install_type, installer_ip)) + scenario = _get_value(CONST.__getattribute__('DEPLOY_SCENARIO')) + node = _get_value(CONST.__getattribute__('NODE_NAME')) + repo_h = git.Repo(CONST.__getattribute__('dir_repo_functest')).head + if repo_h.is_detached: + git_branch = 'detached from FETCH_HEAD' + git_hash = repo_h.commit.hexsha + else: + branch = repo_h.reference + git_branch = branch.name + git_hash = branch.commit.hexsha + is_debug = _get_value(CONST.__getattribute__('CI_DEBUG'), 'false') + build_tag = CONST.__getattribute__('BUILD_TAG') + if build_tag is not None: + build_tag = build_tag.lstrip( "jenkins-").lstrip("functest").lstrip("-") - CI_DEBUG = os.getenv('CI_DEBUG') - if CI_DEBUG is None: - CI_DEBUG = "false" - STATUS = "not ready" if self.status(verbose=False) == 0: STATUS = "ready" @@ -78,14 +69,14 @@ class CliEnv: click.echo("+======================================================+") click.echo("| Functest Environment info |") click.echo("+======================================================+") - click.echo("| INSTALLER: %s|" % CI_INSTALLER.ljust(41)) - click.echo("| SCENARIO: %s|" % CI_SCENARIO.ljust(41)) - click.echo("| POD: %s|" % CI_NODE.ljust(41)) - click.echo("| GIT BRACNH: %s|" % GIT_BRANCH.ljust(41)) - click.echo("| GIT HASH: %s|" % GIT_HASH.ljust(41)) - if CI_BUILD_TAG: - click.echo("| BUILD TAG: %s|" % CI_BUILD_TAG.ljust(41)) - click.echo("| DEBUG FLAG: %s|" % CI_DEBUG.ljust(41)) + click.echo("| INSTALLER: %s|" % installer_info.ljust(41)) + click.echo("| SCENARIO: %s|" % scenario.ljust(41)) + click.echo("| POD: %s|" % node.ljust(41)) + click.echo("| GIT BRACNH: %s|" % git_branch.ljust(41)) + click.echo("| GIT HASH: %s|" % git_hash.ljust(41)) + if build_tag: + click.echo("| BUILD TAG: %s|" % build_tag.ljust(41)) + click.echo("| DEBUG FLAG: %s|" % is_debug.ljust(41)) click.echo("+------------------------------------------------------+") click.echo("| STATUS: %s|" % STATUS.ljust(41)) click.echo("+------------------------------------------------------+") @@ -93,7 +84,7 @@ class CliEnv: def status(self, verbose=True): ret_val = 0 - if not os.path.isfile(ENV_FILE): + if not os.path.isfile(CONST.__getattribute__('env_active')): if verbose: click.echo("Functest environment is not installed.\n") ret_val = 1