diff options
author | Tim Bielawa <tbielawa@redhat.com> | 2016-08-23 13:45:53 -0700 |
---|---|---|
committer | Tim Bielawa <tbielawa@redhat.com> | 2016-08-24 07:58:26 -0700 |
commit | bca515bc7fb6a451aee28da02da922f2e57aa6f0 (patch) | |
tree | 2537170525987d8111f5dea86995cb134a966ef7 /utils/src/ooinstall/cli_installer.py | |
parent | 57a794122c0e1a8cc3b4b5fe9613f8d3aaf7f760 (diff) | |
download | openshift-bca515bc7fb6a451aee28da02da922f2e57aa6f0.tar.gz openshift-bca515bc7fb6a451aee28da02da922f2e57aa6f0.tar.bz2 openshift-bca515bc7fb6a451aee28da02da922f2e57aa6f0.tar.xz openshift-bca515bc7fb6a451aee28da02da922f2e57aa6f0.zip |
Fix BZ1368296 by quietly recollecting facts if the cache is removed
* Add python logging
* Add testing system via 'make ci'
Diffstat (limited to 'utils/src/ooinstall/cli_installer.py')
-rw-r--r-- | utils/src/ooinstall/cli_installer.py | 25 |
1 files changed, 23 insertions, 2 deletions
diff --git a/utils/src/ooinstall/cli_installer.py b/utils/src/ooinstall/cli_installer.py index 2b070a3d2..a8595177c 100644 --- a/utils/src/ooinstall/cli_installer.py +++ b/utils/src/ooinstall/cli_installer.py @@ -13,6 +13,17 @@ from ooinstall.oo_config import OOConfigInvalidHostError from ooinstall.oo_config import Host, Role from ooinstall.variants import find_variant, get_variant_version_combos +import logging +installer_log = logging.getLogger('installer') +installer_log.setLevel(logging.CRITICAL) +installer_file_handler = logging.FileHandler('/tmp/installer.txt') +installer_file_handler.setFormatter( + logging.Formatter('%(asctime)s - %(name)s - %(levelname)s - %(message)s')) +# Example output: +# 2016-08-23 07:34:58,480 - installer - DEBUG - Going to 'load_system_facts' +installer_file_handler.setLevel(logging.DEBUG) +installer_log.addHandler(installer_file_handler) + DEFAULT_ANSIBLE_CONFIG = '/usr/share/atomic-openshift-utils/ansible.cfg' DEFAULT_PLAYBOOK_DIR = '/usr/share/ansible/openshift-ansible/' @@ -798,11 +809,14 @@ def set_infra_nodes(hosts): default="/tmp/ansible.log") @click.option('-v', '--verbose', is_flag=True, default=False) +@click.option('-d', '--debug', + help="Enable installer debugging (/tmp/installer.log)", + is_flag=True, default=False) @click.help_option('--help', '-h') #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): +def cli(ctx, unattended, configuration, ansible_playbook_directory, ansible_config, 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. @@ -810,6 +824,14 @@ def cli(ctx, unattended, configuration, ansible_playbook_directory, ansible_conf Further reading: https://docs.openshift.com/enterprise/latest/install_config/install/quick_install.html """ + if debug: + # DEFAULT log level threshold is set to CRITICAL (the + # highest), anything below that (we only use debug/warning + # presently) is not logged. If '-d' is given though, we'll + # lower the threshold to debug (almost everything gets through) + installer_log.setLevel(logging.DEBUG) + installer_log.debug("Quick Installer debugging initialized") + ctx.obj = {} ctx.obj['unattended'] = unattended ctx.obj['configuration'] = configuration @@ -991,7 +1013,6 @@ def install(ctx, force, gen_inventory): hosts_to_run_on, callback_facts = get_hosts_to_run_on( oo_cfg, callback_facts, ctx.obj['unattended'], force, verbose) - # We already verified this is not the case for unattended installs, so this can # only trigger for live CLI users: # TODO: if there are *new* nodes and this is a live install, we may need the user |