From 81e3719bce31a74b027e5ba97b5b89d76e133e5e Mon Sep 17 00:00:00 2001 From: "jose.lausuch" Date: Wed, 31 May 2017 17:17:44 +0200 Subject: Remove call to fetch_os_creds.sh After [1], the openstack credentials are provided to Functest as a volume directly from CI. The same has to be done manually. Functest doesn't need the script fetch_os_creds.sh any longer. [1] https://gerrit.opnfv.org/gerrit/#/c/35199/ Change-Id: I0883ad7b248526cfe9df3fde984345bd41869e82 Signed-off-by: jose.lausuch --- functest/ci/prepare_env.py | 44 ++++----------- functest/cli/cli_base.py | 6 -- functest/cli/commands/cli_os.py | 28 ---------- functest/tests/unit/ci/test_prepare_env.py | 15 ++--- functest/tests/unit/cli/commands/test_cli_os.py | 74 ------------------------- functest/tests/unit/cli/test_cli_base.py | 7 --- 6 files changed, 15 insertions(+), 159 deletions(-) (limited to 'functest') diff --git a/functest/ci/prepare_env.py b/functest/ci/prepare_env.py index 8e17a4fc..19e37862 100755 --- a/functest/ci/prepare_env.py +++ b/functest/ci/prepare_env.py @@ -83,11 +83,9 @@ def check_env_variables(): % CONST.__getattribute__('INSTALLER_TYPE')) if CONST.__getattribute__('INSTALLER_IP') is None: - logger.warning("The env variable 'INSTALLER_IP' is not defined. " - "It is needed to fetch the OpenStack credentials. " - "If the credentials are not provided to the " - "container as a volume, please add this env variable " - "to the 'docker run' command.") + logger.warning( + "The env variable 'INSTALLER_IP' is not defined. It is recommended" + " to extract some information from the deployment") else: logger.info(" INSTALLER_IP=%s" % CONST.__getattribute__('INSTALLER_IP')) @@ -177,7 +175,6 @@ def create_directories(): def source_rc_file(): print_separator() - logger.info("Fetching RC file...") if CONST.__getattribute__('openstack_creds') is None: logger.warning("The environment variable 'creds' must be set and" @@ -187,38 +184,17 @@ def source_rc_file(): CONST.__getattribute__('dir_functest_conf'), 'openstack.creds') if not os.path.isfile(CONST.__getattribute__('openstack_creds')): - logger.info("RC file not provided. " - "Fetching it from the installer...") - if CONST.__getattribute__('INSTALLER_IP')is None: - logger.error("The env variable 'INSTALLER_IP' must be provided in" - " order to fetch the credentials from the installer.") - raise Exception("Missing CI_INSTALLER_IP.") - if (CONST.__getattribute__('INSTALLER_TYPE') not in - opnfv_constants.INSTALLERS): - logger.error("Cannot fetch credentials. INSTALLER_TYPE=%s is " - "not a valid OPNFV installer. Available " - "installers are : %s." % - (CONST.__getattribute__('INSTALLER_TYPE'), - opnfv_constants.INSTALLERS)) - raise Exception("Wrong INSTALLER_TYPE.") - - cmd = ("/home/opnfv/repos/releng/utils/fetch_os_creds.sh " - "-d %s -i %s -a %s" - % (CONST.__getattribute__('openstack_creds'), - CONST.__getattribute__('INSTALLER_TYPE'), - CONST.__getattribute__('INSTALLER_IP'))) - logger.debug("Executing command: %s" % cmd) - p = subprocess.Popen(cmd.split(), stdout=subprocess.PIPE) - output = p.communicate()[0] - logger.debug("\n%s" % output) - if p.returncode != 0: - raise Exception("Failed to fetch credentials from installer.") + 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 file %s is empty." % - CONST.__getattribute__('openstack_creds')) + 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')) diff --git a/functest/cli/cli_base.py b/functest/cli/cli_base.py index 2104e125..2f085834 100644 --- a/functest/cli/cli_base.py +++ b/functest/cli/cli_base.py @@ -86,12 +86,6 @@ def os_show_credentials(): _openstack.show_credentials() -@openstack.command('fetch-rc', help="Fetch the OpenStack RC file from " - "the installer.") -def os_fetch_rc(): - _openstack.fetch_credentials() - - @env.command('prepare', help="Prepares the Functest environment. This step is " "needed run the tests.") def env_prepare(): diff --git a/functest/cli/commands/cli_os.py b/functest/cli/commands/cli_os.py index 5e6e1109..c66362fc 100644 --- a/functest/cli/commands/cli_os.py +++ b/functest/cli/commands/cli_os.py @@ -47,34 +47,6 @@ class CliOpenStack(object): if key.startswith('OS_'): click.echo("{}={}".format(key, value)) - def fetch_credentials(self): - if os.path.isfile(self.openstack_creds): - answer = raw_input("It seems the RC file is already present. " - "Do you want to overwrite it? [y|n]\n") - while True: - if answer.lower() in ["y", "yes"]: - break - elif answer.lower() in ["n", "no"]: - return - else: - answer = raw_input("Invalid answer. Please type [y|n]\n") - - installer_type = CONST.__getattribute__('INSTALLER_TYPE') - if installer_type is None: - click.echo("The environment variable 'INSTALLER_TYPE' is not" - "defined. Please export it") - installer_ip = CONST.__getattribute__('INSTALLER_IP') - if installer_ip is None: - click.echo("The environment variable 'INSTALLER_IP' is not" - "defined. Please export it") - cmd = ("fetch_os_creds.sh -d %s -i %s -a %s" - % (self.openstack_creds, - installer_type, - installer_ip)) - click.echo("Fetching credentials from installer node '%s' with IP=%s.." - % (installer_type, installer_ip)) - ft_utils.execute_command(cmd, verbose=False) - def check(self): self.ping_endpoint() cmd = os.path.join(CONST.__getattribute__('dir_repo_functest'), diff --git a/functest/tests/unit/ci/test_prepare_env.py b/functest/tests/unit/ci/test_prepare_env.py index 513e7230..d38fa976 100644 --- a/functest/tests/unit/ci/test_prepare_env.py +++ b/functest/tests/unit/ci/test_prepare_env.py @@ -46,14 +46,9 @@ class PrepareEnvTesting(unittest.TestCase): prepare_env.check_env_variables() mock_logger_info.assert_any_call("Checking environment variables" "...") - mock_logger_warn.assert_any_call("The env variable 'INSTALLER_IP'" - " is not defined. It is needed to" - " fetch the OpenStack credentials." - " If the credentials are not" - " provided to the container as a" - " volume, please add this env" - " variable to the 'docker run'" - " command.") + mock_logger_warn.assert_any_call( + "The env variable 'INSTALLER_IP' is not defined. It is recommended" + " to extract some information from the deployment") @mock.patch('functest.ci.prepare_env.logger.info') @mock.patch('functest.ci.prepare_env.logger.warning') @@ -271,8 +266,8 @@ class PrepareEnvTesting(unittest.TestCase): mock.patch('functest.ci.prepare_env.subprocess.Popen') \ as mock_subproc_popen, \ self.assertRaises(Exception): - CONST.__setattr__('openstack_creds', 'test_creds') - CONST.__setattr__('INSTALLER_IP', None) + CONST.__setattr__('openstack_creds', None) + CONST.__setattr__('INSTALLER_IP', 'test_ip') CONST.__setattr__('INSTALLER_TYPE', 'test_type') opnfv_constants.INSTALLERS = ['test_type'] diff --git a/functest/tests/unit/cli/commands/test_cli_os.py b/functest/tests/unit/cli/commands/test_cli_os.py index b551ee4d..c3285ecb 100644 --- a/functest/tests/unit/cli/commands/test_cli_os.py +++ b/functest/tests/unit/cli/commands/test_cli_os.py @@ -61,80 +61,6 @@ class CliOpenStackTesting(unittest.TestCase): self.endpoint_ip) mock_exit.assert_called_once_with(0) - @mock.patch('functest.cli.commands.cli_os.ft_utils.execute_command') - @mock.patch('functest.cli.commands.cli_os.os.path.isfile', - return_value=False) - @mock.patch('functest.cli.commands.cli_os.click.echo') - def test_fetch_credentials_default(self, mock_click_echo, - mock_os_path, - mock_ftutils_execute): - CONST.__setattr__('INSTALLER_TYPE', self.installer_type) - CONST.__setattr__('INSTALLER_IP', self.installer_ip) - cmd = ("fetch_os_creds.sh -d %s -i %s -a %s" - % (self.openstack_creds, - self.installer_type, - self.installer_ip)) - self.cli_os.openstack_creds = self.openstack_creds - self.cli_os.fetch_credentials() - mock_click_echo.assert_called_once_with("Fetching credentials from " - "installer node '%s' with " - "IP=%s.." % - (self.installer_type, - self.installer_ip)) - mock_ftutils_execute.assert_called_once_with(cmd, verbose=False) - - @mock.patch('functest.cli.commands.cli_os.ft_utils.execute_command') - @mock.patch('functest.cli.commands.cli_os.os.path.isfile', - return_value=False) - @mock.patch('functest.cli.commands.cli_os.click.echo') - def test_fetch_credentials_missing_installer_type(self, mock_click_echo, - mock_os_path, - mock_ftutils_execute): - CONST.__setattr__('INSTALLER_TYPE', None) - CONST.__setattr__('INSTALLER_IP', self.installer_ip) - cmd = ("fetch_os_creds.sh -d %s -i %s -a %s" - % (self.openstack_creds, - None, - self.installer_ip)) - self.cli_os.openstack_creds = self.openstack_creds - self.cli_os.fetch_credentials() - mock_click_echo.assert_any_call("The environment variable " - "'INSTALLER_TYPE' is not" - "defined. Please export it") - mock_click_echo.assert_any_call("Fetching credentials from " - "installer node '%s' with " - "IP=%s.." % - (None, - self.installer_ip)) - mock_ftutils_execute.assert_called_once_with(cmd, verbose=False) - - @mock.patch('functest.cli.commands.cli_os.ft_utils.execute_command') - @mock.patch('functest.cli.commands.cli_os.os.path.isfile', - return_value=False) - @mock.patch('functest.cli.commands.cli_os.click.echo') - def test_fetch_credentials_missing_installer_ip(self, mock_click_echo, - mock_os_path, - mock_ftutils_execute): - installer_type = self.installer_type - installer_ip = None - CONST.__setattr__('INSTALLER_TYPE', installer_type) - CONST.__setattr__('INSTALLER_IP', installer_ip) - cmd = ("fetch_os_creds.sh -d %s -i %s -a %s" - % (self.openstack_creds, - installer_type, - installer_ip)) - self.cli_os.openstack_creds = self.openstack_creds - self.cli_os.fetch_credentials() - mock_click_echo.assert_any_call("The environment variable " - "'INSTALLER_IP' is not" - "defined. Please export it") - mock_click_echo.assert_any_call("Fetching credentials from " - "installer node '%s' with " - "IP=%s.." % - (installer_type, - installer_ip)) - mock_ftutils_execute.assert_called_once_with(cmd, verbose=False) - @mock.patch('functest.cli.commands.cli_os.ft_utils.execute_command') def test_check(self, mock_ftutils_execute): with mock.patch.object(self.cli_os, 'ping_endpoint'): diff --git a/functest/tests/unit/cli/test_cli_base.py b/functest/tests/unit/cli/test_cli_base.py index 89603279..61bd093e 100644 --- a/functest/tests/unit/cli/test_cli_base.py +++ b/functest/tests/unit/cli/test_cli_base.py @@ -62,13 +62,6 @@ class CliBaseTesting(unittest.TestCase): self.assertEqual(result.exit_code, 0) self.assertTrue(mock_method.called) - def test_os_fetch_rc(self): - with mock.patch.object(self._openstack, 'fetch_credentials') \ - as mock_method: - result = self.runner.invoke(cli_base.os_fetch_rc) - self.assertEqual(result.exit_code, 0) - self.assertTrue(mock_method.called) - def test_env_prepare(self): with mock.patch.object(self._env, 'prepare') as mock_method: result = self.runner.invoke(cli_base.env_prepare) -- cgit 1.2.3-korg