summaryrefslogtreecommitdiffstats
path: root/utils
diff options
context:
space:
mode:
authorTim Bielawa <tbielawa@redhat.com>2016-09-26 12:03:36 -0700
committerTim Bielawa <tbielawa@redhat.com>2016-09-29 07:47:19 -0700
commit76f1cd09097dc28c9efe7e2476534fb8a9cfede5 (patch)
treebf2f300034818b1952c5066a56dbdcba0bc8c31f /utils
parent088e4ba10dfec171618890ef022c7e86476823bc (diff)
downloadopenshift-76f1cd09097dc28c9efe7e2476534fb8a9cfede5.tar.gz
openshift-76f1cd09097dc28c9efe7e2476534fb8a9cfede5.tar.bz2
openshift-76f1cd09097dc28c9efe7e2476534fb8a9cfede5.tar.xz
openshift-76f1cd09097dc28c9efe7e2476534fb8a9cfede5.zip
'fix' unittests by removing the users ability to specify an ansible config
Diffstat (limited to 'utils')
-rw-r--r--utils/src/ooinstall/cli_installer.py17
-rw-r--r--utils/src/ooinstall/oo_config.py1
-rw-r--r--utils/src/ooinstall/openshift_ansible.py3
-rw-r--r--utils/test/cli_installer_tests.py166
4 files changed, 96 insertions, 91 deletions
diff --git a/utils/src/ooinstall/cli_installer.py b/utils/src/ooinstall/cli_installer.py
index 81dda2ea4..674d1cee4 100644
--- a/utils/src/ooinstall/cli_installer.py
+++ b/utils/src/ooinstall/cli_installer.py
@@ -816,12 +816,6 @@ def set_infra_nodes(hosts):
# callback=validate_ansible_dir,
default=DEFAULT_PLAYBOOK_DIR,
envvar='OO_ANSIBLE_PLAYBOOK_DIRECTORY')
-@click.option('--ansible-config',
- type=click.Path(file_okay=True,
- dir_okay=False,
- writable=True,
- readable=True),
- default=None)
@click.option('--ansible-log-path',
type=click.Path(file_okay=True,
dir_okay=False,
@@ -837,7 +831,7 @@ def set_infra_nodes(hosts):
# pylint: disable=too-many-arguments
# pylint: disable=line-too-long
# Main CLI entrypoint, not much we can do about too many arguments.
-def cli(ctx, unattended, configuration, ansible_playbook_directory, ansible_config, ansible_log_path, verbose, debug):
+def cli(ctx, unattended, configuration, ansible_playbook_directory, ansible_log_path, verbose, debug):
"""
atomic-openshift-installer makes the process for installing OSE or AEP
easier by interactively gathering the data needed to run on each host.
@@ -856,7 +850,6 @@ def cli(ctx, unattended, configuration, ansible_playbook_directory, ansible_conf
ctx.obj = {}
ctx.obj['unattended'] = unattended
ctx.obj['configuration'] = configuration
- ctx.obj['ansible_config'] = ansible_config
ctx.obj['ansible_log_path'] = ansible_log_path
ctx.obj['verbose'] = verbose
@@ -877,14 +870,12 @@ def cli(ctx, unattended, configuration, ansible_playbook_directory, ansible_conf
oo_cfg.ansible_playbook_directory = ansible_playbook_directory
ctx.obj['ansible_playbook_directory'] = ansible_playbook_directory
- if ctx.obj['ansible_config']:
- oo_cfg.settings['ansible_config'] = ctx.obj['ansible_config']
- elif 'ansible_config' not in oo_cfg.settings and \
- os.path.exists(DEFAULT_ANSIBLE_CONFIG):
+ if os.path.exists(DEFAULT_ANSIBLE_CONFIG):
# If we're installed by RPM this file should exist and we can use it as our default:
oo_cfg.settings['ansible_config'] = DEFAULT_ANSIBLE_CONFIG
- oo_cfg.settings['ansible_quiet_config'] = QUIET_ANSIBLE_CONFIG
+ if os.path.exists(QUIET_ANSIBLE_CONFIG):
+ oo_cfg.settings['ansible_quiet_config'] = QUIET_ANSIBLE_CONFIG
oo_cfg.settings['ansible_log_path'] = ctx.obj['ansible_log_path']
diff --git a/utils/src/ooinstall/oo_config.py b/utils/src/ooinstall/oo_config.py
index ce0ae8deb..8c5f3396b 100644
--- a/utils/src/ooinstall/oo_config.py
+++ b/utils/src/ooinstall/oo_config.py
@@ -12,7 +12,6 @@ installer_log = logging.getLogger('installer')
CONFIG_PERSIST_SETTINGS = [
'ansible_ssh_user',
'ansible_callback_facts_yaml',
- 'ansible_config',
'ansible_inventory_path',
'ansible_log_path',
'deployment',
diff --git a/utils/src/ooinstall/openshift_ansible.py b/utils/src/ooinstall/openshift_ansible.py
index 79c60af82..eb1e61a60 100644
--- a/utils/src/ooinstall/openshift_ansible.py
+++ b/utils/src/ooinstall/openshift_ansible.py
@@ -286,9 +286,10 @@ def run_main_playbook(inventory_file, hosts, hosts_to_run_on, verbose=False):
facts_env = os.environ.copy()
if 'ansible_log_path' in CFG.settings:
facts_env['ANSIBLE_LOG_PATH'] = CFG.settings['ansible_log_path']
+
+ # override the ansible config for our main playbook run
if 'ansible_quiet_config' in CFG.settings:
facts_env['ANSIBLE_CONFIG'] = CFG.settings['ansible_quiet_config']
- # facts_env["ANSIBLE_CALLBACK_PLUGINS"] = CFG.settings['ansible_plugins_directory']
return run_ansible(main_playbook_path, inventory_file, facts_env, verbose)
diff --git a/utils/test/cli_installer_tests.py b/utils/test/cli_installer_tests.py
index 6d9d443ff..34392777b 100644
--- a/utils/test/cli_installer_tests.py
+++ b/utils/test/cli_installer_tests.py
@@ -599,82 +599,96 @@ class UnattendedCliTests(OOCliFixture):
self.assertEquals('openshift-enterprise',
inventory.get('OSEv3:vars', 'deployment_type'))
- @patch('ooinstall.openshift_ansible.run_ansible')
- @patch('ooinstall.openshift_ansible.load_system_facts')
- def test_no_ansible_config_specified(self, load_facts_mock, run_ansible_mock):
- load_facts_mock.return_value = (MOCK_FACTS, 0)
- run_ansible_mock.return_value = 0
-
- config = SAMPLE_CONFIG % 'openshift-enterprise'
-
- self._ansible_config_test(load_facts_mock, run_ansible_mock,
- config, None, None)
-
- @patch('ooinstall.openshift_ansible.run_ansible')
- @patch('ooinstall.openshift_ansible.load_system_facts')
- def test_ansible_config_specified_cli(self, load_facts_mock, run_ansible_mock):
- load_facts_mock.return_value = (MOCK_FACTS, 0)
- run_ansible_mock.return_value = 0
-
- config = SAMPLE_CONFIG % 'openshift-enterprise'
- ansible_config = os.path.join(self.work_dir, 'ansible.cfg')
-
- self._ansible_config_test(load_facts_mock, run_ansible_mock,
- config, ansible_config, ansible_config)
-
- @patch('ooinstall.openshift_ansible.run_ansible')
- @patch('ooinstall.openshift_ansible.load_system_facts')
- def test_ansible_config_specified_in_installer_config(self,
- load_facts_mock, run_ansible_mock):
-
- load_facts_mock.return_value = (MOCK_FACTS, 0)
- run_ansible_mock.return_value = 0
-
- ansible_config = os.path.join(self.work_dir, 'ansible.cfg')
- config = SAMPLE_CONFIG % 'openshift-enterprise'
- config = "%s\nansible_config: %s" % (config, ansible_config)
- self._ansible_config_test(load_facts_mock, run_ansible_mock,
- config, None, ansible_config)
-
- #pylint: disable=too-many-arguments
- # This method allows for drastically simpler tests to write, and the args
- # are all useful.
- def _ansible_config_test(self, load_facts_mock, run_ansible_mock,
- installer_config, ansible_config_cli=None, expected_result=None):
- """
- Utility method for testing the ways you can specify the ansible config.
- """
-
- load_facts_mock.return_value = (MOCK_FACTS, 0)
- run_ansible_mock.return_value = 0
-
- config_file = self.write_config(os.path.join(self.work_dir,
- 'ooinstall.conf'), installer_config)
-
- self.cli_args.extend(["-c", config_file])
- if ansible_config_cli:
- self.cli_args.extend(["--ansible-config", ansible_config_cli])
- self.cli_args.append("install")
- result = self.runner.invoke(cli.cli, self.cli_args)
- self.assert_result(result, 0)
-
- # Test the env vars for facts playbook:
- facts_env_vars = load_facts_mock.call_args[0][2]
- if expected_result:
- self.assertEquals(expected_result, facts_env_vars['ANSIBLE_CONFIG'])
- else:
- # If user running test has rpm installed, this might be set to default:
- self.assertTrue('ANSIBLE_CONFIG' not in facts_env_vars or
- facts_env_vars['ANSIBLE_CONFIG'] == cli.DEFAULT_ANSIBLE_CONFIG)
-
- # Test the env vars for main playbook:
- env_vars = run_ansible_mock.call_args[0][2]
- if expected_result:
- self.assertEquals(expected_result, env_vars['ANSIBLE_CONFIG'])
- else:
- # If user running test has rpm installed, this might be set to default:
- self.assertTrue('ANSIBLE_CONFIG' not in env_vars or
- env_vars['ANSIBLE_CONFIG'] == cli.DEFAULT_ANSIBLE_CONFIG)
+ # 2016-09-26 - tbielawa - COMMENTING OUT these tests FOR NOW while
+ # we wait to see if anyone notices that we took away their ability
+ # to set the ansible_config parameter in the command line options
+ # and in the installer config file.
+ #
+ # We have removed the ability to set the ansible config file
+ # manually so that our new quieter output mode is the default and
+ # only output mode.
+ #
+ # RE: https://trello.com/c/DSwwizwP - atomic-openshift-install
+ # should only output relevant information.
+
+ # @patch('ooinstall.openshift_ansible.run_ansible')
+ # @patch('ooinstall.openshift_ansible.load_system_facts')
+ # def test_no_ansible_config_specified(self, load_facts_mock, run_ansible_mock):
+ # load_facts_mock.return_value = (MOCK_FACTS, 0)
+ # run_ansible_mock.return_value = 0
+
+ # config = SAMPLE_CONFIG % 'openshift-enterprise'
+
+ # self._ansible_config_test(load_facts_mock, run_ansible_mock,
+ # config, None, None)
+
+ # @patch('ooinstall.openshift_ansible.run_ansible')
+ # @patch('ooinstall.openshift_ansible.load_system_facts')
+ # def test_ansible_config_specified_cli(self, load_facts_mock, run_ansible_mock):
+ # load_facts_mock.return_value = (MOCK_FACTS, 0)
+ # run_ansible_mock.return_value = 0
+
+ # config = SAMPLE_CONFIG % 'openshift-enterprise'
+ # ansible_config = os.path.join(self.work_dir, 'ansible.cfg')
+
+ # self._ansible_config_test(load_facts_mock, run_ansible_mock,
+ # config, ansible_config, ansible_config)
+
+ # @patch('ooinstall.openshift_ansible.run_ansible')
+ # @patch('ooinstall.openshift_ansible.load_system_facts')
+ # def test_ansible_config_specified_in_installer_config(self,
+ # load_facts_mock, run_ansible_mock):
+
+ # load_facts_mock.return_value = (MOCK_FACTS, 0)
+ # run_ansible_mock.return_value = 0
+
+ # ansible_config = os.path.join(self.work_dir, 'ansible.cfg')
+ # config = SAMPLE_CONFIG % 'openshift-enterprise'
+ # config = "%s\nansible_config: %s" % (config, ansible_config)
+ # self._ansible_config_test(load_facts_mock, run_ansible_mock,
+ # config, None, ansible_config)
+
+ # #pylint: disable=too-many-arguments
+ # # This method allows for drastically simpler tests to write, and the args
+ # # are all useful.
+ # def _ansible_config_test(self, load_facts_mock, run_ansible_mock,
+ # installer_config, ansible_config_cli=None, expected_result=None):
+ # """
+ # Utility method for testing the ways you can specify the ansible config.
+ # """
+
+ # load_facts_mock.return_value = (MOCK_FACTS, 0)
+ # run_ansible_mock.return_value = 0
+
+ # config_file = self.write_config(os.path.join(self.work_dir,
+ # 'ooinstall.conf'), installer_config)
+
+ # self.cli_args.extend(["-c", config_file])
+ # if ansible_config_cli:
+ # self.cli_args.extend(["--ansible-config", ansible_config_cli])
+ # self.cli_args.append("install")
+ # result = self.runner.invoke(cli.cli, self.cli_args)
+ # self.assert_result(result, 0)
+
+ # # Test the env vars for facts playbook:
+ # facts_env_vars = load_facts_mock.call_args[0][2]
+ # if expected_result:
+ # self.assertEquals(expected_result, facts_env_vars['ANSIBLE_CONFIG'])
+ # else:
+ # # If user running test has rpm installed, this might be set to default:
+ # self.assertTrue('ANSIBLE_CONFIG' not in facts_env_vars or
+ # facts_env_vars['ANSIBLE_CONFIG'] == cli.DEFAULT_ANSIBLE_CONFIG)
+
+ # # Test the env vars for main playbook:
+ # env_vars = run_ansible_mock.call_args[0][2]
+ # if expected_result:
+ # self.assertEquals(expected_result, env_vars['ANSIBLE_CONFIG'])
+ # else:
+ # # If user running test has rpm installed, this might be set to default:
+ # #
+ # # By default we will use the quiet config
+ # self.assertTrue('ANSIBLE_CONFIG' not in env_vars or
+ # env_vars['ANSIBLE_CONFIG'] == cli.QUIET_ANSIBLE_CONFIG)
# unattended with bad config file and no installed hosts (without --force)
@patch('ooinstall.openshift_ansible.run_main_playbook')