On 19. okt. 2016 12:33, Daniel Delin wrote:
However I run in to problems adding a block of text to a file if it does
not already exist. I have tried with this code:

- name: Add mappings to /tmp/hosts
  blockinfile:
    dest: /tmp/hosts
    state: present
    create: yes
    block: |
      destination logserver1 { tcp("xx.xx.xx.xx" port(514)); };
      destination logserver2 { tcp("xx.xx.x.x" port(514)); };
      log { source(src); destination(logserver1); };
      log { source(src); destination(logserver2); };
      log { source(src); destination(logserver3); };
      destination logserver3 { tcp("x.x.xx.xxx" port(5000)); };
    marker: "# {mark} ANSIBLE HOSTS BLOCK "

When I run this it bails out because of the create: yes line, if I comment
that out it runs through, but of course does not create the file, and
therefore fails the blockedit. If I create an empty file manually it works
as intended. According to the docs, both state and create are supported by
the blockinfile module.

Ansible version is 2.1.2.0


Help appreciated

I tested you code on my 2.1.2 and it works.

$ ls /tmp/hosts
ls: cannot access '/tmp/hosts': No such file or directory


$ ansible-playbook test.yml

PLAY [localhost] ******************************************************

TASK [Add mappings to /tmp/hosts] *************************************
changed: [localhost]

PLAY RECAP ************************************************************
localhost           : ok=1    changed=1    unreachable=0    failed=0


$ ls /tmp/hosts
/tmp/hosts

--
Kai Stian Olstad

--
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/02f7802c-38a2-966e-f277-b748a4016a3d%40olstad.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to