On 20. juli 2016 18:11, Joanna Delaporte wrote:
Is this expected behaviour? I am trying to change a line in a file if it is
already present, or create the file if it isn't:

- name: set ypserver to localhost
   lineinfile:
     dest: /etc/yp.conf
     create: yes
     state: present
     backup: yes
     backrefs: yes
     regexp: "^ypserver .*"
     line: "ypserver 127.0.0.1"
   notify: restart ypservices


But I keep getting this error:
TASK [nismaster : set ypserver to localhost]
***********************************
fatal: [octans]: FAILED! => {"changed": false, "failed": true, "msg": "path
/etc/yp.conf does not exist", "path": "/etc/yp.conf", "state": "absent"}

I guess it because of backrefs=yes.
The documentation says this about backrefs,
"... and if the `regexp' doesn't match anywhere in the file, the file will be left unchanged."

So if the file doesn't exist regexp will not match and it will not do anything.

Since you are not using backrefs just remove the line since the default is no.

--
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/578FAE23.6030107%40olstad.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to