Dec 01 07:19:38 tctrko1 neutron-linuxbridge-agent[18892]: ------ Green Thread ------
Dec 01 07:19:38 tctrko1 neutron-linuxbridge-agent[18892]: /openstack/venvs/neutron-21.2.6/bin/neutron-linuxbridge-agent:8 in <module>
Dec 01 07:19:38 tctrko1 neutron-linuxbridge-agent[18892]: `sys.exit(main())`
Dec 01 07:19:38 tctrko1 neutron-linuxbridge-agent[18892]: /openstack/venvs/neutron-21.2.6/lib/python3.6/site-packages/neutron/cmd/eventlet/plugins/linuxbridge_neutron_agent.py:21 in main
Dec 01 07:19:38 tctrko1 neutron-linuxbridge-agent[18892]: `agent_main.main()`
Dec 01 07:19:38 tctrko1 neutron-linuxbridge-agent[18892]: /openstack/venvs/neutron-21.2.6/lib/python3.6/site-packages/neutron/plugins/ml2/drivers/linuxbridge/agent/linuxbridge_neutron_agent.py:1055 in main
Dec 01 07:19:38 tctrko1 neutron-linuxbridge-agent[18892]: `manager = LinuxBridgeManager(bridge_mappings, interface_mappings)`
Dec 01 07:19:38 tctrko1 neutron-linuxbridge-agent[18892]: /openstack/venvs/neutron-21.2.6/lib/python3.6/site-packages/neutron/plugins/ml2/drivers/linuxbridge/agent/linuxbridge_neutron_agent.py:93 in __init__
Dec 01 07:19:38 tctrko1 neutron-linuxbridge-agent[18892]: `self.check_vxlan_support()`
Dec 01 07:19:38 tctrko1 neutron-linuxbridge-agent[18892]: /openstack/venvs/neutron-21.2.6/lib/python3.6/site-packages/neutron/plugins/ml2/drivers/linuxbridge/agent/linuxbridge_neutron_agent.py:745 in check_vxlan_sup
Dec 01 07:19:38 tctrko1 neutron-linuxbridge-agent[18892]: `if self.vxlan_ucast_supported():`
Dec 01 07:19:38 tctrko1 neutron-linuxbridge-agent[18892]: /openstack/venvs/neutron-21.2.6/lib/python3.6/site-packages/neutron/plugins/ml2/drivers/linuxbridge/agent/linuxbridge_neutron_agent.py:706 in vxlan_ucast_sup
Dec 01 07:19:38 tctrko1 neutron-linuxbridge-agent[18892]: `ip_lib.vxlan_in_use(seg_id)):`
Dec 01 07:19:38 tctrko1 neutron-linuxbridge-agent[18892]: /openstack/venvs/neutron-21.2.6/lib/python3.6/site-packages/neutron/agent/linux/ip_lib.py:741 in vxlan_in_use
Dec 01 07:19:38 tctrko1 neutron-linuxbridge-agent[18892]: `interfaces = get_devices_info(namespace)`
Dec 01 07:19:38 tctrko1 neutron-linuxbridge-agent[18892]: /openstack/venvs/neutron-21.2.6/lib/python3.6/site-packages/neutron/agent/linux/ip_lib.py:1379 in get_devices_info
Dec 01 07:19:38 tctrko1 neutron-linuxbridge-agent[18892]: `devices = privileged.get_link_devices(namespace, **kwargs)`
Dec 01 07:19:38 tctrko1 neutron-linuxbridge-agent[18892]: /openstack/venvs/neutron-21.2.6/lib/python3.6/site-packages/oslo_privsep/priv_context.py:247 in _wrap
Dec 01 07:19:38 tctrko1 neutron-linuxbridge-agent[18892]: `return self.channel.remote_call(name, args, kwargs)`
Dec 01 07:19:38 tctrko1 neutron-linuxbridge-agent[18892]: /openstack/venvs/neutron-21.2.6/lib/python3.6/site-packages/oslo_privsep/daemon.py:214 in remote_call
Dec 01 07:19:38 tctrko1 neutron-linuxbridge-agent[18892]: `result = self.send_recv((Message.CALL.value, name, args, kwargs))`
Dec 01 07:19:38 tctrko1 neutron-linuxbridge-agent[18892]: /openstack/venvs/neutron-21.2.6/lib/python3.6/site-packages/oslo_privsep/comm.py:172 in send_recv
Dec 01 07:19:38 tctrko1 neutron-linuxbridge-agent[18892]: `reply = future.result()`
Dec 01 07:19:38 tctrko1 neutron-linuxbridge-agent[18892]: /openstack/venvs/neutron-21.2.6/lib/python3.6/site-packages/oslo_privsep/comm.py:109 in result
Dec 01 07:19:38 tctrko1 neutron-linuxbridge-agent[18892]: `self.condvar.wait()`
Dec 01 07:19:38 tctrko1 neutron-linuxbridge-agent[18892]: /usr/lib/python3.6/threading.py:295 in wait
Dec 01 07:19:38 tctrko1 neutron-linuxbridge-agent[18892]: `waiter.acquire()`
Dec 01 07:19:38 tctrko1 neutron-linuxbridge-agent[18892]: /openstack/venvs/neutron-21.2.6/lib/python3.6/site-packages/eventlet/semaphore.py:115 in acquire
Dec 01 07:19:38 tctrko1 neutron-linuxbridge-agent[18892]: `hubs.get_hub().switch()`
Dec 01 07:19:38 tctrko1 neutron-linuxbridge-agent[18892]: /openstack/venvs/neutron-21.2.6/lib/python3.6/site-packages/eventlet/hubs/hub.py:298 in switch
Dec 01 07:19:38 tctrko1 neutron-linuxbridge-agent[18892]: `return self.greenlet.switch()`
In this case it looks like `privileged.get_link_devices` is what needs to be optimized which was not covered by the fix.
The stack trace is the following:
Dec 01 07:19:38 tctrko1 neutron- linuxbridge- agent[18892] : ------ Green Thread ------ linuxbridge- agent[18892] : /openstack/ venvs/neutron- 21.2.6/ bin/neutron- linuxbridge- agent:8 in <module> linuxbridge- agent[18892] : `sys.exit(main())` linuxbridge- agent[18892] : /openstack/ venvs/neutron- 21.2.6/ lib/python3. 6/site- packages/ neutron/ cmd/eventlet/ plugins/ linuxbridge_ neutron_ agent.py: 21 in main linuxbridge- agent[18892] : `agent_main.main()` linuxbridge- agent[18892] : /openstack/ venvs/neutron- 21.2.6/ lib/python3. 6/site- packages/ neutron/ plugins/ ml2/drivers/ linuxbridge/ agent/linuxbrid ge_neutron_ agent.py: 1055 in main linuxbridge- agent[18892] : `manager = LinuxBridgeMana ger(bridge_ mappings, interface_ mappings) ` linuxbridge- agent[18892] : /openstack/ venvs/neutron- 21.2.6/ lib/python3. 6/site- packages/ neutron/ plugins/ ml2/drivers/ linuxbridge/ agent/linuxbrid ge_neutron_ agent.py: 93 in __init__ linuxbridge- agent[18892] : `self.check_ vxlan_support( )` linuxbridge- agent[18892] : /openstack/ venvs/neutron- 21.2.6/ lib/python3. 6/site- packages/ neutron/ plugins/ ml2/drivers/ linuxbridge/ agent/linuxbrid ge_neutron_ agent.py: 745 in check_vxlan_sup linuxbridge- agent[18892] : `if self.vxlan_ ucast_supported ():` linuxbridge- agent[18892] : /openstack/ venvs/neutron- 21.2.6/ lib/python3. 6/site- packages/ neutron/ plugins/ ml2/drivers/ linuxbridge/ agent/linuxbrid ge_neutron_ agent.py: 706 in vxlan_ucast_sup linuxbridge- agent[18892] : `ip_lib. vxlan_in_ use(seg_ id)):` linuxbridge- agent[18892] : /openstack/ venvs/neutron- 21.2.6/ lib/python3. 6/site- packages/ neutron/ agent/linux/ ip_lib. py:741 in vxlan_in_use linuxbridge- agent[18892] : `interfaces = get_devices_ info(namespace) ` linuxbridge- agent[18892] : /openstack/ venvs/neutron- 21.2.6/ lib/python3. 6/site- packages/ neutron/ agent/linux/ ip_lib. py:1379 in get_devices_info linuxbridge- agent[18892] : `devices = privileged. get_link_ devices( namespace, **kwargs)` linuxbridge- agent[18892] : /openstack/ venvs/neutron- 21.2.6/ lib/python3. 6/site- packages/ oslo_privsep/ priv_context. py:247 in _wrap linuxbridge- agent[18892] : `return self.channel. remote_ call(name, args, kwargs)` linuxbridge- agent[18892] : /openstack/ venvs/neutron- 21.2.6/ lib/python3. 6/site- packages/ oslo_privsep/ daemon. py:214 in remote_call linuxbridge- agent[18892] : `result = self.send_ recv((Message. CALL.value, name, args, kwargs))` linuxbridge- agent[18892] : /openstack/ venvs/neutron- 21.2.6/ lib/python3. 6/site- packages/ oslo_privsep/ comm.py: 172 in send_recv linuxbridge- agent[18892] : `reply = future.result()` linuxbridge- agent[18892] : /openstack/ venvs/neutron- 21.2.6/ lib/python3. 6/site- packages/ oslo_privsep/ comm.py: 109 in result linuxbridge- agent[18892] : `self.condvar. wait()` linuxbridge- agent[18892] : /usr/lib/ python3. 6/threading. py:295 in wait linuxbridge- agent[18892] : `waiter.acquire()` linuxbridge- agent[18892] : /openstack/ venvs/neutron- 21.2.6/ lib/python3. 6/site- packages/ eventlet/ semaphore. py:115 in acquire linuxbridge- agent[18892] : `hubs.get_ hub().switch( )` linuxbridge- agent[18892] : /openstack/ venvs/neutron- 21.2.6/ lib/python3. 6/site- packages/ eventlet/ hubs/hub. py:298 in switch linuxbridge- agent[18892] : `return self.greenlet. switch( )`
Dec 01 07:19:38 tctrko1 neutron-
Dec 01 07:19:38 tctrko1 neutron-
Dec 01 07:19:38 tctrko1 neutron-
Dec 01 07:19:38 tctrko1 neutron-
Dec 01 07:19:38 tctrko1 neutron-
Dec 01 07:19:38 tctrko1 neutron-
Dec 01 07:19:38 tctrko1 neutron-
Dec 01 07:19:38 tctrko1 neutron-
Dec 01 07:19:38 tctrko1 neutron-
Dec 01 07:19:38 tctrko1 neutron-
Dec 01 07:19:38 tctrko1 neutron-
Dec 01 07:19:38 tctrko1 neutron-
Dec 01 07:19:38 tctrko1 neutron-
Dec 01 07:19:38 tctrko1 neutron-
Dec 01 07:19:38 tctrko1 neutron-
Dec 01 07:19:38 tctrko1 neutron-
Dec 01 07:19:38 tctrko1 neutron-
Dec 01 07:19:38 tctrko1 neutron-
Dec 01 07:19:38 tctrko1 neutron-
Dec 01 07:19:38 tctrko1 neutron-
Dec 01 07:19:38 tctrko1 neutron-
Dec 01 07:19:38 tctrko1 neutron-
Dec 01 07:19:38 tctrko1 neutron-
Dec 01 07:19:38 tctrko1 neutron-
Dec 01 07:19:38 tctrko1 neutron-
Dec 01 07:19:38 tctrko1 neutron-
Dec 01 07:19:38 tctrko1 neutron-
Dec 01 07:19:38 tctrko1 neutron-
Dec 01 07:19:38 tctrko1 neutron-
Dec 01 07:19:38 tctrko1 neutron-
In this case it looks like `privileged. get_link_ devices` is what needs to be optimized which was not covered by the fix.