268645c17a
This PR fixes a few issues:
- Missing role parent directory for relative paths
- Fix integration tests (add missing stage)
- Redesign integration tests
- Incorrect order with tasks-lookups
- Duplicate paths are listed
- Repetitive tasks/tasks or files/files were possible
==== using copy with test.txt
Before:
```
491 1481281038.29393: search_path:
/home/dag/home-made/ansible.testing/roles/test134/files/test.txt
/home/dag/home-made/ansible.testing/roles/test134/tasks/test.txt
/home/dag/home-made/ansible.testing/roles/test134/tasks/files/test.txt
/home/dag/home-made/ansible.testing/roles/test134/tasks/tasks/test.txt
/home/dag/home-made/ansible.testing/files/test.txt
/home/dag/home-made/ansible.testing/test.txt
```
After:
```
32505 1481280963.22418: search_path:
/home/dag/home-made/ansible.testing/roles/test134/files/test.txt
/home/dag/home-made/ansible.testing/roles/test134/test.txt
/home/dag/home-made/ansible.testing/roles/test134/tasks/files/test.txt
/home/dag/home-made/ansible.testing/roles/test134/tasks/test.txt
/home/dag/home-made/ansible.testing/files/test.txt
/home/dag/home-made/ansible.testing/test.txt
```
==== Using copy with files/test.txt
Before:
```
31523 1481280499.63052: search_path:
/home/dag/home-made/ansible.testing/roles/test134/files/test.txt
/home/dag/home-made/ansible.testing/roles/test134/tasks/files/test.txt
/home/dag/home-made/ansible.testing/roles/test134/tasks/files/test.txt
/home/dag/home-made/ansible.testing/roles/test134/tasks/tasks/files/test.txt
/home/dag/home-made/ansible.testing/files/files/test.txt
/home/dag/home-made/ansible.testing/files/test.txt
```
After:
```
31110 1481280299.38778: search_path:
/home/dag/home-made/ansible.testing/roles/test134/files/test.txt
/home/dag/home-made/ansible.testing/roles/test134/tasks/files/test.txt
/home/dag/home-made/ansible.testing/files/test.txt
```
==== Using template with files/test.txt.j2
Before:
```
30074 1481280064.15191: search_path:
/home/dag/home-made/ansible.testing/roles/test134/templates/files/test.txt.j2
/home/dag/home-made/ansible.testing/roles/test134/tasks/files/test.txt.j2
/home/dag/home-made/ansible.testing/roles/test134/tasks/templates/files/test.txt.j2
/home/dag/home-made/ansible.testing/roles/test134/tasks/tasks/files/test.txt.j2
/home/dag/home-made/ansible.testing/templates/files/test.txt.j2
/home/dag/home-made/ansible.testing/files/test.txt.j2
```
After:
```
29201 1481279823.52752: search_path:
/home/dag/home-made/ansible.testing/roles/test134/templates/files/test.txt.j2
/home/dag/home-made/ansible.testing/roles/test134/files/test.txt.j2
/home/dag/home-made/ansible.testing/roles/test134/tasks/templates/files/test.txt.j2
/home/dag/home-made/ansible.testing/roles/test134/tasks/files/test.txt.j2
/home/dag/home-made/ansible.testing/templates/files/test.txt.j2
/home/dag/home-made/ansible.testing/files/test.txt.j2
```
This fixes #19048
(cherry picked from commit 7c71c678fa
)
51 lines
1.4 KiB
YAML
51 lines
1.4 KiB
YAML
- name: setup state
|
|
hosts: testhost
|
|
connection: local
|
|
gather_facts: false
|
|
tasks:
|
|
- file: path={{playbook_dir}}/files state=directory
|
|
- file: path={{playbook_dir}}/roles/showfile/files state=directory
|
|
- copy: dest={{playbook_dir}}/roles/showfile/files/testfile content='in role files'
|
|
- copy: dest={{playbook_dir}}/roles/showfile/testfile content='in role'
|
|
- copy: dest={{playbook_dir}}/roles/showfile/tasks/testfile content='in role tasks'
|
|
- copy: dest={{playbook_dir}}/files/testfile content='in files'
|
|
- copy: dest={{playbook_dir}}/testfile content='in local'
|
|
|
|
- include: testplay.yml
|
|
vars:
|
|
remove: nothing
|
|
role_out: in role files
|
|
play_out: in files
|
|
|
|
- include: testplay.yml
|
|
vars:
|
|
remove: roles/showfile/files/testfile
|
|
role_out: in role
|
|
play_out: in files
|
|
|
|
- include: testplay.yml
|
|
vars:
|
|
remove: roles/showfile/testfile
|
|
role_out: in role tasks
|
|
play_out: in files
|
|
|
|
- include: testplay.yml
|
|
vars:
|
|
remove: roles/showfile/tasks/testfile
|
|
role_out: in files
|
|
play_out: in files
|
|
|
|
- include: testplay.yml
|
|
vars:
|
|
remove: files/testfile
|
|
role_out: in local
|
|
play_out: in local
|
|
|
|
- name: cleanup
|
|
hosts: testhost
|
|
connection: local
|
|
gather_facts: false
|
|
tasks:
|
|
- file: path={{playbook_dir}}/testfile state=absent
|
|
- file: path={{playbook_dir}}/files state=absent
|
|
- file: path={{playbook_dir}}/roles/showfile/files state=absent
|