Hi.
I have a vars/foo.yml file that contains:
foo: |
---
foo
bar
---
And then I have tasks that look like this:
- name: Load foo
include_vars: foo.yml
- name: Write out foo
copy: content="{{ foo }}" dest=/foo …
With Ansible 1.6.8, this does what I expect. The file contains
"---\nfoo\nbar\n---\n".
With Ansible 1.6.9 (which contained "Further improvements to module
parameter parsing to address additional regressions caused by security
fixes"), the file contains "--- foo bar ---" (no newlines at all!).
With Ansible 1.7.0 and 1.7.1, the file contains what I expect, i.e. they
exhibit the 1.6.8 behaviour.
With devel (v1.6.0-1677-g1dc11c9), all but the last newline are
*tripled*. The file contains: "---\n\n\nfoo\n\n\nbar\n\n\n---\n"
In every case, the include_vars statement results in the same (correct)
multiline string:
ok: [foo] => {"ansible_facts": {"bar": 3, "foo": "---\nfoo\nbar\n---\n"}}
Rewriting the task to use YAML hash syntax for arguments makes the
problem go away, of course:
- name: Write out foo
copy:
content: "{{ foo }}"
dest: /foo
…
Is this a bug, two bugs, three? Should I be avoiding using the key=value
form altogether when my values might contain newlines or quotes (issue
#6294) or anything 'strange'?
The behaviour oscillating like this is a bit worrying.
-- ams
--
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/20140912090257.GA31462%40toroid.org.
For more options, visit https://groups.google.com/d/optout.