Commit 733d40a7 by Yannig Perré

When value does not exist, return default value instead of stopping ansible with an exception.

parent c2968d6d
...@@ -43,9 +43,11 @@ class LookupModule(object): ...@@ -43,9 +43,11 @@ class LookupModule(object):
# Retrieve all values from a section using a regexp # Retrieve all values from a section using a regexp
if is_regexp: if is_regexp:
return [v for k, v in self.cp.items(section) if re.match(key, k)] return [v for k, v in self.cp.items(section) if re.match(key, k)]
value = None
# Retrieve a single value # Retrieve a single value
value = self.cp.get(section, key) try:
if value == None: value = self.cp.get(section, key)
except ConfigParser.NoOptionError, e:
return dflt return dflt
return value return value
......
...@@ -26,4 +26,5 @@ ...@@ -26,4 +26,5 @@
with_items: [ 'value_section', 'other_section' ] with_items: [ 'value_section', 'other_section' ]
- name: "Reading unknown value" - name: "Reading unknown value"
set_fact: 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
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment