Files
kolla-ansible/ansible/roles/octavia/tasks/precheck.yml
Ivan Halomi 19af5826fc Move actions to kolla_container_facts
Move actions responsible for info about containers
from kolla_container module to kolla_container_facts.
Also fixes a bug with inconsistencies between docker
and podman in kolla_container_facts.

Closes-bug: #2084878
Change-Id: I1db88e28a828ebf073f018b2bae1d9556ec22807
Signed-off-by: Ivan Halomi <ivan.halomi@tietoevry.com>
Signed-off-by: Martin Hiner <martin.hiner@tietoevry.com>
Signed-off-by: Roman Krček <roman.krcek@tietoevry.com>
2025-02-07 09:40:43 +00:00

75 lines
2.1 KiB
YAML

---
- import_role:
name: service-precheck
vars:
service_precheck_services: "{{ octavia_services }}"
service_name: "{{ project_name }}"
- name: Get container facts
become: true
kolla_container_facts:
action: get_containers
container_engine: "{{ kolla_container_engine }}"
name:
- octavia_api
- octavia_health_manager
check_mode: false
register: container_facts
- name: Checking free port for Octavia API
wait_for:
host: "{{ api_interface_address }}"
port: "{{ octavia_api_listen_port }}"
connect_timeout: 1
timeout: 1
state: stopped
when:
- container_facts.containers['octavia_api'] is not defined
- inventory_hostname in groups['octavia-api']
- name: Checking free port for Octavia Health Manager
wait_for:
host: "{{ api_interface_address }}"
port: "{{ octavia_health_manager_port }}"
connect_timeout: 1
timeout: 1
state: stopped
when:
- container_facts.containers['octavia_health_manager'] is not defined
- inventory_hostname in groups['octavia-health-manager']
- name: Checking certificate files exist for octavia
stat:
path: "{{ node_custom_config }}/octavia/{{ item }}"
delegate_to: localhost
run_once: True
register: result
failed_when: not result.stat.exists
when:
- inventory_hostname in groups['octavia-worker']
- "'amphora' in octavia_provider_drivers"
with_items:
- client.cert-and-key.pem
- client_ca.cert.pem
- server_ca.cert.pem
- server_ca.key.pem
- name: Fail when Neutron plugin agent is not supported
fail:
msg: >
Neutron plugin agent {{ neutron_plugin_agent }} is not supported when
octavia_network_type is tenant, only openvswitch is supported currently
run_once: True
when:
- octavia_auto_configure | bool
- octavia_network_type == "tenant"
- neutron_plugin_agent != 'openvswitch'
- name: Checking whether Redis is enabled for octavia jobboard
assert:
that: enable_redis | bool
fail_msg: "Redis must be enabled when using octavia jobboard"
run_once: True
when:
- enable_octavia_jobboard | bool