Failed to parse the YAML fileANS-E9001Package installs should not use `latest`ANS-E4003`become_user` requires `become` to work as expectedANS-E5001Shells that use pipes should set the `pipefail` optionANS-E3006Use `command` instead of `shell`ANS-E3005Commands should not change things if nothing needs to be doneANS-E3001Should not use `command` instead of arguments to modulesANS-E3002Environment variables don't work as part of commandANS-E3004Use `module` instead of `command`ANS-E3003Relative path is not needed in roleANS-E4004Mercurial checkouts should have explicit revisionANS-E4002Git checkouts must contain explicit versionANS-E4001Found key duplicationANS-E9002Replace `local_action` with `delegate_to: localhost`ANS-E5004All tasks should be named uniquelyANS-E5002Referenced files must existANS-E5005Tasks that run when changed should likely be handlersANS-E5003
Relative path is not needed in roleANS-E4004
copy
and template
do not need to use relative path for src
. This removes the need for knowing the location of the root directory.
Bad practice
- name: Copy file with owner and permissions
copy:
src: "{{ playbook_dir }}/../../srv/myfiles/foo.conf"
dest: /etc/foo.conf
owner: foo
group: foo
mode: '0644'
- name: Template a file to /etc/file.conf
template:
src: "{{ playbook_dir }}/../../srv/mytemplates/foo.j2"
dest: /etc/file.conf
owner: bin
group: wheel
mode: '0644'
Recommended
- name: Copy file with owner and permissions
copy:
src: /srv/myfiles/foo.conf
dest: /etc/foo.conf
owner: foo
group: foo
mode: '0644'
- name: Template a file to /etc/file.conf
template:
src: /mytemplates/foo.j2
dest: /etc/file.conf
owner: bin
group: wheel
mode: '0644'