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 |