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.

Reply via email to