The problem is the oslo.privsep library is not getting initialized. In other words, init() [1] is not getting called in oslo_privsep/priv_context.py, therefore _HELPER_COMMAND_PREFIX is not getting set to root_helper as defined in neutron.conf [2].
So we end up running:
Running privsep helper: ['sudo', 'privsep-helper', '--config-file', '/etc/neutron/neutron.conf', '--privsep_context', 'neutron.privileged.ovs_vsctl_cmd', '--privsep_sock_path', '/tmp/tmpvvymywvv/privsep.sock']
Where we should instead we should be running:
Running privsep helper: ['sudo', 'neutron-rootwrap', '/etc/neutron/rootwrap.conf', 'privsep-helper', '--config-file', '/etc/neutron/neutron.conf', '--privsep_context', 'neutron.privileged.ovs_vsctl_cmd', '--privsep_sock_path', '/tmp/tmpdq_rjxpi/privsep.sock']
I think this is an upstream bug for neutron. It looks like neutron/ cmd/ovs_ cleanup. py is missing a call to agent_config. setup_privsep( ) in main():
diff --git a/neutron/ cmd/ovs_ cleanup. py b/neutron/ cmd/ovs_ cleanup. py .8e75317e08 100644 cmd/ovs_ cleanup. py cmd/ovs_ cleanup. py setup_logging( ) setup_privsep( )
index c6290909a8.
--- a/neutron/
+++ b/neutron/
@@ -58,6 +58,7 @@ def main():
conf = setup_conf()
conf()
config.
+ agent_config.
do_main(conf)
The problem is the oslo.privsep library is not getting initialized. In other words, init() [1] is not getting called in oslo_privsep/ priv_context. py, therefore _HELPER_ COMMAND_ PREFIX is not getting set to root_helper as defined in neutron.conf [2].
So we end up running: neutron. conf', '--privsep_ context' , 'neutron. privileged. ovs_vsctl_ cmd', '--privsep_ sock_path' , '/tmp/tmpvvymyw vv/privsep. sock']
Running privsep helper: ['sudo', 'privsep-helper', '--config-file', '/etc/neutron/
Where we should instead we should be running: rootwrap. conf', 'privsep-helper', '--config-file', '/etc/neutron/ neutron. conf', '--privsep_ context' , 'neutron. privileged. ovs_vsctl_ cmd', '--privsep_ sock_path' , '/tmp/tmpdq_ rjxpi/privsep. sock']
Running privsep helper: ['sudo', 'neutron-rootwrap', '/etc/neutron/
[1] https:/ /opendev. org/openstack/ oslo.privsep/ src/branch/ stable/ wallaby/ oslo_privsep/ priv_context. py#L107
[2] neutron.conf rootwrap. conf
[AGENT]
root_helper = sudo neutron-rootwrap /etc/neutron/