61 lines
1.3 KiB
YAML
61 lines
1.3 KiB
YAML
|
# https://github.com/ansible/ansible/issues/24408
|
||
|
|
||
|
- set_fact:
|
||
|
t_username: templateuser1
|
||
|
t_groupname: templateuser1
|
||
|
|
||
|
- name: create the test group
|
||
|
group:
|
||
|
name: "{{ t_groupname }}"
|
||
|
|
||
|
- name: create the test user
|
||
|
user:
|
||
|
name: "{{ t_username }}"
|
||
|
group: "{{ t_groupname }}"
|
||
|
createhome: no
|
||
|
|
||
|
- name: set the dest file
|
||
|
set_fact:
|
||
|
t_dest: "{{ output_dir + '/tfile_dest.txt' }}"
|
||
|
|
||
|
- name: create the old file
|
||
|
file:
|
||
|
path: "{{ t_dest }}"
|
||
|
state: touch
|
||
|
mode: 0777
|
||
|
owner: "{{ t_username }}"
|
||
|
group: "{{ t_groupname }}"
|
||
|
|
||
|
- name: failsafe attr change incase underlying system does not support it
|
||
|
shell: chattr =j "{{ t_dest }}"
|
||
|
ignore_errors: True
|
||
|
|
||
|
- name: run the template
|
||
|
template:
|
||
|
src: foo.j2
|
||
|
dest: "{{ t_dest }}"
|
||
|
backup: True
|
||
|
register: t_backup_res
|
||
|
|
||
|
- name: check the data for the backup
|
||
|
stat:
|
||
|
path: "{{ t_backup_res.backup_file }}"
|
||
|
register: t_backup_stats
|
||
|
|
||
|
- name: validate result of preserved backup
|
||
|
assert:
|
||
|
that:
|
||
|
- 't_backup_stats.stat.mode == "0777"'
|
||
|
- 't_backup_stats.stat.pw_name == t_username'
|
||
|
- 't_backup_stats.stat.gr_name == t_groupname'
|
||
|
|
||
|
- name: cleanup the user
|
||
|
user:
|
||
|
name: "{{ t_username }}"
|
||
|
state: absent
|
||
|
|
||
|
- name: cleanup the group
|
||
|
user:
|
||
|
name: "{{ t_groupname }}"
|
||
|
state: absent
|