yahoo-eng-team team mailing list archive
-
yahoo-eng-team team
-
Mailing list archive
-
Message #84195
[Bug 1894136] Re: [OVN Octavia Provider] OVN provider fails during listener delete
Reviewed: https://review.opendev.org/758472
Committed: https://git.openstack.org/cgit/openstack/ovn-octavia-provider/commit/?id=5b0715d96700d1c288f601b3ecb2cad507c2c134
Submitter: Zuul
Branch: master
commit 5b0715d96700d1c288f601b3ecb2cad507c2c134
Author: Terry Wilson <twilson@xxxxxxxxxx>
Date: Thu Oct 15 12:53:36 2020 -0500
Fix leaked file descriptors by cleaning up objects
A reference to the ovsdbapp Connection object is stored on the the
API impl class and it is causing the object to stick around and
its pipe fds to never close. Ultimately, python-ovs's call to
select() is limited to 1024 file descriptors and will eventually
error out. This deletes the connection and api objects explicitly
when we are done with them.
Change-Id: I97b27eaa293fb161724d34da88b4398f8b590c33
Co-authored-by: Brian Haley <bhaley@xxxxxxxxxx>
Closes-Bug: #1894136
** Changed in: neutron
Status: In Progress => Fix Released
--
You received this bug notification because you are a member of Yahoo!
Engineering Team, which is subscribed to neutron.
https://bugs.launchpad.net/bugs/1894136
Title:
[OVN Octavia Provider] OVN provider fails during listener delete
Status in neutron:
Fix Released
Bug description:
The OVN provider is consistently failing during a listener delete as
part of the member API tempest test tear down with a 'filedescriptor
out of range in select()' error.
o-api logs snippet:
Sep 03 15:44:05.171297 ubuntu-bionic-inap-mtl01-0019624710 devstack@o-api.service[10087]: ERROR ovn_octavia_provider.ovsdb.impl_idl_ovn [None req-9201aee8-9a5b-460c-bf8b-c6408d20aec7 tempest-MemberAPITest-903346660 tempest-MemberAPITest-903346660] OVS database connection to OVN_Northbound failed with error: 'filedescriptor out of range in select()'. Verify that the OVS and OVN services are available and that the 'ovn_nb_connection' and 'ovn_sb_connection' configuration options are correct.: ValueError: filedescriptor out of range in select()
Sep 03 15:44:05.171297 ubuntu-bionic-inap-mtl01-0019624710 devstack@o-api.service[10087]: ERROR ovn_octavia_provider.ovsdb.impl_idl_ovn Traceback (most recent call last):
Sep 03 15:44:05.171297 ubuntu-bionic-inap-mtl01-0019624710 devstack@o-api.service[10087]: ERROR ovn_octavia_provider.ovsdb.impl_idl_ovn File "/opt/stack/ovn-octavia-provider/ovn_octavia_provider/ovsdb/impl_idl_ovn.py", line 61, in start_connection
Sep 03 15:44:05.171297 ubuntu-bionic-inap-mtl01-0019624710 devstack@o-api.service[10087]: ERROR ovn_octavia_provider.ovsdb.impl_idl_ovn self.ovsdb_connection.start()
Sep 03 15:44:05.171297 ubuntu-bionic-inap-mtl01-0019624710 devstack@o-api.service[10087]: ERROR ovn_octavia_provider.ovsdb.impl_idl_ovn File "/usr/local/lib/python3.6/dist-packages/ovsdbapp/backend/ovs_idl/connection.py", line 79, in start
Sep 03 15:44:05.171297 ubuntu-bionic-inap-mtl01-0019624710 devstack@o-api.service[10087]: ERROR ovn_octavia_provider.ovsdb.impl_idl_ovn idlutils.wait_for_change(self.idl, self.timeout)
Sep 03 15:44:05.171297 ubuntu-bionic-inap-mtl01-0019624710 devstack@o-api.service[10087]: ERROR ovn_octavia_provider.ovsdb.impl_idl_ovn File "/usr/local/lib/python3.6/dist-packages/ovsdbapp/backend/ovs_idl/idlutils.py", line 201, in wait_for_change
Sep 03 15:44:05.171297 ubuntu-bionic-inap-mtl01-0019624710 devstack@o-api.service[10087]: ERROR ovn_octavia_provider.ovsdb.impl_idl_ovn ovs_poller.block()
Sep 03 15:44:05.171297 ubuntu-bionic-inap-mtl01-0019624710 devstack@o-api.service[10087]: ERROR ovn_octavia_provider.ovsdb.impl_idl_ovn File "/usr/local/lib/python3.6/dist-packages/ovs/poller.py", line 231, in block
Sep 03 15:44:05.171297 ubuntu-bionic-inap-mtl01-0019624710 devstack@o-api.service[10087]: ERROR ovn_octavia_provider.ovsdb.impl_idl_ovn events = self.poll.poll(self.timeout)
Sep 03 15:44:05.171297 ubuntu-bionic-inap-mtl01-0019624710 devstack@o-api.service[10087]: ERROR ovn_octavia_provider.ovsdb.impl_idl_ovn File "/usr/local/lib/python3.6/dist-packages/ovs/poller.py", line 140, in poll
Sep 03 15:44:05.171297 ubuntu-bionic-inap-mtl01-0019624710 devstack@o-api.service[10087]: ERROR ovn_octavia_provider.ovsdb.impl_idl_ovn timeout)
Sep 03 15:44:05.171297 ubuntu-bionic-inap-mtl01-0019624710 devstack@o-api.service[10087]: ERROR ovn_octavia_provider.ovsdb.impl_idl_ovn ValueError: filedescriptor out of range in select()
Sep 03 15:44:05.171297 ubuntu-bionic-inap-mtl01-0019624710 devstack@o-api.service[10087]: ERROR ovn_octavia_provider.ovsdb.impl_idl_ovn
Sep 03 15:44:05.172746 ubuntu-bionic-inap-mtl01-0019624710 devstack@o-api.service[10087]: ERROR octavia.api.drivers.driver_factory [None req-9201aee8-9a5b-460c-bf8b-c6408d20aec7 tempest-MemberAPITest-903346660 tempest-MemberAPITest-903346660] Unable to load provider driver ovn due to: OVS database connection to OVN_Northbound failed with error: 'filedescriptor out of range in select()'. Verify that the OVS and OVN services are available and that the 'ovn_nb_connection' and 'ovn_sb_connection' configuration options are correct.: ovn_octavia_provider.ovsdb.impl_idl_ovn.OvsdbConnectionUnavailable: OVS database connection to OVN_Northbound failed with error: 'filedescriptor out of range in select()'. Verify that the OVS and OVN services are available and that the 'ovn_nb_connection' and 'ovn_sb_connection' configuration options are correct.
Sep 03 15:44:05.175074 ubuntu-bionic-inap-mtl01-0019624710 devstack@o-api.service[10087]: ERROR wsme.api [None req-9201aee8-9a5b-460c-bf8b-c6408d20aec7 tempest-MemberAPITest-903346660 tempest-MemberAPITest-903346660] Server-side error: "Provider 'ovn' was not found.". Detail:
Sep 03 15:44:05.175074 ubuntu-bionic-inap-mtl01-0019624710 devstack@o-api.service[10087]: Traceback (most recent call last):
Sep 03 15:44:05.175074 ubuntu-bionic-inap-mtl01-0019624710 devstack@o-api.service[10087]: File "/opt/stack/ovn-octavia-provider/ovn_octavia_provider/ovsdb/impl_idl_ovn.py", line 61, in start_connection
Sep 03 15:44:05.175074 ubuntu-bionic-inap-mtl01-0019624710 devstack@o-api.service[10087]: self.ovsdb_connection.start()
Sep 03 15:44:05.175074 ubuntu-bionic-inap-mtl01-0019624710 devstack@o-api.service[10087]: File "/usr/local/lib/python3.6/dist-packages/ovsdbapp/backend/ovs_idl/connection.py", line 79, in start
Sep 03 15:44:05.175074 ubuntu-bionic-inap-mtl01-0019624710 devstack@o-api.service[10087]: idlutils.wait_for_change(self.idl, self.timeout)
Sep 03 15:44:05.175074 ubuntu-bionic-inap-mtl01-0019624710 devstack@o-api.service[10087]: File "/usr/local/lib/python3.6/dist-packages/ovsdbapp/backend/ovs_idl/idlutils.py", line 201, in wait_for_change
Sep 03 15:44:05.175074 ubuntu-bionic-inap-mtl01-0019624710 devstack@o-api.service[10087]: ovs_poller.block()
Sep 03 15:44:05.175074 ubuntu-bionic-inap-mtl01-0019624710 devstack@o-api.service[10087]: File "/usr/local/lib/python3.6/dist-packages/ovs/poller.py", line 231, in block
Sep 03 15:44:05.175074 ubuntu-bionic-inap-mtl01-0019624710 devstack@o-api.service[10087]: events = self.poll.poll(self.timeout)
Sep 03 15:44:05.175074 ubuntu-bionic-inap-mtl01-0019624710 devstack@o-api.service[10087]: File "/usr/local/lib/python3.6/dist-packages/ovs/poller.py", line 140, in poll
Sep 03 15:44:05.175074 ubuntu-bionic-inap-mtl01-0019624710 devstack@o-api.service[10087]: timeout)
Sep 03 15:44:05.175074 ubuntu-bionic-inap-mtl01-0019624710 devstack@o-api.service[10087]: ValueError: filedescriptor out of range in select()
Sep 03 15:44:05.175074 ubuntu-bionic-inap-mtl01-0019624710 devstack@o-api.service[10087]: During handling of the above exception, another exception occurred:
Sep 03 15:44:05.175074 ubuntu-bionic-inap-mtl01-0019624710 devstack@o-api.service[10087]: Traceback (most recent call last):
Sep 03 15:44:05.175074 ubuntu-bionic-inap-mtl01-0019624710 devstack@o-api.service[10087]: File "/opt/stack/octavia/octavia/api/drivers/driver_factory.py", line 44, in get_driver
Sep 03 15:44:05.175074 ubuntu-bionic-inap-mtl01-0019624710 devstack@o-api.service[10087]: invoke_on_load=True).driver
Sep 03 15:44:05.175074 ubuntu-bionic-inap-mtl01-0019624710 devstack@o-api.service[10087]: File "/usr/local/lib/python3.6/dist-packages/stevedore/driver.py", line 61, in __init__
Sep 03 15:44:05.175074 ubuntu-bionic-inap-mtl01-0019624710 devstack@o-api.service[10087]: warn_on_missing_entrypoint=warn_on_missing_entrypoint
Sep 03 15:44:05.175074 ubuntu-bionic-inap-mtl01-0019624710 devstack@o-api.service[10087]: File "/usr/local/lib/python3.6/dist-packages/stevedore/named.py", line 81, in __init__
Sep 03 15:44:05.175074 ubuntu-bionic-inap-mtl01-0019624710 devstack@o-api.service[10087]: verify_requirements)
Sep 03 15:44:05.175074 ubuntu-bionic-inap-mtl01-0019624710 devstack@o-api.service[10087]: File "/usr/local/lib/python3.6/dist-packages/stevedore/extension.py", line 233, in _load_plugins
Sep 03 15:44:05.175074 ubuntu-bionic-inap-mtl01-0019624710 devstack@o-api.service[10087]: self._on_load_failure_callback(self, ep, err)
Sep 03 15:44:05.175074 ubuntu-bionic-inap-mtl01-0019624710 devstack@o-api.service[10087]: File "/usr/local/lib/python3.6/dist-packages/stevedore/extension.py", line 225, in _load_plugins
Sep 03 15:44:05.175074 ubuntu-bionic-inap-mtl01-0019624710 devstack@o-api.service[10087]: verify_requirements,
Sep 03 15:44:05.175074 ubuntu-bionic-inap-mtl01-0019624710 devstack@o-api.service[10087]: File "/usr/local/lib/python3.6/dist-packages/stevedore/named.py", line 158, in _load_one_plugin
Sep 03 15:44:05.175074 ubuntu-bionic-inap-mtl01-0019624710 devstack@o-api.service[10087]: verify_requirements,
Sep 03 15:44:05.175074 ubuntu-bionic-inap-mtl01-0019624710 devstack@o-api.service[10087]: File "/usr/local/lib/python3.6/dist-packages/stevedore/extension.py", line 257, in _load_one_plugin
Sep 03 15:44:05.175074 ubuntu-bionic-inap-mtl01-0019624710 devstack@o-api.service[10087]: obj = plugin(*invoke_args, **invoke_kwds)
Sep 03 15:44:05.175074 ubuntu-bionic-inap-mtl01-0019624710 devstack@o-api.service[10087]: File "/opt/stack/ovn-octavia-provider/ovn_octavia_provider/driver.py", line 42, in __init__
Sep 03 15:44:05.175074 ubuntu-bionic-inap-mtl01-0019624710 devstack@o-api.service[10087]: self._ovn_helper = ovn_helper.OvnProviderHelper()
Sep 03 15:44:05.175074 ubuntu-bionic-inap-mtl01-0019624710 devstack@o-api.service[10087]: File "/opt/stack/ovn-octavia-provider/ovn_octavia_provider/helper.py", line 60, in __init__
Sep 03 15:44:05.175074 ubuntu-bionic-inap-mtl01-0019624710 devstack@o-api.service[10087]: self.ovn_nbdb_api = self.ovn_nbdb.start()
Sep 03 15:44:05.175074 ubuntu-bionic-inap-mtl01-0019624710 devstack@o-api.service[10087]: File "/opt/stack/ovn-octavia-provider/ovn_octavia_provider/ovsdb/impl_idl_ovn.py", line 174, in start
Sep 03 15:44:05.175074 ubuntu-bionic-inap-mtl01-0019624710 devstack@o-api.service[10087]: return impl_idl_ovn.OvsdbNbOvnIdl(self.conn)
Sep 03 15:44:05.175074 ubuntu-bionic-inap-mtl01-0019624710 devstack@o-api.service[10087]: File "/opt/stack/ovn-octavia-provider/ovn_octavia_provider/ovsdb/impl_idl_ovn.py", line 118, in __init__
Sep 03 15:44:05.175074 ubuntu-bionic-inap-mtl01-0019624710 devstack@o-api.service[10087]: super(OvsdbNbOvnIdl, self).__init__(connection)
Sep 03 15:44:05.175074 ubuntu-bionic-inap-mtl01-0019624710 devstack@o-api.service[10087]: File "/opt/stack/ovn-octavia-provider/ovn_octavia_provider/ovsdb/impl_idl_ovn.py", line 57, in __init__
Sep 03 15:44:05.175074 ubuntu-bionic-inap-mtl01-0019624710 devstack@o-api.service[10087]: super(Backend, self).__init__(connection)
Sep 03 15:44:05.175074 ubuntu-bionic-inap-mtl01-0019624710 devstack@o-api.service[10087]: File "/usr/local/lib/python3.6/dist-packages/ovsdbapp/backend/ovs_idl/__init__.py", line 35, in __init__
Sep 03 15:44:05.175074 ubuntu-bionic-inap-mtl01-0019624710 devstack@o-api.service[10087]: self.start_connection(connection)
Sep 03 15:44:05.175074 ubuntu-bionic-inap-mtl01-0019624710 devstack@o-api.service[10087]: File "/opt/stack/ovn-octavia-provider/ovn_octavia_provider/ovsdb/impl_idl_ovn.py", line 66, in start_connection
Sep 03 15:44:05.175074 ubuntu-bionic-inap-mtl01-0019624710 devstack@o-api.service[10087]: raise connection_exception
Sep 03 15:44:05.175074 ubuntu-bionic-inap-mtl01-0019624710 devstack@o-api.service[10087]: ovn_octavia_provider.ovsdb.impl_idl_ovn.OvsdbConnectionUnavailable: OVS database connection to OVN_Northbound failed with error: 'filedescriptor out of range in select()'. Verify that the OVS and OVN services are available and that the 'ovn_nb_connection' and 'ovn_sb_connection' configuration options are correct.
Sep 03 15:44:05.175074 ubuntu-bionic-inap-mtl01-0019624710 devstack@o-api.service[10087]: During handling of the above exception, another exception occurred:
Sep 03 15:44:05.175074 ubuntu-bionic-inap-mtl01-0019624710 devstack@o-api.service[10087]: Traceback (most recent call last):
Sep 03 15:44:05.175074 ubuntu-bionic-inap-mtl01-0019624710 devstack@o-api.service[10087]: File "/usr/local/lib/python3.6/dist-packages/wsmeext/pecan.py", line 84, in callfunction
Sep 03 15:44:05.175074 ubuntu-bionic-inap-mtl01-0019624710 devstack@o-api.service[10087]: result = f(self, *args, **kwargs)
Sep 03 15:44:05.175074 ubuntu-bionic-inap-mtl01-0019624710 devstack@o-api.service[10087]: File "/opt/stack/octavia/octavia/api/v2/controllers/listener.py", line 632, in delete
Sep 03 15:44:05.175074 ubuntu-bionic-inap-mtl01-0019624710 devstack@o-api.service[10087]: driver = driver_factory.get_driver(provider)
Sep 03 15:44:05.175074 ubuntu-bionic-inap-mtl01-0019624710 devstack@o-api.service[10087]: File "/opt/stack/octavia/octavia/api/drivers/driver_factory.py", line 49, in get_driver
Sep 03 15:44:05.175074 ubuntu-bionic-inap-mtl01-0019624710 devstack@o-api.service[10087]: raise exceptions.ProviderNotFound(prov=provider)
Sep 03 15:44:05.175074 ubuntu-bionic-inap-mtl01-0019624710 devstack@o-api.service[10087]: octavia.common.exceptions.ProviderNotFound: Provider 'ovn' was not found.
Sep 03 15:44:05.175074 ubuntu-bionic-inap-mtl01-0019624710 devstack@o-api.service[10087]: : octavia.common.exceptions.ProviderNotFound: Provider 'ovn' was not found.
Sep 03 15:44:05.178879 ubuntu-bionic-inap-mtl01-0019624710 devstack@o-api.service[10087]: [pid: 10089|app: 0|req: 1109/2281] 198.72.124.16 () {56 vars in 1234 bytes} [Thu Sep 3 15:44:04 2020] DELETE /load-balancer/v2.0/lbaas/listeners/3537f411-5ab3-48c8-9669-c9fa1f40fee9 => generated 90 bytes in 447 msecs (HTTP/1.1 501) 4 headers in 169 bytes (1 switches on core 0)
To manage notifications about this bug go to:
https://bugs.launchpad.net/neutron/+bug/1894136/+subscriptions
References