--- - name: Check if Docker is installed command: docker --version register: docker_check ignore_errors: yes changed_when: false - name: Install cAdvisor (only on Docker hosts) block: - name: Create cAdvisor directories file: path: "{{ item }}" state: directory mode: '0755' loop: - "{{ cadvisor_base_dir }}" - "{{ cadvisor_config_dir }}" become: yes - name: Deploy cAdvisor docker-compose template: src: cadvisor-docker-compose.yml.j2 dest: "{{ cadvisor_base_dir }}/docker-compose.yml" owner: root group: root mode: '0644' become: yes - name: Run cAdvisor container docker_compose: project_src: "{{ cadvisor_base_dir }}" state: present restart: yes become: yes - name: Wait for cAdvisor to start wait_for: host: localhost port: "{{ cadvisor_internal_port }}" timeout: 30 state: started become: yes - name: Verify cAdvisor is responding uri: url: "http://localhost:{{ cadvisor_internal_port }}/metrics" status_code: 200 timeout: 10 register: cadvisor_check become: yes - name: Show cAdvisor status debug: msg: "cAdvisor is running and responding on port {{ cadvisor_internal_port }}" when: cadvisor_check.status == 200 when: - docker_check.rc == 0 - cadvisor_enabled | default(true)