From c79d3c2e4c8abe865a4923ebe164e20d185c8f34 Mon Sep 17 00:00:00 2001 From: James Denton Date: Wed, 30 Nov 2022 22:21:27 -0600 Subject: [PATCH] Install openvswitch packages in Neutron server container neutron-server appears to require ovsdb-client to communicate with ovsdb in an OVN install. On metal, this isn't an issue since ovsdb-client is installed with openvswitch-common but with LXC, OVS packages aren't installed in the neutron server lxc container. Ubuntu/Debian splits out openvswitch-common utilities from the actual openvswitch service (openvswitch-server), while CentOS/RHEL-based distros package them all up. This method was chosen as lowest common denominator between supported releases. Change-Id: I7a08ed81a15c0678832bcdd192bdc4e10064bd6d --- vars/main.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/vars/main.yml b/vars/main.yml index e30f9661..54d0da63 100644 --- a/vars/main.yml +++ b/vars/main.yml @@ -22,6 +22,7 @@ neutron_needs_openvswitch: >- {{ (neutron_services['neutron-openvswitch-agent']['group'] in group_names and neutron_services['neutron-openvswitch-agent'].service_en | bool) or (neutron_services['neutron-ovn-northd']['group'] in group_names and (neutron_plugin_type == 'ml2.ovn') | bool) or (neutron_services['neutron-ovn-controller']['group'] in group_names and (neutron_plugin_type == 'ml2.ovn') | bool) + or (neutron_services['neutron-server']['group'] in group_names and (neutron_plugin_type == 'ml2.ovn') | bool) or ((neutron_services['neutron-server']['group'] not in group_names) and neutron_plugin_type == 'ml2.opendaylight') }} # Set the Calico Felix agent executable destination path @@ -264,7 +265,7 @@ _neutron_non_tunnel_types: - vlan - local -_neutron_ovs_disabled: "{{ (neutron_services['neutron-ovn-northd']['group'] in group_names) and (neutron_services['neutron-ovn-controller']['group'] not in group_names) }}" +_neutron_ovs_disabled: "{{ (neutron_services['neutron-ovn-northd']['group'] or neutron_services['neutron-server']['group'] in group_names) and (neutron_services['neutron-ovn-controller']['group'] not in group_names) and (neutron_plugin_type == 'ml2.ovn') }}" # Tunnel network types used by the OVS agent neutron_tunnel_types: "{{ neutron_ml2_drivers_type.split(',') | difference(_neutron_non_tunnel_types) | join(',') }}"