From 03f797df2aac1a20b8e2e05fb706db38f7f82434 Mon Sep 17 00:00:00 2001 From: Dmitriy Rabotyagov Date: Tue, 27 Aug 2024 21:34:12 +0200 Subject: [PATCH] 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 --- defaults/main.yml | 4 +++- templates/octavia.conf.j2 | 5 +++-- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/defaults/main.yml b/defaults/main.yml index 41d78687..42cca766 100644 --- a/defaults/main.yml +++ b/defaults/main.yml @@ -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) }}" diff --git a/templates/octavia.conf.j2 b/templates/octavia.conf.j2 index 680520af..622fc225 100644 --- a/templates/octavia.conf.j2 +++ b/templates/octavia.conf.j2 @@ -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 %}