From ef07bda783fe6fed0c55634e19df95d72338010d Mon Sep 17 00:00:00 2001 From: Cédric Ollivier Date: Fri, 15 Jun 2018 08:15:10 +0200 Subject: Remove cli and api MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit cli has been deprecated for a while and restapi is uncovered and unverified. This patch will be partially reverted as soon as next unit tests cover functest/api. It partially updates troubleshooting docs which has to be completed in a second change [1]. [1] https://jira.opnfv.org/browse/FUNCTEST-982 Change-Id: I08e0bd212fcf5f5c5c220eb2500a6b0a6ff46df7 Signed-off-by: Cédric Ollivier --- functest/cli/__init__.py | 0 functest/cli/cli_base.py | 129 ---------------------------------- functest/cli/commands/__init__.py | 0 functest/cli/commands/cli_env.py | 49 ------------- functest/cli/commands/cli_os.py | 63 ----------------- functest/cli/commands/cli_testcase.py | 50 ------------- functest/cli/commands/cli_tier.py | 87 ----------------------- 7 files changed, 378 deletions(-) delete mode 100644 functest/cli/__init__.py delete mode 100644 functest/cli/cli_base.py delete mode 100644 functest/cli/commands/__init__.py delete mode 100644 functest/cli/commands/cli_env.py delete mode 100644 functest/cli/commands/cli_os.py delete mode 100644 functest/cli/commands/cli_testcase.py delete mode 100644 functest/cli/commands/cli_tier.py (limited to 'functest/cli') diff --git a/functest/cli/__init__.py b/functest/cli/__init__.py deleted file mode 100644 index e69de29bb..000000000 diff --git a/functest/cli/cli_base.py b/functest/cli/cli_base.py deleted file mode 100644 index 1a057e1bf..000000000 --- a/functest/cli/cli_base.py +++ /dev/null @@ -1,129 +0,0 @@ -#!/usr/bin/env python -# -# jose.lausuch@ericsson.com -# All rights reserved. This program and the accompanying materials -# are made available under the terms of the Apache License, Version 2.0 -# which accompanies this distribution, and is available at -# http://www.apache.org/licenses/LICENSE-2.0 - -# pylint: disable=missing-docstring - -import logging.config -import pkg_resources - -import click - -from functest.cli.commands.cli_env import CliEnv -from functest.cli.commands.cli_os import CliOpenStack -from functest.cli.commands.cli_testcase import CliTestcase -from functest.cli.commands.cli_tier import CliTier - - -CONTEXT_SETTINGS = dict(help_option_names=['-h', '--help']) - - -@click.group(context_settings=CONTEXT_SETTINGS) -@click.version_option(version='opnfv colorado.0.1 ') -def cli(): - logging.config.fileConfig(pkg_resources.resource_filename( - 'functest', 'ci/logging.ini')) - logging.captureWarnings(True) - - -ENV = CliEnv() -OPENSTACK = CliOpenStack() -TESTCASE = CliTestcase() -TIER = CliTier() - - -@cli.group() -@click.pass_context -def env(ctx): # pylint: disable=unused-argument - pass - - -@cli.group() -@click.pass_context -def openstack(ctx): # pylint: disable=unused-argument - pass - - -@cli.group() -@click.pass_context -def testcase(ctx): # pylint: disable=unused-argument - pass - - -@cli.group() -@click.pass_context -def tier(ctx): # pylint: disable=unused-argument - pass - - -@openstack.command('check', help="Checks connectivity and status " - "to the OpenStack deployment.") -def os_check(): - OPENSTACK.check() - - -@openstack.command('show-credentials', - help="Prints the OpenStack credentials.") -def os_show_credentials(): - OPENSTACK.show_credentials() - - -@env.command('show', help="Shows information about the current environment.") -def env_show(): - ENV.show() - - -@testcase.command('list', help="Lists the available testcases.") -def testcase_list(): - TESTCASE.list() - - -@testcase.command('show', help="Shows information about a test case.") -@click.argument('testname', type=click.STRING, required=True) -def testcase_show(testname): - TESTCASE.show(testname) - - -@testcase.command('run', help="Executes a test case.") -@click.argument('testname', type=click.STRING, required=True) -@click.option('-n', '--noclean', is_flag=True, default=False, - help='The created openstack resources by the test' - 'will not be cleaned after the execution.') -@click.option('-r', '--report', is_flag=True, default=False, - help='Push results to the results DataBase. Only CI Pods' - 'have rights to do that.') -def testcase_run(testname, noclean, report): - TESTCASE.run(testname, noclean, report) - - -@tier.command('list', help="Lists the available tiers.") -def tier_list(): - TIER.list() - - -@tier.command('show', help="Shows information about a tier.") -@click.argument('tiername', type=click.STRING, required=True) -def tier_show(tiername): - TIER.show(tiername) - - -@tier.command('get-tests', help="Prints the tests in a tier.") -@click.argument('tiername', type=click.STRING, required=True) -def tier_gettests(tiername): - TIER.gettests(tiername) - - -@tier.command('run', help="Executes all the tests within a tier.") -@click.argument('tiername', type=click.STRING, required=True) -@click.option('-n', '--noclean', is_flag=True, default=False, - help='The created openstack resources by the tests' - 'will not be cleaned after the execution.') -@click.option('-r', '--report', is_flag=True, default=False, - help='Push results to the results DataBase. Only CI Pods' - 'have rights to do that.') -def tier_run(tiername, noclean, report): - TIER.run(tiername, noclean, report) diff --git a/functest/cli/commands/__init__.py b/functest/cli/commands/__init__.py deleted file mode 100644 index e69de29bb..000000000 diff --git a/functest/cli/commands/cli_env.py b/functest/cli/commands/cli_env.py deleted file mode 100644 index 18c8895ae..000000000 --- a/functest/cli/commands/cli_env.py +++ /dev/null @@ -1,49 +0,0 @@ -#!/usr/bin/env python -# -# jose.lausuch@ericsson.com -# All rights reserved. This program and the accompanying materials -# are made available under the terms of the Apache License, Version 2.0 -# which accompanies this distribution, and is available at -# http://www.apache.org/licenses/LICENSE-2.0 - -# pylint: disable=missing-docstring - -import click -import prettytable -import six - -from functest.utils import env - - -class Env(object): # pylint: disable=too-few-public-methods - - @staticmethod - def show(): - install_type = env.get('INSTALLER_TYPE') - scenario = env.get('DEPLOY_SCENARIO') - node = env.get('NODE_NAME') - build_tag = env.get('BUILD_TAG') - if build_tag: - build_tag = build_tag.lstrip( - "jenkins-").lstrip("functest").lstrip("-") - - env_info = {'INSTALLER': install_type, - 'SCENARIO': scenario, - 'POD': node, - 'BUILD_TAG': build_tag} - - return env_info - - -class CliEnv(object): # pylint: disable=too-few-public-methods - - @staticmethod - def show(): - env_info = Env.show() - msg = prettytable.PrettyTable( - header_style='upper', padding_width=5, - field_names=['Functest Environment', 'value']) - for key, value in six.iteritems(env_info): - if key is not None: - msg.add_row([key, value]) - click.echo(msg.get_string()) diff --git a/functest/cli/commands/cli_os.py b/functest/cli/commands/cli_os.py deleted file mode 100644 index d3e229c81..000000000 --- a/functest/cli/commands/cli_os.py +++ /dev/null @@ -1,63 +0,0 @@ -#!/usr/bin/env python -# -# jose.lausuch@ericsson.com -# All rights reserved. This program and the accompanying materials -# are made available under the terms of the Apache License, Version 2.0 -# which accompanies this distribution, and is available at -# http://www.apache.org/licenses/LICENSE-2.0 - -# pylint: disable=missing-docstring - -import os - -import click -from six.moves import urllib - -from functest.ci import check_deployment -from functest.utils import constants - - -class OpenStack(object): - - def __init__(self): - self.os_auth_url = os.environ.get('OS_AUTH_URL', None) - self.endpoint_ip = None - self.endpoint_port = None - self.openstack_creds = constants.ENV_FILE - if self.os_auth_url: - self.endpoint_ip = urllib.parse.urlparse(self.os_auth_url).hostname - self.endpoint_port = urllib.parse.urlparse(self.os_auth_url).port - - def ping_endpoint(self): - if self.os_auth_url is None: - click.echo("Source the OpenStack credentials first") - exit(0) - response = os.system("ping -c 1 " + self.endpoint_ip + ">/dev/null") - if response == 0: - return 0 - else: - click.echo("Cannot talk to the endpoint %s\n" % self.endpoint_ip) - exit(0) - - @staticmethod - def show_credentials(): - dic_credentials = {} - for key, value in os.environ.items(): - if key.startswith('OS_'): - dic_credentials.update({key: value}) - return dic_credentials - - def check(self): - self.ping_endpoint() - deployment = check_deployment.CheckDeployment() - deployment.check_all() - - -class CliOpenStack(OpenStack): - - @staticmethod - def show_credentials(): - dic_credentials = OpenStack.show_credentials() - for key, value in dic_credentials.items(): - if key.startswith('OS_'): - click.echo("{}={}".format(key, value)) diff --git a/functest/cli/commands/cli_testcase.py b/functest/cli/commands/cli_testcase.py deleted file mode 100644 index a8ead5f53..000000000 --- a/functest/cli/commands/cli_testcase.py +++ /dev/null @@ -1,50 +0,0 @@ -#!/usr/bin/env python -# -# jose.lausuch@ericsson.com -# All rights reserved. This program and the accompanying materials -# are made available under the terms of the Apache License, Version 2.0 -# which accompanies this distribution, and is available at -# http://www.apache.org/licenses/LICENSE-2.0 - -# pylint: disable=missing-docstring - -import click - -from functest.cli.commands import cli_tier -from functest.utils import functest_utils - - -class Testcase(cli_tier.Tier): - - def list(self): - summary = "" - for tier in self.tiers.get_tiers(): - for test in tier.get_tests(): - summary += (" %s\n" % test.get_name()) - return summary - - def show(self, name): - description = self.tiers.get_test(name) - return description - - @staticmethod - def run(name, noclean=False, report=False): - tests = name.split(",") - for test in tests: - cmd = "run_tests {}-t {}".format( - Testcase.get_flags(noclean, report), test) - functest_utils.execute_command(cmd) - - -class CliTestcase(Testcase): - - def list(self): - click.echo(super(CliTestcase, self).list()) - - def show(self, name): - testcase_show = super(CliTestcase, self).show(name) - if testcase_show: - click.echo(testcase_show) - else: - click.echo("The test case '%s' does not exist or is not supported." - % name) diff --git a/functest/cli/commands/cli_tier.py b/functest/cli/commands/cli_tier.py deleted file mode 100644 index ad722a1b9..000000000 --- a/functest/cli/commands/cli_tier.py +++ /dev/null @@ -1,87 +0,0 @@ -#!/usr/bin/env python -# -# jose.lausuch@ericsson.com -# All rights reserved. This program and the accompanying materials -# are made available under the terms of the Apache License, Version 2.0 -# which accompanies this distribution, and is available at -# http://www.apache.org/licenses/LICENSE-2.0 - -# pylint: disable=missing-docstring - -import pkg_resources - -import click -from xtesting.ci import tier_builder - -from functest.utils import functest_utils -from functest.utils import env - - -class Tier(object): - - def __init__(self): - self.tiers = tier_builder.TierBuilder( - env.get('INSTALLER_TYPE'), - env.get('DEPLOY_SCENARIO'), - pkg_resources.resource_filename('xtesting', 'ci/testcases.yaml')) - - def list(self): - summary = "" - for tier in self.tiers.get_tiers(): - summary += (" - %s. %s:\n\t %s\n" - % (tier.get_order(), - tier.get_name(), - tier.get_test_names())) - return summary - - def show(self, name): - tier = self.tiers.get_tier(name) - if tier is None: - return None - tier_info = self.tiers.get_tier(name) - return tier_info - - def gettests(self, name): - tier = self.tiers.get_tier(name) - if tier is None: - return None - tests = tier.get_test_names() - return tests - - @staticmethod - def get_flags(noclean=False, report=False): - flags = "" - if noclean: - flags += "-n " - if report: - flags += "-r " - return flags - - @staticmethod - def run(name, noclean=False, report=False): - cmd = "run_tests {}-t {}".format(Tier.get_flags(noclean, report), name) - functest_utils.execute_command(cmd) - - -class CliTier(Tier): - - def list(self): - click.echo(super(CliTier, self).list()) - - def show(self, name): - tier_info = super(CliTier, self).show(name) - if tier_info: - click.echo(tier_info) - else: - tier_names = self.tiers.get_tier_names() - click.echo("The tier with name '%s' does not exist. " - "Available tiers are:\n %s\n" % (name, tier_names)) - - def gettests(self, name): - tests = super(CliTier, self).gettests(name) - if tests: - click.echo("Test cases in tier '%s':\n %s\n" % (name, tests)) - else: - tier_names = self.tiers.get_tier_names() - click.echo("The tier with name '%s' does not exist. " - "Available tiers are:\n %s\n" % (name, tier_names)) -- cgit 1.2.3-korg