From d3e85bd0451ddcb6a65efeff1e6515465437e58f Mon Sep 17 00:00:00 2001 From: Brian Coca Date: Wed, 20 Sep 2017 11:59:55 -0400 Subject: [PATCH] dont override previous ini entries with defaults corrected setting example, quotes mess up the regex fixes #30633 --- examples/ansible.cfg | 2 +- lib/ansible/config/manager.py | 12 +++++++----- 2 files changed, 8 insertions(+), 6 deletions(-) diff --git a/examples/ansible.cfg b/examples/ansible.cfg index 695cf0cec2c..15390588af3 100644 --- a/examples/ansible.cfg +++ b/examples/ansible.cfg @@ -315,7 +315,7 @@ #enable_plugins = host_list, virtualbox, yaml, constructed # ignore these extensions when parsing a directory as inventory source -#ignore_extensions = '.pyc', '.pyo', '.swp', '.bak', '~', '.rpm', '.md', '.txt', '~', '.orig', '.ini', '.cfg', '.retry' +#ignore_extensions = .pyc, .pyo, .swp, .bak, ~, .rpm, .md, .txt, ~, .orig, .ini, .cfg, .retry # ignore files matching these patterns when parsing a directory as inventory source #ignore_patterns= diff --git a/lib/ansible/config/manager.py b/lib/ansible/config/manager.py index dd4be362c97..860d1dfd2ae 100644 --- a/lib/ansible/config/manager.py +++ b/lib/ansible/config/manager.py @@ -292,12 +292,14 @@ class ConfigManager(object): if ftype and defs[config].get(ftype): if ftype == 'ini': # load from ini config - try: # FIXME: generaelize _loop_entries to allow for files also + try: # FIXME: generaelize _loop_entries to allow for files also, most of this code is dupe for ini_entry in defs[config]['ini']: - value = get_ini_config_value(self._parser, ini_entry) - origin = cfile - if value is not None and 'deprecated' in ini_entry: - self.DEPRECATED.append(('[%s]%s' % (ini_entry['section'], ini_entry['key']), ini_entry['deprecated'])) + temp_value = get_ini_config_value(self._parser, ini_entry) + if temp_value is not None: + value = temp_value + origin = cfile + if 'deprecated' in ini_entry: + self.DEPRECATED.append(('[%s]%s' % (ini_entry['section'], ini_entry['key']), ini_entry['deprecated'])) except Exception as e: sys.stderr.write("Error while loading ini config %s: %s" % (cfile, to_native(e))) elif ftype == 'yaml':