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 |