Throwing in a copy of a patch I had lying around from another investigation to make this configurable instead. Not rocket science but stashing in case it's wanted later.
diff --git a/config.yaml b/config.yaml
index 764ddee..1018dff 100644
--- a/config.yaml
+++ b/config.yaml
@@ -457,3 +457,8 @@ options:
description: |
Allow the charm and packages to restart services automatically when
required.
+ explicitly-egress-direct:
+ type: boolean
+ default: False
+ description: |
+ Set explicitly_egress_direct on neutron-openvswitch
diff --git a/hooks/neutron_ovs_context.py b/hooks/neutron_ovs_context.py
index 1c97eba..1ff0a9e 100644
--- a/hooks/neutron_ovs_context.py
+++ b/hooks/neutron_ovs_context.py
@@ -216,6 +216,8 @@ class OVSPluginContext(context.NeutronContext): ovs_ctxt['enable_dpdk'] = conf['enable-dpdk'] ovs_ctxt['keepalived_healthcheck_interval'] = \ conf['keepalived-healthcheck-interval']
+ ovs_ctxt['explicitly_egress_direct'] = conf['explicitly-egress-direct']
+ ovs_ctxt['disable_mlockall'] = self.disable_mlockall()
This may have been a bad option to enable by default based on the notes from https:/ /docs.openstack .org/releasenot es/neutron/ queens. html and may be breaking dvr/l3ha in some cases, discussing with details in https:/ /bugs.launchpad .net/neutron/ +bug/1945306
Throwing in a copy of a patch I had lying around from another investigation to make this configurable instead. Not rocket science but stashing in case it's wanted later.
diff --git a/config.yaml b/config.yaml egress- direct: egress_ direct on neutron-openvswitch neutron_ ovs_context. py b/hooks/ neutron_ ovs_context. py neutron_ ovs_context. py neutron_ ovs_context. py t(context. NeutronContext) :
ovs_ctxt[ 'enable_ dpdk'] = conf['enable-dpdk']
ovs_ctxt[ 'keepalived_ healthcheck_ interval' ] = \
conf[ 'keepalived- healthcheck- interval' ] 'explicitly_ egress_ direct' ] = conf['explicitl y-egress- direct' ]
ovs_ctxt[ 'disable_ mlockall' ] = self.disable_ mlockall( )
index 764ddee..1018dff 100644
--- a/config.yaml
+++ b/config.yaml
@@ -457,3 +457,8 @@ options:
description: |
Allow the charm and packages to restart services automatically when
required.
+ explicitly-
+ type: boolean
+ default: False
+ description: |
+ Set explicitly_
diff --git a/hooks/
index 1c97eba..1ff0a9e 100644
--- a/hooks/
+++ b/hooks/
@@ -216,6 +216,8 @@ class OVSPluginContex
+ ovs_ctxt[
+
diff --git a/templates/
index 74ccefa..cd4a889 100644
--- a/templates/
+++ b/templates/
@@ -26,6 +26,9 @@ polling_interval = {{ polling_interval }}
{% if extension_drivers -%}
extensions = {{ extension_drivers }}
{% endif -%}
+{% if explicitly_
+explicitly_
+{% endif -%}
[securitygroup] security_ groups and not enable_dpdk -%} ussuri/ openvswitch_ agent.ini b/templates/ ussuri/ openvswitch_ agent.ini ussuri/ openvswitch_ agent.ini ussuri/ openvswitch_ agent.ini egress_ direct = True egress_ direct -%} egress_ direct = {{ explicitly_ egress_ direct }}
{% if neutron_
diff --git a/templates/
index 2f42f50..cd4a889 100644
--- a/templates/
+++ b/templates/
@@ -26,8 +26,9 @@ polling_interval = {{ polling_interval }}
{% if extension_drivers -%}
extensions = {{ extension_drivers }}
{% endif -%}
-# See LP 1931696
-explicitly_
+{% if explicitly_
+explicitly_
+{% endif -%}
[securitygroup] security_ groups and not enable_dpdk -%}
{% if neutron_