Ah! Narrowing it down, the problem is actually with the ConfigParser
module . . . I have a supervisor config that has the line:
environment: PATH='/usr/java/jdk1.8.0_11/bin:%(ENV_PATH)s'
and ConfigParser chokes whenever it tries to process that line:
>>> from ConfigParser import SafeConfigParser
>>> c = SafeConfigParser()
>>> c.read('/etc/supervisor.d/sidecar-data')
['/etc/supervisor.d/sidecar-data']
>>> c.sections()
['program:sidecar-data']
>>> c.items('program:sidecar-data')
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/usr/lib64/python2.6/ConfigParser.py", line 578, in items
for option in options]
File "/usr/lib64/python2.6/ConfigParser.py", line 614, in _interpolate
self._interpolate_some(option, L, rawval, section, vars, 1)
File "/usr/lib64/python2.6/ConfigParser.py", line 646, in
_interpolate_some
option, section, rest, var)
ConfigParser.InterpolationMissingOptionError: Bad value substitution:
section: [program:sidecar-data]
option : environment
key : env_path
rawval : '
Any ideas?
Thanks again!!
On Thu, Jun 25, 2015 at 10:11 AM, Guy Matz <[email protected]> wrote:
> Hi! I've written a module and am bumping up against an issue when I try
> to include a percent sign in one of the parameters, e.g.:
>
> supervisor_prog:
> name: smlp-data
> user: smlp
> command: java blah-blah-blah
> environment: PATH='/usr/java/jdk1.8.0_11/bin:%(ENV_PATH)s'
>
> Notice the % sign in the environment param above . . . that's causing
> ConfigParser to choke with:
> ConfigParser.InterpolationMissingOptionError: Bad value substitution:
> section: [program:smlp-data]
> option : environment
> key : env_path
> rawval : '
>
> I would really like to escape that in my module code . . . anyone know if
> it's possible to escape that when I bring in the param here?
> self._environment = module.params['environment']
>
> Or do I need to escape it in my call to the module . . i tried using {%
> raw %}...{% endraw %} - which I saw somewhere else on the mailing list -
> but that failed with a syntax error.
>
> Thanks a lot,
> Guy
>
>
--
You received this message because you are subscribed to the Google Groups
"Ansible Project" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To post to this group, send email to [email protected].
To view this discussion on the web visit
https://groups.google.com/d/msgid/ansible-project/CABnTgtUpjDqFACH%3DwvF_cwQiuC4s%3DHu1PtXW3wthU1PWo7rBnw%40mail.gmail.com.
For more options, visit https://groups.google.com/d/optout.