97 lines
2.9 KiB
YAML
97 lines
2.9 KiB
YAML
---
|
|
- name: Docker Status Check for HCP Nodes
|
|
hosts: hcp
|
|
gather_facts: yes
|
|
become: yes
|
|
|
|
tasks:
|
|
- name: Check if Docker is installed
|
|
command: docker --version
|
|
register: docker_version
|
|
ignore_errors: yes
|
|
|
|
- name: Display Docker version
|
|
debug:
|
|
msg: "Docker version: {{ docker_version.stdout }}"
|
|
when: docker_version.rc == 0
|
|
|
|
- name: Check Docker service status
|
|
systemd:
|
|
name: docker
|
|
register: docker_service_status
|
|
|
|
- name: Display Docker service status
|
|
debug:
|
|
msg: "Docker service is {{ docker_service_status.status.ActiveState }}"
|
|
|
|
- name: Check Docker daemon info
|
|
command: docker info --format "{{ '{{' }}.ServerVersion{{ '}}' }}"
|
|
register: docker_info
|
|
ignore_errors: yes
|
|
|
|
- name: Display Docker daemon info
|
|
debug:
|
|
msg: "Docker daemon version: {{ docker_info.stdout }}"
|
|
when: docker_info.rc == 0
|
|
|
|
- name: Check Docker Swarm status
|
|
command: docker info --format "{{ '{{' }}.Swarm.LocalNodeState{{ '}}' }}"
|
|
register: swarm_status
|
|
ignore_errors: yes
|
|
|
|
- name: Display Swarm status
|
|
debug:
|
|
msg: "Swarm status: {{ swarm_status.stdout }}"
|
|
when: swarm_status.rc == 0
|
|
|
|
- name: Get Docker Swarm node info (if in swarm)
|
|
command: docker node ls
|
|
register: swarm_nodes
|
|
ignore_errors: yes
|
|
when: swarm_status.stdout == "active"
|
|
|
|
- name: Display Swarm nodes
|
|
debug:
|
|
msg: "{{ swarm_nodes.stdout_lines }}"
|
|
when: swarm_nodes is defined and swarm_nodes.rc == 0
|
|
|
|
- name: List running containers
|
|
command: docker ps --format "table {{ '{{' }}.Names{{ '}}' }}\t{{ '{{' }}.Status{{ '}}' }}\t{{ '{{' }}.Ports{{ '}}' }}"
|
|
register: running_containers
|
|
ignore_errors: yes
|
|
|
|
- name: Display running containers
|
|
debug:
|
|
msg: "{{ running_containers.stdout_lines }}"
|
|
when: running_containers.rc == 0
|
|
|
|
- name: Check Docker network list
|
|
command: docker network ls
|
|
register: docker_networks
|
|
ignore_errors: yes
|
|
|
|
- name: Display Docker networks
|
|
debug:
|
|
msg: "{{ docker_networks.stdout_lines }}"
|
|
when: docker_networks.rc == 0
|
|
|
|
- name: Get Docker system info
|
|
command: docker system df
|
|
register: docker_system_info
|
|
ignore_errors: yes
|
|
|
|
- name: Display Docker system usage
|
|
debug:
|
|
msg: "{{ docker_system_info.stdout_lines }}"
|
|
when: docker_system_info.rc == 0
|
|
|
|
- name: Check if node is Swarm manager
|
|
command: docker node inspect self --format "{{ '{{' }}.ManagerStatus.Leader{{ '}}' }}"
|
|
register: is_manager
|
|
ignore_errors: yes
|
|
when: swarm_status.stdout == "active"
|
|
|
|
- name: Display manager status
|
|
debug:
|
|
msg: "Is Swarm manager: {{ is_manager.stdout }}"
|
|
when: is_manager is defined and is_manager.rc == 0 |