--- - name: TerraMaster NAS read-only health inventory hosts: terramaster gather_facts: false become: false vars: nas_ssh_timeout_seconds: 10 tasks: - name: Verify SSH port is reachable from control node ansible.builtin.wait_for: host: "{{ ansible_host | default(inventory_hostname) }}" port: 22 timeout: "{{ nas_ssh_timeout_seconds }}" connect_timeout: 3 delegate_to: localhost - name: Verify command execution over SSH ansible.builtin.raw: "echo NAS_SSH_OK" register: nas_ssh_check changed_when: false failed_when: false - name: Collect operating system summary ansible.builtin.raw: "uname -a" register: nas_uname changed_when: false failed_when: false - name: Collect uptime summary ansible.builtin.raw: "uptime" register: nas_uptime changed_when: false failed_when: false - name: Collect root filesystem utilization ansible.builtin.raw: "df -h /" register: nas_root_df changed_when: false failed_when: false - name: Collect memory utilization summary ansible.builtin.raw: "free -m" register: nas_memory changed_when: false failed_when: false - name: Collect failed systemd unit count (if systemd exists) ansible.builtin.raw: "systemctl --failed --no-legend --no-pager 2>/dev/null | wc -l || true" register: nas_failed_units changed_when: false failed_when: false - name: Build TerraMaster health summary ansible.builtin.set_fact: terramaster_health_summary: host: "{{ inventory_hostname }}" address: "{{ ansible_host | default(inventory_hostname) }}" ssh_check: rc: "{{ nas_ssh_check.rc | default('n/a') }}" stdout: "{{ nas_ssh_check.stdout | default('') | trim }}" stderr: "{{ nas_ssh_check.stderr | default('') | trim }}" os_summary: rc: "{{ nas_uname.rc | default('n/a') }}" stdout: "{{ nas_uname.stdout | default('') | trim }}" uptime_summary: rc: "{{ nas_uptime.rc | default('n/a') }}" stdout: "{{ nas_uptime.stdout | default('') | trim }}" root_filesystem: rc: "{{ nas_root_df.rc | default('n/a') }}" stdout: "{{ nas_root_df.stdout | default('') | trim }}" memory_summary: rc: "{{ nas_memory.rc | default('n/a') }}" stdout: "{{ nas_memory.stdout | default('') | trim }}" failed_units_count: rc: "{{ nas_failed_units.rc | default('n/a') }}" stdout: "{{ nas_failed_units.stdout | default('') | trim }}" - name: Print TerraMaster health summary ansible.builtin.debug: var: terramaster_health_summary