kolla-ansible/ansible/roles/loadbalancer/tasks/precheck.yml
Mark Goddard 8c5012e940 Add support for Ceph RadosGW integration
* Register Swift-compatible endpoints in Keystone
* Load balance across RadosGW API servers using HAProxy

The support is exercised in the cephadm CI jobs, but since RGW is
not currently enabled via cephadm, it is not yet tested.

https://docs.ceph.com/en/latest/radosgw/keystone/

Implements: blueprint ceph-rgw

Change-Id: I891c3ed4ed93512607afe65a42dd99596fd4dbf9
2021-09-30 13:08:13 +00:00

854 lines
25 KiB
YAML

---
- import_role:
name: service-precheck
vars:
service_precheck_services: "{{ loadbalancer_services }}"
service_name: "{{ project_name }}"
- name: Get container facts
become: true
kolla_container_facts:
name:
- haproxy
- keepalived
register: container_facts
- name: Group hosts by whether they are running keepalived
group_by:
key: "keepalived_running_{{ container_facts['keepalived'] is defined }}"
changed_when: false
when:
- enable_keepalived | bool
- inventory_hostname in groups['loadbalancer']
- name: Group hosts by whether they are running HAProxy
group_by:
key: "haproxy_running_{{ container_facts['haproxy'] is defined }}"
changed_when: false
when:
- enable_haproxy | bool
- inventory_hostname in groups['loadbalancer']
- name: Set facts about whether we can run HAProxy and keepalived VIP prechecks
vars:
# NOTE(mgoddard): We can only reliably run this precheck if all hosts in
# the haproxy group are included in the batch. This may not be the case if
# using --limit or --serial.
all_hosts_in_batch: "{{ groups['loadbalancer'] | difference(ansible_play_batch) | list | length == 0 }}"
set_fact:
keepalived_vip_prechecks: "{{ all_hosts_in_batch and groups['keepalived_running_True'] is not defined }}"
haproxy_vip_prechecks: "{{ all_hosts_in_batch and groups['haproxy_running_True'] is not defined }}"
- name: Checking if external haproxy certificate exists
run_once: true
stat:
path: "{{ kolla_external_fqdn_cert }}"
delegate_to: localhost
register: haproxy_cert_file
changed_when: false
when:
- not kolla_externally_managed_cert | bool
- kolla_enable_tls_external | bool
- name: Fail if external haproxy certificate is absent
run_once: true
fail:
msg: "External haproxy certificate file is not found. It is configured via 'kolla_external_fqdn_cert'"
when:
- not kolla_externally_managed_cert | bool
- kolla_enable_tls_external | bool
- not haproxy_cert_file.stat.exists
- name: Checking if internal haproxy certificate exists
run_once: true
stat:
path: "{{ kolla_internal_fqdn_cert }}"
delegate_to: localhost
register: haproxy_internal_cert_file
changed_when: false
when:
- not kolla_externally_managed_cert | bool
- kolla_enable_tls_internal | bool
- name: Fail if internal haproxy certificate is absent
run_once: true
fail:
msg: "Internal haproxy certificate file is not found. It is configured via 'kolla_internal_fqdn_cert'"
when:
- not kolla_externally_managed_cert | bool
- kolla_enable_tls_internal | bool
- not haproxy_internal_cert_file.stat.exists
- name: Checking the kolla_external_vip_interface is present
fail: "msg='Please check the kolla_external_vip_interface property - interface {{ kolla_external_vip_interface }} not found'"
when:
- haproxy_enable_external_vip | bool
- kolla_external_vip_interface not in ansible_facts.interfaces
- name: Checking the kolla_external_vip_interface is active
fail: "msg='Please check the kolla_external_vip_interface settings - interface {{ kolla_external_vip_interface }} is not active'"
when:
- haproxy_enable_external_vip | bool
- not hostvars[inventory_hostname].ansible_facts[kolla_external_vip_interface]['active']
- name: Checking if kolla_internal_vip_address and kolla_external_vip_address are not pingable from any node
command: "{{ item.command }} -c 3 {{ item.address }}"
register: ping_output
changed_when: false
failed_when: ping_output.rc != 1
with_items:
- address: "{{ kolla_internal_vip_address }}"
command: "{{ 'ping' if kolla_internal_vip_address|ipv4 else 'ping6' }}"
- address: "{{ kolla_external_vip_address }}"
command: "{{ 'ping' if kolla_external_vip_address|ipv4 else 'ping6' }}"
when:
- enable_keepalived | bool
- keepalived_vip_prechecks
- enable_haproxy | bool
- name: Checking free port for HAProxy stats
wait_for:
host: "{{ api_interface_address }}"
port: "{{ haproxy_stats_port }}"
connect_timeout: 1
timeout: 1
state: stopped
when:
- enable_haproxy | bool
- container_facts['haproxy'] is not defined
- inventory_hostname in groups['loadbalancer']
- name: Checking free port for HAProxy monitor (api interface)
wait_for:
host: "{{ api_interface_address }}"
port: "{{ haproxy_monitor_port }}"
connect_timeout: 1
timeout: 1
state: stopped
when:
- enable_haproxy | bool
- container_facts['haproxy'] is not defined
- inventory_hostname in groups['loadbalancer']
- name: Checking free port for HAProxy monitor (vip interface)
wait_for:
host: "{{ kolla_internal_vip_address }}"
port: "{{ haproxy_monitor_port }}"
connect_timeout: 1
timeout: 1
state: stopped
when:
- enable_haproxy | bool
- haproxy_vip_prechecks
- inventory_hostname in groups['loadbalancer']
- api_interface_address != kolla_internal_vip_address
# FIXME(yoctozepto): this req seems arbitrary, they need not be, just routable is fine
- name: Checking if kolla_internal_vip_address is in the same network as api_interface on all nodes
become: true
command: ip -o addr show dev {{ api_interface }}
register: ip_addr_output
changed_when: false
failed_when: >-
( ip_addr_output is failed or
kolla_internal_vip_address | ipaddr(ip_addr_output.stdout.split()[3]) is none)
when:
- enable_haproxy | bool
- enable_keepalived | bool
- container_facts['keepalived'] is not defined
- inventory_hostname in groups['loadbalancer']
- name: Getting haproxy stat
shell: echo "show stat" | docker exec -i haproxy socat unix-connect:/var/lib/kolla/haproxy/haproxy.sock stdio # noqa 306
register: haproxy_stat_shell
changed_when: false
failed_when: false
when: container_facts['haproxy'] is defined
- name: Setting haproxy stat fact
set_fact:
haproxy_stat: "{{ haproxy_stat_shell.stdout|default('') }}"
- name: Checking free port for Aodh API HAProxy
wait_for:
host: "{{ kolla_internal_vip_address }}"
port: "{{ aodh_api_port }}"
connect_timeout: 1
timeout: 1
state: stopped
when:
- enable_aodh | bool
- inventory_hostname in groups['loadbalancer']
- haproxy_stat.find('aodh_api') == -1
- haproxy_vip_prechecks
- name: Checking free port for Barbican API HAProxy
wait_for:
host: "{{ kolla_internal_vip_address }}"
port: "{{ barbican_api_port }}"
connect_timeout: 1
timeout: 1
state: stopped
when:
- enable_barbican | bool
- inventory_hostname in groups['loadbalancer']
- haproxy_stat.find('barbican_api') == -1
- haproxy_vip_prechecks
- name: Checking free port for Blazar API HAProxy
wait_for:
host: "{{ kolla_internal_vip_address }}"
port: "{{ blazar_api_port }}"
connect_timeout: 1
timeout: 1
state: stopped
when:
- enable_blazar | bool
- inventory_hostname in groups['loadbalancer']
- haproxy_stat.find('blazar_api') == -1
- haproxy_vip_prechecks
- name: Checking free port for Ceph RadosGW HAProxy
wait_for:
host: "{{ kolla_internal_vip_address }}"
port: "{{ ceph_rgw_port }}"
connect_timeout: 1
timeout: 1
state: stopped
when:
- enable_ceph_rgw | bool
- enable_ceph_rgw_loadbalancer | bool
- inventory_hostname in groups['loadbalancer']
- haproxy_stat.find('radosgw') == -1
- haproxy_vip_prechecks
- name: Checking free port for Cinder API HAProxy
wait_for:
host: "{{ kolla_internal_vip_address }}"
port: "{{ cinder_api_port }}"
connect_timeout: 1
timeout: 1
state: stopped
when:
- enable_cinder | bool
- inventory_hostname in groups['loadbalancer']
- haproxy_stat.find('cinder_api') == -1
- haproxy_vip_prechecks
- name: Checking free port for Cloudkitty API HAProxy
wait_for:
host: "{{ kolla_internal_vip_address }}"
port: "{{ cloudkitty_api_port }}"
connect_timeout: 1
timeout: 1
state: stopped
when:
- enable_cloudkitty | bool
- inventory_hostname in groups['loadbalancer']
- haproxy_stat.find('cloudkitty_api') == -1
- haproxy_vip_prechecks
- name: Checking free port for Cyborg API HAProxy
wait_for:
host: "{{ kolla_internal_vip_address }}"
port: "{{ cyborg_api_port }}"
connect_timeout: 1
timeout: 1
state: stopped
when:
- enable_cyborg | bool
- inventory_hostname in groups['loadbalancer']
- haproxy_stat.find('cyborg_api') == -1
- haproxy_vip_prechecks
- name: Checking free port for Designate API HAProxy
wait_for:
host: "{{ kolla_internal_vip_address }}"
port: "{{ designate_api_port }}"
connect_timeout: 1
timeout: 1
state: stopped
when:
- enable_designate | bool
- inventory_hostname in groups['loadbalancer']
- haproxy_stat.find('designate_api') == -1
- haproxy_vip_prechecks
- name: Checking free port for Elasticsearch HAProxy
wait_for:
host: "{{ kolla_internal_vip_address }}"
port: "{{ elasticsearch_port }}"
connect_timeout: 1
timeout: 1
state: stopped
when:
- enable_elasticsearch | bool
- inventory_hostname in groups['loadbalancer']
- haproxy_stat.find('elasticsearch') == -1
- haproxy_vip_prechecks
- name: Checking free port for Glance API HAProxy
wait_for:
host: "{{ kolla_internal_vip_address }}"
port: "{{ glance_api_port }}"
connect_timeout: 1
timeout: 1
state: stopped
when:
- enable_glance | bool
- inventory_hostname in groups['loadbalancer']
- haproxy_stat.find('glance_api') == -1
- haproxy_vip_prechecks
- name: Checking free port for Gnocchi API HAProxy
wait_for:
host: "{{ kolla_internal_vip_address }}"
port: "{{ gnocchi_api_port }}"
connect_timeout: 1
timeout: 1
state: stopped
when:
- enable_gnocchi | bool
- inventory_hostname in groups['loadbalancer']
- haproxy_stat.find('gnocchi_api') == -1
- haproxy_vip_prechecks
- name: Checking free port for Freezer API HAProxy
wait_for:
host: "{{ kolla_internal_vip_address }}"
port: "{{ freezer_api_port }}"
connect_timeout: 1
timeout: 1
state: stopped
when:
- enable_freezer | bool
- haproxy_stat.find('freezer_api') == -1
- inventory_hostname in groups['loadbalancer']
- haproxy_vip_prechecks
- name: Checking free port for Grafana server HAProxy
wait_for:
host: "{{ kolla_internal_vip_address }}"
port: "{{ grafana_server_port }}"
connect_timeout: 1
timeout: 1
state: stopped
when:
- enable_grafana | bool
- inventory_hostname in groups['loadbalancer']
- haproxy_stat.find('grafana_server') == -1
- haproxy_vip_prechecks
- name: Checking free port for Heat API HAProxy
wait_for:
host: "{{ kolla_internal_vip_address }}"
port: "{{ heat_api_port }}"
connect_timeout: 1
timeout: 1
state: stopped
when:
- enable_heat | bool
- inventory_hostname in groups['loadbalancer']
- haproxy_stat.find('heat_api') == -1
- haproxy_vip_prechecks
- name: Checking free port for Heat API CFN HAProxy
wait_for:
host: "{{ kolla_internal_vip_address }}"
port: "{{ heat_api_cfn_port }}"
connect_timeout: 1
timeout: 1
state: stopped
when:
- enable_heat | bool
- inventory_hostname in groups['loadbalancer']
- haproxy_stat.find('heat_api_cfn') == -1
- haproxy_vip_prechecks
- name: Checking free port for Horizon HAProxy
wait_for:
host: "{{ kolla_internal_vip_address }}"
port: "{{ horizon_port }}"
connect_timeout: 1
timeout: 1
state: stopped
when:
- enable_horizon | bool
- inventory_hostname in groups['loadbalancer']
- haproxy_stat.find('horizon') == -1
- haproxy_vip_prechecks
- name: Checking free port for Ironic API HAProxy
wait_for:
host: "{{ kolla_internal_vip_address }}"
port: "{{ ironic_api_port }}"
connect_timeout: 1
timeout: 1
state: stopped
when:
- enable_ironic | bool
- inventory_hostname in groups['loadbalancer']
- haproxy_stat.find('ironic_api') == -1
- haproxy_vip_prechecks
- name: Checking free port for Ironic Inspector HAProxy
wait_for:
host: "{{ kolla_internal_vip_address }}"
port: "{{ ironic_inspector_port }}"
connect_timeout: 1
timeout: 1
state: stopped
when:
- enable_ironic | bool
- inventory_hostname in groups['loadbalancer']
- haproxy_stat.find('ironic_inspector') == -1
- haproxy_vip_prechecks
- name: Checking free port for Keystone Admin HAProxy
wait_for:
host: "{{ kolla_internal_vip_address }}"
port: "{{ keystone_admin_port }}"
connect_timeout: 1
timeout: 1
state: stopped
when:
- enable_keystone | bool
- inventory_hostname in groups['loadbalancer']
- haproxy_stat.find('keystone_admin') == -1
- haproxy_vip_prechecks
- name: Checking free port for Keystone Internal HAProxy
wait_for:
host: "{{ kolla_internal_vip_address }}"
port: "{{ keystone_public_port }}"
connect_timeout: 1
timeout: 1
state: stopped
when:
- enable_keystone | bool
- inventory_hostname in groups['loadbalancer']
- haproxy_stat.find('keystone_internal') == -1
- haproxy_vip_prechecks
- name: Checking free port for Keystone Public HAProxy
wait_for:
host: "{{ kolla_external_vip_address }}"
port: "{{ keystone_public_port }}"
connect_timeout: 1
timeout: 1
state: stopped
when:
- haproxy_enable_external_vip | bool
- enable_keystone | bool
- inventory_hostname in groups['loadbalancer']
- haproxy_stat.find('keystone_external') == -1
- haproxy_vip_prechecks
- name: Checking free port for Kibana HAProxy
wait_for:
host: "{{ kolla_internal_vip_address }}"
port: "{{ kibana_server_port }}"
connect_timeout: 1
timeout: 1
state: stopped
when:
- enable_kibana | bool
- inventory_hostname in groups['loadbalancer']
- haproxy_stat.find('kibana') == -1
- haproxy_vip_prechecks
- name: Checking free port for Magnum API HAProxy
wait_for:
host: "{{ kolla_internal_vip_address }}"
port: "{{ magnum_api_port }}"
connect_timeout: 1
timeout: 1
state: stopped
when:
- enable_magnum | bool
- inventory_hostname in groups['loadbalancer']
- haproxy_stat.find('magnum_api') == -1
- haproxy_vip_prechecks
- name: Checking free port for Manila API HAProxy
wait_for:
host: "{{ kolla_internal_vip_address }}"
port: "{{ manila_api_port }}"
connect_timeout: 1
timeout: 1
state: stopped
when:
- enable_manila | bool
- inventory_hostname in groups['loadbalancer']
- haproxy_stat.find('manila_api') == -1
- haproxy_vip_prechecks
- name: Checking free port for MariaDB HAProxy
wait_for:
host: "{{ kolla_internal_vip_address }}"
port: "{{ database_port }}"
connect_timeout: 1
timeout: 1
state: stopped
when:
- enable_mariadb | bool
- inventory_hostname in groups['loadbalancer']
- haproxy_stat.find('mariadb') == -1
- haproxy_vip_prechecks
- name: Checking free port for Masakari API HAProxy
wait_for:
host: "{{ kolla_internal_vip_address }}"
port: "{{ masakari_api_port }}"
connect_timeout: 1
timeout: 1
state: stopped
when:
- enable_masakari | bool
- inventory_hostname in groups['loadbalancer']
- haproxy_stat.find('masakari_api') == -1
- haproxy_vip_prechecks
- name: Checking free port for Mistral API HAProxy
wait_for:
host: "{{ kolla_internal_vip_address }}"
port: "{{ mistral_api_port }}"
connect_timeout: 1
timeout: 1
state: stopped
when:
- enable_mistral | bool
- inventory_hostname in groups['loadbalancer']
- haproxy_stat.find('mistral_api') == -1
- haproxy_vip_prechecks
- name: Checking free port for Monasca API internal HAProxy
wait_for:
host: "{{ kolla_internal_vip_address }}"
port: "{{ monasca_api_port }}"
connect_timeout: 1
timeout: 1
state: stopped
when:
- enable_monasca | bool
- inventory_hostname in groups['loadbalancer']
- haproxy_stat.find('monasca_api') == -1
- haproxy_vip_prechecks
- name: Checking free port for Monasca API public HAProxy
wait_for:
host: "{{ kolla_external_vip_address }}"
port: "{{ monasca_api_port }}"
connect_timeout: 1
timeout: 1
state: stopped
when:
- haproxy_enable_external_vip | bool
- enable_monasca | bool
- inventory_hostname in groups['loadbalancer']
- haproxy_stat.find('monasca_api_external') == -1
- haproxy_vip_prechecks
- name: Checking free port for Monasca Log API internal HAProxy
wait_for:
host: "{{ kolla_internal_vip_address }}"
port: "{{ monasca_log_api_port }}"
connect_timeout: 1
timeout: 1
state: stopped
when:
- enable_monasca | bool
- inventory_hostname in groups['loadbalancer']
- haproxy_stat.find('monasca_log_api') == -1
- haproxy_vip_prechecks
- monasca_log_api_port != monasca_api_port
- name: Checking free port for Monasca Log API public HAProxy
wait_for:
host: "{{ kolla_external_vip_address }}"
port: "{{ monasca_log_api_port }}"
connect_timeout: 1
timeout: 1
state: stopped
when:
- haproxy_enable_external_vip | bool
- enable_monasca | bool
- inventory_hostname in groups['loadbalancer']
- haproxy_stat.find('monasca_log_api_external') == -1
- haproxy_vip_prechecks
- monasca_log_api_port != monasca_api_port
- name: Checking free port for Murano API HAProxy
wait_for:
host: "{{ kolla_internal_vip_address }}"
port: "{{ murano_api_port }}"
connect_timeout: 1
timeout: 1
state: stopped
when:
- enable_murano | bool
- inventory_hostname in groups['loadbalancer']
- haproxy_stat.find('murano_api') == -1
- haproxy_vip_prechecks
- name: Checking free port for Neutron Server HAProxy
wait_for:
host: "{{ kolla_internal_vip_address }}"
port: "{{ neutron_server_port }}"
connect_timeout: 1
timeout: 1
state: stopped
when:
- enable_neutron | bool
- inventory_hostname in groups['loadbalancer']
- haproxy_stat.find('neutron_server') == -1
- haproxy_vip_prechecks
- name: Checking free port for Nova API HAProxy
wait_for:
host: "{{ kolla_internal_vip_address }}"
port: "{{ nova_api_port }}"
connect_timeout: 1
timeout: 1
state: stopped
when:
- enable_nova | bool
- inventory_hostname in groups['loadbalancer']
- haproxy_stat.find('nova_api') == -1
- haproxy_vip_prechecks
- name: Checking free port for Nova Metadata HAProxy
wait_for:
host: "{{ kolla_internal_vip_address }}"
port: "{{ nova_metadata_port }}"
connect_timeout: 1
timeout: 1
state: stopped
when:
- enable_nova | bool
- inventory_hostname in groups['loadbalancer']
- haproxy_stat.find('nova_metadata') == -1
- haproxy_vip_prechecks
- name: Checking free port for Nova NoVNC HAProxy
wait_for:
host: "{{ kolla_internal_vip_address }}"
port: "{{ nova_novncproxy_port }}"
connect_timeout: 1
timeout: 1
state: stopped
when:
- enable_nova | bool
- nova_console == 'novnc'
- inventory_hostname in groups['loadbalancer']
- haproxy_stat.find('nova_novncproxy') == -1
- haproxy_vip_prechecks
- name: Checking free port for Nova Serial Proxy HAProxy
wait_for:
host: "{{ kolla_internal_vip_address }}"
port: "{{ nova_serialproxy_port }}"
connect_timeout: 1
timeout: 1
state: stopped
when:
- enable_nova | bool
- haproxy_stat.find('nova_serialconsole_proxy') == -1
- enable_nova_serialconsole_proxy | bool
- inventory_hostname in groups['loadbalancer']
- haproxy_vip_prechecks
- name: Checking free port for Nova Spice HTML5 HAProxy
wait_for:
host: "{{ kolla_internal_vip_address }}"
port: "{{ nova_spicehtml5proxy_port }}"
connect_timeout: 1
timeout: 1
state: stopped
when:
- enable_nova | bool
- nova_console == 'spice'
- inventory_hostname in groups['loadbalancer']
- haproxy_stat.find('nova_spicehtml5proxy') == -1
- haproxy_vip_prechecks
- name: Checking free port for Nova Placement API HAProxy
wait_for:
host: "{{ kolla_internal_vip_address }}"
port: "{{ placement_api_port }}"
connect_timeout: 1
timeout: 1
state: stopped
when:
- enable_nova | bool
- inventory_hostname in groups['loadbalancer']
- haproxy_stat.find('placement_api') == -1
- haproxy_vip_prechecks
- name: Checking free port for Octavia API HAProxy
wait_for:
host: "{{ kolla_internal_vip_address }}"
port: "{{ octavia_api_port }}"
connect_timeout: 1
timeout: 1
state: stopped
when:
- enable_octavia | bool
- inventory_hostname in groups['loadbalancer']
- haproxy_stat.find('octavia_api') == -1
- haproxy_vip_prechecks
- name: Checking free port for RabbitMQ Management HAProxy
wait_for:
host: "{{ kolla_internal_vip_address }}"
port: "{{ rabbitmq_management_port }}"
connect_timeout: 1
timeout: 1
state: stopped
when:
- enable_rabbitmq | bool
- inventory_hostname in groups['loadbalancer']
- haproxy_stat.find('rabbitmq_management') == -1
- haproxy_vip_prechecks
- name: Checking free port for outward RabbitMQ Management HAProxy
wait_for:
host: "{{ kolla_internal_vip_address }}"
port: "{{ outward_rabbitmq_management_port }}"
connect_timeout: 1
state: stopped
when:
- enable_outward_rabbitmq | bool
- inventory_hostname in groups['loadbalancer']
- haproxy_stat.find('outward_rabbitmq_management') == -1
- haproxy_vip_prechecks
- name: Checking free port for Sahara API HAProxy
wait_for:
host: "{{ kolla_internal_vip_address }}"
port: "{{ sahara_api_port }}"
connect_timeout: 1
timeout: 1
state: stopped
when:
- enable_sahara | bool
- inventory_hostname in groups['loadbalancer']
- haproxy_stat.find('sahara_api') == -1
- haproxy_vip_prechecks
- name: Checking free port for Senlin API HAProxy
wait_for:
host: "{{ kolla_internal_vip_address }}"
port: "{{ senlin_api_port }}"
connect_timeout: 1
timeout: 1
state: stopped
when:
- enable_senlin | bool
- inventory_hostname in groups['loadbalancer']
- haproxy_stat.find('senlin_api') == -1
- haproxy_vip_prechecks
- name: Checking free port for Solum Application Deployment HAProxy
wait_for:
host: "{{ kolla_internal_vip_address }}"
port: "{{ solum_application_deployment_port }}"
connect_timeout: 1
timeout: 1
state: stopped
when:
- enable_solum | bool
- inventory_hostname in groups['loadbalancer']
- haproxy_stat.find('solum_application_deployment') == -1
- haproxy_vip_prechecks
- name: Checking free port for Solum Image Builder HAProxy
wait_for:
host: "{{ kolla_internal_vip_address }}"
port: "{{ solum_image_builder_port }}"
connect_timeout: 1
timeout: 1
state: stopped
when:
- enable_solum | bool
- inventory_hostname in groups['loadbalancer']
- haproxy_stat.find('solum_image_builder') == -1
- haproxy_vip_prechecks
- name: Checking free port for Swift Proxy Server HAProxy
wait_for:
host: "{{ kolla_internal_vip_address }}"
port: "{{ swift_proxy_server_port }}"
connect_timeout: 1
timeout: 1
state: stopped
when:
- enable_swift | bool
- inventory_hostname in groups['loadbalancer']
- haproxy_stat.find('swift_api') == -1
- haproxy_vip_prechecks
- name: Checking free port for Tacker Server HAProxy
wait_for:
host: "{{ kolla_internal_vip_address }}"
port: "{{ tacker_server_port }}"
connect_timeout: 1
timeout: 1
state: stopped
when:
- enable_tacker | bool
- inventory_hostname in groups['loadbalancer']
- haproxy_stat.find('tacker_server') == -1
- haproxy_vip_prechecks
- name: Checking free port for Trove API HAProxy
wait_for:
host: "{{ kolla_internal_vip_address }}"
port: "{{ trove_api_port }}"
connect_timeout: 1
timeout: 1
state: stopped
when:
- enable_trove | bool
- inventory_hostname in groups['loadbalancer']
- haproxy_stat.find('trove_api') == -1
- haproxy_vip_prechecks
- name: Checking free port for Watcher API HAProxy
wait_for:
host: "{{ kolla_internal_vip_address }}"
port: "{{ watcher_api_port }}"
connect_timeout: 1
timeout: 1
state: stopped
when:
- enable_watcher | bool
- inventory_hostname in groups['loadbalancer']
- haproxy_stat.find('watcher_api') == -1
- haproxy_vip_prechecks
- name: Checking free port for Zun API HAProxy
wait_for:
host: "{{ kolla_internal_vip_address }}"
port: "{{ zun_api_port }}"
connect_timeout: 1
timeout: 1
state: stopped
when:
- enable_zun | bool
- inventory_hostname in groups['loadbalancer']
- haproxy_stat.find('zun_api') == -1
- haproxy_vip_prechecks
- name: Checking free port for Vitrage API HAProxy
wait_for:
host: "{{ kolla_internal_vip_address }}"
port: "{{ vitrage_api_port }}"
connect_timeout: 1
state: stopped
when:
- enable_vitrage | bool
- inventory_hostname in groups['loadbalancer']
- haproxy_stat.find('vitrage_api') == -1
- haproxy_vip_prechecks