diff --git a/roles/cadvisor/tasks/main.yml b/roles/cadvisor/tasks/main.yml index 21153dd..dd29347 100644 --- a/roles/cadvisor/tasks/main.yml +++ b/roles/cadvisor/tasks/main.yml @@ -17,16 +17,18 @@ - "{{ cadvisor_config_dir }}" become: yes - - name: Check if any container is using port {{ cadvisor_port }} - shell: | - docker ps --format "table {{.Names}}\t{{.Ports}}" | grep {{ cadvisor_port }} || true - register: port_usage - become: no - - - name: Fail if port {{ cadvisor_port }} is in use - fail: - msg: "Port {{ cadvisor_port }} is already in use by another container" - when: port_usage.stdout != "" + - name: Check if port {{ cadvisor_port }} is available + shell: | + if ss -tuln | grep -q ":{{ cadvisor_port }} "; then + echo "Port {{ cadvisor_port }} is in use" + exit 1 + else + echo "Port {{ cadvisor_port }} is available" + exit 0 + fi + register: port_check + ignore_errors: yes + become: no - name: Deploy cAdvisor docker-compose template: