# 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