From 4b42b4ef5f42fe51acd084b93c17b4e6b52ae334 Mon Sep 17 00:00:00 2001 From: Administrator Date: Thu, 20 Nov 2025 10:47:32 +0000 Subject: [PATCH] Update file main.yml --- roles/cadvisor/tasks/main.yml | 54 +++++++++++------------------------ 1 file changed, 16 insertions(+), 38 deletions(-) diff --git a/roles/cadvisor/tasks/main.yml b/roles/cadvisor/tasks/main.yml index 3855414..975d925 100644 --- a/roles/cadvisor/tasks/main.yml +++ b/roles/cadvisor/tasks/main.yml @@ -5,6 +5,11 @@ ignore_errors: yes changed_when: false +- name: Set default cadvisor port + set_fact: + cadvisor_port: "{{ cadvisor_port | default(8080) }}" + when: docker_check.rc == 0 + - name: Install cAdvisor (only on Docker hosts) block: - name: Create cAdvisor directories @@ -13,8 +18,8 @@ state: directory mode: '0755' loop: - - "{{ cadvisor_base_dir }}" - - "{{ cadvisor_config_dir }}" + - "{{ cadvisor_base_dir | default('/opt/cadvisor') }}" + - "{{ cadvisor_config_dir | default('/opt/cadvisor/config') }}" become: yes - name: Check if port {{ cadvisor_port }} is available @@ -30,7 +35,7 @@ - name: Deploy cAdvisor docker-compose template: src: docker-compose.yml.j2 - dest: "{{ cadvisor_base_dir }}/docker-compose.yml" + dest: "{{ cadvisor_base_dir | default('/opt/cadvisor') }}/docker-compose.yml" owner: root group: root mode: '0644' @@ -38,16 +43,16 @@ - name: Stop existing cAdvisor container community.docker.docker_compose_v2: - project_src: "{{ cadvisor_base_dir }}" + project_src: "{{ cadvisor_base_dir | default('/opt/cadvisor') }}" state: absent become: yes ignore_errors: yes - name: Run cAdvisor container community.docker.docker_compose_v2: - project_src: "{{ cadvisor_base_dir }}" + project_src: "{{ cadvisor_base_dir | default('/opt/cadvisor') }}" state: present - restarted: yes + recreate: yes # ЗАМЕНИЛ restarted на recreate become: yes register: cadvisor_start @@ -60,11 +65,14 @@ become: no - name: Check cAdvisor container status - community.docker.docker_container_info: - name: cadvisor + shell: docker ps -f name=cadvisor --format "table {{.Names}}\\t{{.Status}}" register: container_info become: yes + - name: Display container status + debug: + var: container_info.stdout + - name: Verify cAdvisor is responding uri: url: "http://localhost:{{ cadvisor_port }}/metrics" @@ -78,36 +86,6 @@ msg: "cAdvisor is running and responding on port {{ cadvisor_port }}" when: cadvisor_check.status == 200 - rescue: - - name: Get cAdvisor container logs - community.docker.docker_container_logs: - name: cadvisor - tail: 50 - register: cadvisor_logs - become: yes - - - name: Display cAdvisor logs for debugging - debug: - var: cadvisor_logs.log - when: cadvisor_logs is defined - - - name: Check running containers - command: docker ps -a - register: docker_ps - become: yes - - - name: Display running containers - debug: - var: docker_ps.stdout - when: docker_ps is defined - - - name: Fail with detailed error message - fail: - msg: | - cAdvisor failed to start on {{ inventory_hostname }}. - Port {{ cadvisor_port }} might be in use or container is crashing. - Check the logs above for details. - when: - docker_check.rc == 0 - cadvisor_enabled | default(true) \ No newline at end of file