Ansible version - 2.9
Facing issue in writing output to a csv file, its not writing the output consistently into the file.
Having an inventory file with three server IPs, playbook yml script will execute command to check the disk space of each server and writing the output to a csv file.
Sometimes its writing all the three server details into the file, sometimes its writing only one or two server details into the file.
- 
hosts: localhost 
 connection: local
 gather_facts: False
 vars:
 filext: “.csv”
 tasks:
- 
name: get the username running the deploy 
 local_action: command whoami
 register: username_on_the_host
- 
name: get current dir 
 local_action: command pwd
 register: current_dir
- 
name: create dir 
 file: path={{ current_dir.stdout }}/HCT state=directory
- 
name: Set file path here 
 set_fact:
 file_path: “{{ current_dir.stdout }}/HCT/HCT_check{{ filext }}”
- 
name: Creates file 
 file: path={{ file_path }} state=touch
Writing to a csv file
- hosts:
- masters
 become: false
 vars:
 disk_space: "Able to get disk space for the CM {{ hostname }} "
 disk_space_error: “The server {{ hostname }} is down for some reason. Please check manually.”
 disk_space_run_status: “{{disk_space}}”
 cur_date: “{{ansible_date_time.iso8601}}”
tasks:
- 
name: runnig command to get file system which are occupied 
 command: bash -c “df -h | awk ‘$5>20’”
 register: disk_space_output
 changed_when: false
 ignore_errors: True
 no_log: True
- 
name: Log the task get list of file systems with space occupied 
 lineinfile:
 dest: “{{ hostvars[‘localhost’][‘file_path’] }}”
 line: “File system occupying disk space, {{ hostname }}, {{ ip_address }}, {{ cur_date }}”
 insertafter: EOF
 state: present
 delegate_to: localhost
Please help to resolve this issue.