How about not using the silly content parameter? It's really intended for exceedingly basic one-liner things, and as you know in Ansible that value will get templated out to form a command line to the module, so having weird newlines in there, without the variable, wouldn't make much sense anyway.
Using the "template" module can also be a great solution if you want to trivially just push some value in to the remote side. On Fri, Sep 12, 2014 at 5:02 AM, Abhijit Menon-Sen <[email protected]> wrote: > 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. > -- 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/CA%2BnsWgxyetLRVXxjFGS877RvQ8i%3DAzx-a9CeM0cnOniZFTTrHA%40mail.gmail.com. For more options, visit https://groups.google.com/d/optout.
