76cb8574ee
Enable the jobboard feature for the Octavia amphora provider. This requires Redis as a dependency, a precheck is added to ensure proper configuration. https://docs.openstack.org/octavia/latest/install/install-amphorav2.html Change-Id: Iec3c8a4b4e257557dc8ec995c41d0ad7e88e13e2
74 lines
2.0 KiB
YAML
74 lines
2.0 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:
|
|
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['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['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
|