diff --git a/lib/ansible/runner/lookup_plugins/ini.py b/lib/ansible/runner/lookup_plugins/ini.py index 002dda0908..ebfed750c2 100644 --- a/lib/ansible/runner/lookup_plugins/ini.py +++ b/lib/ansible/runner/lookup_plugins/ini.py @@ -43,9 +43,11 @@ class LookupModule(object): # Retrieve all values from a section using a regexp if is_regexp: return [v for k, v in self.cp.items(section) if re.match(key, k)] + value = None # Retrieve a single value - value = self.cp.get(section, key) - if value == None: + try: + value = self.cp.get(section, key) + except ConfigParser.NoOptionError, e: return dflt return value diff --git a/test/integration/test_lookup_properties.yml b/test/integration/test_lookup_properties.yml index dcd5eb698b..4e085c1497 100644 --- a/test/integration/test_lookup_properties.yml +++ b/test/integration/test_lookup_properties.yml @@ -26,4 +26,5 @@ with_items: [ 'value_section', 'other_section' ] - name: "Reading unknown value" set_fact: - value2_section2: "{{lookup('ini', 'value2 section=section1 file=lookup.ini')}}" + unknown: "{{lookup('ini', 'value2 default=unknown section=section1 file=lookup.ini')}}" + - debug: var=unknown