kolla-ansible/ansible/roles/prometheus/tasks/precheck.yml
Mark Goddard b123bf6621 Use become for all docker tasks
Many tasks that use Docker have become specified already, but
not all. This change ensures all tasks that use the following
modules have become:

* kolla_docker
* kolla_ceph_keyring
* kolla_toolbox
* kolla_container_facts

It also adds become for 'command' tasks that use docker CLI.

Change-Id: I4a5ebcedaccb9261dbc958ec67e8077d7980e496
2019-06-06 19:04:58 +01:00

130 lines
4.5 KiB
YAML

---
- name: Get container facts
become: true
kolla_container_facts:
name:
- prometheus_server
- prometheus_node_exporter
- prometheus_haproxy_exporter
- prometheus_memcached_exporter
- prometheus_mysqld_exporter
- prometheus_cadvisor
- prometheus_alertmanager
- prometheus_openstack_exporter
- prometheus_elasticsearch_exporter
register: container_facts
- name: Checking free port for Prometheus server
wait_for:
host: "{{ hostvars[inventory_hostname]['ansible_' + api_interface]['ipv4']['address'] }}"
port: "{{ prometheus_port }}"
connect_timeout: 1
timeout: 1
state: stopped
when:
- container_facts['prometheus_server'] is not defined
- inventory_hostname in groups['prometheus']
- name: Checking free port for Prometheus node_exporter
wait_for:
host: "{{ hostvars[inventory_hostname]['ansible_' + api_interface]['ipv4']['address'] }}"
port: "{{ prometheus_node_exporter_port }}"
connect_timeout: 1
timeout: 1
state: stopped
when:
- container_facts['prometheus_node_exporter'] is not defined
- inventory_hostname in groups['prometheus-node-exporter']
- enable_prometheus_node_exporter | bool
- name: Checking free port for Prometheus mysqld_exporter
wait_for:
host: "{{ hostvars[inventory_hostname]['ansible_' + api_interface]['ipv4']['address'] }}"
port: "{{ prometheus_mysqld_exporter_port }}"
connect_timeout: 1
timeout: 1
state: stopped
when:
- container_facts['prometheus_mysqld_exporter'] is not defined
- inventory_hostname in groups['prometheus-mysqld-exporter']
- enable_prometheus_mysqld_exporter | bool
- name: Checking free port for Prometheus haproxy_exporter
wait_for:
host: "{{ hostvars[inventory_hostname]['ansible_' + api_interface]['ipv4']['address'] }}"
port: "{{ prometheus_haproxy_exporter_port }}"
connect_timeout: 1
timeout: 1
state: stopped
when:
- container_facts['prometheus_haproxy_exporter'] is not defined
- inventory_hostname in groups['prometheus-haproxy-exporter']
- enable_prometheus_haproxy_exporter | bool
- name: Checking free port for Prometheus memcached_exporter
wait_for:
host: "{{ hostvars[inventory_hostname]['ansible_' + api_interface]['ipv4']['address'] }}"
port: "{{ prometheus_memcached_exporter_port }}"
connect_timeout: 1
timeout: 1
state: stopped
when:
- container_facts['prometheus_memcached_exporter'] is not defined
- inventory_hostname in groups['prometheus-memcached-exporter']
- enable_prometheus_memcached_exporter | bool
- name: Checking free port for Prometheus cAdvisor
wait_for:
host: "{{ hostvars[inventory_hostname]['ansible_' + api_interface]['ipv4']['address'] }}"
port: "{{ prometheus_cadvisor_port }}"
connect_timeout: 1
timeout: 1
state: stopped
when:
- container_facts['prometheus_cadvisor'] is not defined
- inventory_hostname in groups['prometheus-cadvisor']
- enable_prometheus_cadvisor | bool
- name: Checking free ports for Prometheus Alertmanager
wait_for:
host: "{{ hostvars[inventory_hostname]['ansible_' + api_interface]['ipv4']['address'] }}"
port: "{{ item }}"
connect_timeout: 1
timeout: 1
state: stopped
when:
- container_facts['prometheus_alertmanager'] is not defined
- inventory_hostname in groups['prometheus-alertmanager']
- enable_prometheus_alertmanager | bool
with_items:
- "{{ prometheus_alertmanager_port }}"
- "{{ prometheus_alertmanager_cluster_port }}"
- name: Checking free ports for Prometheus openstack-exporter
wait_for:
host: "{{ hostvars[inventory_hostname]['ansible_' + api_interface]['ipv4']['address'] }}"
port: "{{ item }}"
connect_timeout: 1
timeout: 1
state: stopped
when:
- container_facts['prometheus_openstack_exporter'] is not defined
- inventory_hostname in groups['prometheus-openstack-exporter']
- enable_prometheus_openstack_exporter | bool
with_items:
- "{{ prometheus_openstack_exporter_port }}"
- name: Checking free ports for Prometheus elasticsearch-exporter
wait_for:
host: "{{ hostvars[inventory_hostname]['ansible_' + api_interface]['ipv4']['address'] }}"
port: "{{ item }}"
connect_timeout: 1
timeout: 1
state: stopped
when:
- container_facts['prometheus_elasticsearch_exporter'] is not defined
- inventory_hostname in groups['prometheus-elasticsearch-exporter']
- enable_prometheus_elasticsearch_exporter | bool
with_items:
- "{{ prometheus_elasticsearch_exporter_port }}"