Define ovn provider agent when OVN is used

Defining OVN provider agent is required for the OVN driver as it is
responsible for connection to NB DB and listens to the events in it.

Without the any provider being enabled octavia-driver-agent service is
not doing anything. Moreover, assinged FIP to the LB VIP will not be
working properly, as that needs update to the LB inside of OVN, which
is performed only when agent detects changes to the VIP port.

Change-Id: I82b4cd6749f42220be799c3a3e0d6bc14255125f
(cherry picked from commit 03f797df2aac1a20b8e2e05fb706db38f7f82434)
This commit is contained in:
Dmitriy Rabotyagov 2024-08-27 21:34:12 +02:00
parent e33d5a0406
commit 616a47fa91
2 changed files with 6 additions and 3 deletions
defaults
templates

@ -488,7 +488,9 @@ octavia_uwsgi_tls:
# Set up the drivers
# Provider agents are optional and not required for a successful Octavia provider driver
# Possible options: amphora_agent, noop_agent, ovn
octavia_enabled_provider_agents: []
octavia_enabled_provider_agents:
- "{{ (octavia_ovn_enabled | bool) | ternary('ovn', None) }}"
octavia_enabled_provider_drivers:
- "amphorav2:'The Octavia Amphora v2 driver.'"
- "{{ (octavia_ovn_enabled | bool) | ternary(\"ovn:'The Octavia OVN provider driver.'\", False) }}"

@ -199,9 +199,10 @@ endpoint_type = {{ octavia_clients_endpoint }}
region_name = {{ keystone_service_region }}
valid_interfaces = {{ octavia_clients_endpoint }}
{% if octavia_enabled_provider_agents | length > 0 %}
{% set _enabled_provider_agents = octavia_enabled_provider_agents | select() %}
{% if _enabled_provider_agents | length > 0 %}
[driver_agent]
enabled_provider_agents = {{ octavia_enabled_provider_agents | join(',') }}
enabled_provider_agents = {{ _enabled_provider_agents | join(',') }}
{% endif %}
{% if octavia_ovn_enabled %}