diff options
author | Brenton Leanhardt <bleanhar@redhat.com> | 2015-11-20 14:36:13 -0500 |
---|---|---|
committer | Brenton Leanhardt <bleanhar@redhat.com> | 2015-11-20 14:36:13 -0500 |
commit | f0d13819c35727300101a7e31b8ff9b0022e683f (patch) | |
tree | da964721c03327adaa327a69306de95010e349bb /utils/test | |
parent | 191bfbaa614b1eeafe4785edd295e1e0b3498175 (diff) | |
parent | a72243eda9ad0fb066c405a8171d41bfd8a16ecf (diff) | |
download | openshift-f0d13819c35727300101a7e31b8ff9b0022e683f.tar.gz openshift-f0d13819c35727300101a7e31b8ff9b0022e683f.tar.bz2 openshift-f0d13819c35727300101a7e31b8ff9b0022e683f.tar.xz openshift-f0d13819c35727300101a7e31b8ff9b0022e683f.zip |
Merge pull request #890 from smunilla/friendly_unattended_errors
atomic-openshift-installer: connect_to error handling
Diffstat (limited to 'utils/test')
-rw-r--r-- | utils/test/cli_installer_tests.py | 38 | ||||
-rw-r--r-- | utils/test/oo_config_tests.py | 34 |
2 files changed, 72 insertions, 0 deletions
diff --git a/utils/test/cli_installer_tests.py b/utils/test/cli_installer_tests.py index baadad358..40a2f844d 100644 --- a/utils/test/cli_installer_tests.py +++ b/utils/test/cli_installer_tests.py @@ -67,6 +67,29 @@ hosts: node: true """ +BAD_CONFIG = """ +variant: %s +ansible_ssh_user: root +hosts: + - connect_to: 10.0.0.1 + ip: 10.0.0.1 + hostname: master-private.example.com + public_ip: 24.222.0.1 + public_hostname: master.example.com + master: true + node: true + - ip: 10.0.0.2 + hostname: node1-private.example.com + public_ip: 24.222.0.2 + public_hostname: node1.example.com + node: true + - connect_to: 10.0.0.3 + ip: 10.0.0.3 + hostname: node2-private.example.com + public_ip: 24.222.0.3 + public_hostname: node2.example.com + node: true +""" class OOCliFixture(OOInstallFixture): @@ -465,6 +488,21 @@ class UnattendedCliTests(OOCliFixture): self.assertTrue('ANSIBLE_CONFIG' not in env_vars or env_vars['ANSIBLE_CONFIG'] == cli.DEFAULT_ANSIBLE_CONFIG) + # unattended with bad config file and no installed hosts (without --force) + @patch('ooinstall.openshift_ansible.run_main_playbook') + @patch('ooinstall.openshift_ansible.load_system_facts') + def test_bad_config(self, load_facts_mock, run_playbook_mock): + load_facts_mock.return_value = (MOCK_FACTS, 0) + run_playbook_mock.return_value = 0 + + config_file = self.write_config(os.path.join(self.work_dir, + 'ooinstall.conf'), BAD_CONFIG % 'openshift-enterprise') + + self.cli_args.extend(["-c", config_file, "install"]) + result = self.runner.invoke(cli.cli, self.cli_args) + + assert result.exit_code == 1 + assert result.output == "You must specify either and 'ip' or 'hostname' to connect to.\n" class AttendedCliTests(OOCliFixture): diff --git a/utils/test/oo_config_tests.py b/utils/test/oo_config_tests.py index 0dd4a30e9..9f5f8e244 100644 --- a/utils/test/oo_config_tests.py +++ b/utils/test/oo_config_tests.py @@ -73,6 +73,29 @@ hosts: node: true """ +CONFIG_BAD = """ +variant: openshift-enterprise +ansible_ssh_user: root +hosts: + - connect_to: master-private.example.com + ip: 10.0.0.1 + hostname: master-private.example.com + public_ip: 24.222.0.1 + public_hostname: master.example.com + master: true + node: true + - ip: 10.0.0.2 + hostname: node1-private.example.com + public_ip: 24.222.0.2 + public_hostname: node1.example.com + node: true + - connect_to: node2-private.example.com + ip: 10.0.0.3 + hostname: node2-private.example.com + public_ip: 24.222.0.3 + public_hostname: node2.example.com + node: true +""" class OOInstallFixture(unittest.TestCase): @@ -161,6 +184,17 @@ class OOConfigTests(OOInstallFixture): self.assertEquals('openshift-enterprise', ooconfig.settings['variant']) self.assertEquals('v1', ooconfig.settings['version']) + def test_load_bad_config(self): + + cfg_path = self.write_config(os.path.join(self.work_dir, + 'ooinstall.conf'), CONFIG_BAD) + try: + OOConfig(cfg_path) + assert False + except OOConfigInvalidHostError: + assert True + + def test_load_complete_facts(self): cfg_path = self.write_config(os.path.join(self.work_dir, 'ooinstall.conf'), SAMPLE_CONFIG) |