29 lines
800 B
YAML
29 lines
800 B
YAML
---
|
|
- name: Collect OS info and generate report
|
|
hosts: all
|
|
gather_facts: yes
|
|
tasks:
|
|
- name: Build server info string
|
|
set_fact:
|
|
server_info: "{{ inventory_hostname }} - {{ ansible_distribution }} {{ ansible_distribution_version }}"
|
|
|
|
- name: Add server info to a central list
|
|
run_once: true
|
|
set_fact:
|
|
os_report: []
|
|
|
|
- name: Collect server info into report
|
|
set_fact:
|
|
os_report: "{{ os_report + [hostvars[item].server_info] }}"
|
|
with_items: "{{ ansible_play_hosts }}"
|
|
run_once: true
|
|
|
|
- name: Write report to file on control node
|
|
copy:
|
|
dest: "./os-report.txt"
|
|
content: |
|
|
{% for line in os_report %}
|
|
{{ line }}
|
|
{% endfor %}
|
|
run_once: true
|
|
delegate_to: localhost |