I managed to reproduce this with a single q-svc having api_workers=2 config.
Added a time.sleep(5) to just before pg_add() here:
https://opendev.org/openstack/neutron/src/commit/77616fd1773ebca4a6261eec91b2fc5c4ece8e77/neutron/plugins/ml2/drivers/ovn/mech_driver/ovsdb/ovn_client.py#L2170
Rebuilt my ovn devstack with NEUTRON_CREATE_INITIAL_NETWORKS=False to prevent the creation of port group 'neutron_pg_drop' during stack.sh.
This triggered the error:
openstack network create net0 openstack port create port0 --network net0 & openstack port create port1 --network net0 &
One port create succeeded, the other failed with:
HttpException: 500: Server Error for url: http://192.168.122.169:9696/v2.0/ports, Request Failed: internal server error while processing your request.
In the logs:
márc 05 16:22:10 devstack0 neutron-server[11115]: ERROR ovsdbapp.backend.ovs_idl.transaction [None req-6c61fbbe-b81d-4d3d-9e16-2782c64e2128 admin admin] Traceback (most recent call last): márc 05 16:22:10 devstack0 neutron-server[11115]: File "/usr/local/lib/python3.6/dist-packages/ovsdbapp/backend/ovs_idl/connection.py", line 122, in run márc 05 16:22:10 devstack0 neutron-server[11115]: txn.results.put(txn.do_commit()) márc 05 16:22:10 devstack0 neutron-server[11115]: File "/usr/local/lib/python3.6/dist-packages/ovsdbapp/backend/ovs_idl/transaction.py", line 123, in do_commit márc 05 16:22:10 devstack0 neutron-server[11115]: self.post_commit(txn) márc 05 16:22:10 devstack0 neutron-server[11115]: File "/usr/local/lib/python3.6/dist-packages/ovsdbapp/backend/ovs_idl/transaction.py", line 70, in post_commit márc 05 16:22:10 devstack0 neutron-server[11115]: command.post_commit(txn) márc 05 16:22:10 devstack0 neutron-server[11115]: File "/usr/local/lib/python3.6/dist-packages/ovsdbapp/backend/ovs_idl/command.py", line 79, in post_commit márc 05 16:22:10 devstack0 neutron-server[11115]: row = self.api.tables[self.table_name].rows[real_uuid] márc 05 16:22:10 devstack0 neutron-server[11115]: File "/usr/lib/python3.6/collections/__init__.py", line 991, in __getitem__ márc 05 16:22:10 devstack0 neutron-server[11115]: raise KeyError(key) márc 05 16:22:10 devstack0 neutron-server[11115]: KeyError: <ovsdbapp.backend.ovs_idl.rowview.RowView object at 0x7ff6eae66860> márc 05 16:22:10 devstack0 neutron-server[11115]: márc 05 16:22:10 devstack0 neutron-server[11115]: ERROR neutron.plugins.ml2.managers [None req-6c61fbbe-b81d-4d3d-9e16-2782c64e2128 admin admin] Mechanism driver 'ovn' failed in create_port_postcommit: KeyError: < ovsdbapp.backend.ovs_idl.rowview.RowView object at 0x7ff6eae66860> márc 05 16:22:10 devstack0 neutron-server[11115]: ERROR neutron.plugins.ml2.managers Traceback (most recent call last): márc 05 16:22:10 devstack0 neutron-server[11115]: ERROR neutron.plugins.ml2.managers File "/opt/stack/neutron/neutron/plugins/ml2/managers.py", line 477, in _call_on_drivers márc 05 16:22:10 devstack0 neutron-server[11115]: ERROR neutron.plugins.ml2.managers getattr(driver.obj, method_name)(context) márc 05 16:22:10 devstack0 neutron-server[11115]: ERROR neutron.plugins.ml2.managers File "/opt/stack/neutron/neutron/plugins/ml2/drivers/ovn/mech_driver/mech_driver.py", line 530, in create_port_postcommit márc 05 16:22:10 devstack0 neutron-server[11115]: ERROR neutron.plugins.ml2.managers self._ovn_client.create_port(port) márc 05 16:22:10 devstack0 neutron-server[11115]: ERROR neutron.plugins.ml2.managers File "/opt/stack/neutron/neutron/plugins/ml2/drivers/ovn/mech_driver/ovsdb/ovn_client.py", line 420, in create_port márc 05 16:22:10 devstack0 neutron-server[11115]: ERROR neutron.plugins.ml2.managers txn.add(self._nb_idl.qos_add(**qos_rule_column)) márc 05 16:22:10 devstack0 neutron-server[11115]: ERROR neutron.plugins.ml2.managers File "/usr/lib/python3.6/contextlib.py", line 88, in __exit__ márc 05 16:22:10 devstack0 neutron-server[11115]: ERROR neutron.plugins.ml2.managers next(self.gen) márc 05 16:22:10 devstack0 neutron-server[11115]: ERROR neutron.plugins.ml2.managers File "/opt/stack/neutron/neutron/plugins/ml2/drivers/ovn/mech_driver/ovsdb/impl_idl_ovn.py", line 184, in transaction márc 05 16:22:10 devstack0 neutron-server[11115]: ERROR neutron.plugins.ml2.managers yield t márc 05 16:22:10 devstack0 neutron-server[11115]: ERROR neutron.plugins.ml2.managers File "/usr/lib/python3.6/contextlib.py", line 88, in __exit__ márc 05 16:22:10 devstack0 neutron-server[11115]: ERROR neutron.plugins.ml2.managers next(self.gen) márc 05 16:22:10 devstack0 neutron-server[11115]: ERROR neutron.plugins.ml2.managers File "/usr/local/lib/python3.6/dist-packages/ovsdbapp/api.py", line 119, in transaction márc 05 16:22:10 devstack0 neutron-server[11115]: ERROR neutron.plugins.ml2.managers del self._nested_txns_map[cur_thread_id] márc 05 16:22:10 devstack0 neutron-server[11115]: ERROR neutron.plugins.ml2.managers File "/usr/local/lib/python3.6/dist-packages/ovsdbapp/api.py", line 69, in __exit__ márc 05 16:22:10 devstack0 neutron-server[11115]: ERROR neutron.plugins.ml2.managers self.result = self.commit() márc 05 16:22:10 devstack0 neutron-server[11115]: ERROR neutron.plugins.ml2.managers File "/usr/local/lib/python3.6/dist-packages/ovsdbapp/backend/ovs_idl/transaction.py", line 62, in commit márc 05 16:22:10 devstack0 neutron-server[11115]: ERROR neutron.plugins.ml2.managers raise result.ex márc 05 16:22:10 devstack0 neutron-server[11115]: ERROR neutron.plugins.ml2.managers File "/usr/local/lib/python3.6/dist-packages/ovsdbapp/backend/ovs_idl/connection.py", line 122, in run márc 05 16:22:10 devstack0 neutron-server[11115]: ERROR neutron.plugins.ml2.managers txn.results.put(txn.do_commit()) márc 05 16:22:10 devstack0 neutron-server[11115]: ERROR neutron.plugins.ml2.managers File "/usr/local/lib/python3.6/dist-packages/ovsdbapp/backend/ovs_idl/transaction.py", line 123, in do_commit márc 05 16:22:10 devstack0 neutron-server[11115]: ERROR neutron.plugins.ml2.managers self.post_commit(txn) márc 05 16:22:10 devstack0 neutron-server[11115]: ERROR neutron.plugins.ml2.managers File "/usr/local/lib/python3.6/dist-packages/ovsdbapp/backend/ovs_idl/transaction.py", line 70, in post_commit márc 05 16:22:10 devstack0 neutron-server[11115]: ERROR neutron.plugins.ml2.managers command.post_commit(txn) márc 05 16:22:10 devstack0 neutron-server[11115]: ERROR neutron.plugins.ml2.managers File "/usr/local/lib/python3.6/dist-packages/ovsdbapp/backend/ovs_idl/command.py", line 79, in post_commit márc 05 16:22:10 devstack0 neutron-server[11115]: ERROR neutron.plugins.ml2.managers row = self.api.tables[self.table_name].rows[real_uuid] márc 05 16:22:10 devstack0 neutron-server[11115]: ERROR neutron.plugins.ml2.managers File "/usr/lib/python3.6/collections/__init__.py", line 991, in __getitem__ márc 05 16:22:10 devstack0 neutron-server[11115]: ERROR neutron.plugins.ml2.managers raise KeyError(key) márc 05 16:22:10 devstack0 neutron-server[11115]: ERROR neutron.plugins.ml2.managers KeyError: <ovsdbapp.backend.ovs_idl.rowview.RowView object at 0x7ff6eae66860> márc 05 16:22:10 devstack0 neutron-server[11115]: ERROR neutron.plugins.ml2.managers márc 05 16:22:10 devstack0 neutron-server[11115]: ERROR neutron.plugins.ml2.plugin [None req-6c61fbbe-b81d-4d3d-9e16-2782c64e2128 admin admin] mechanism_manager.create_port_postcommit failed, deleting port 'a60f17ac-d134-4ec3-99fd-bb9249620b1f': neutron.plugins.ml2.common.exceptions.MechanismDriverError
I managed to reproduce this with a single q-svc having api_workers=2 config.
Added a time.sleep(5) to just before pg_add() here:
https:/ /opendev. org/openstack/ neutron/ src/commit/ 77616fd1773ebca 4a6261eec91b2fc 5c4ece8e77/ neutron/ plugins/ ml2/drivers/ ovn/mech_ driver/ ovsdb/ovn_ client. py#L2170
Rebuilt my ovn devstack with NEUTRON_ CREATE_ INITIAL_ NETWORKS= False to prevent the creation of port group 'neutron_pg_drop' during stack.sh.
This triggered the error:
openstack network create net0
openstack port create port0 --network net0 &
openstack port create port1 --network net0 &
One port create succeeded, the other failed with:
HttpException: 500: Server Error for url: http:// 192.168. 122.169: 9696/v2. 0/ports, Request Failed: internal server error while processing your request.
In the logs:
márc 05 16:22:10 devstack0 neutron- server[ 11115]: ERROR ovsdbapp. backend. ovs_idl. transaction [None req-6c61fbbe- b81d-4d3d- 9e16-2782c64e21 28 admin admin] Traceback (most recent call last): server[ 11115]: File "/usr/local/ lib/python3. 6/dist- packages/ ovsdbapp/ backend/ ovs_idl/ connection. py", line 122, in run server[ 11115]: txn.results. put(txn. do_commit( )) server[ 11115]: File "/usr/local/ lib/python3. 6/dist- packages/ ovsdbapp/ backend/ ovs_idl/ transaction. py", line 123, in do_commit server[ 11115]: self.post_ commit( txn) server[ 11115]: File "/usr/local/ lib/python3. 6/dist- packages/ ovsdbapp/ backend/ ovs_idl/ transaction. py", line 70, in post_commit server[ 11115]: command. post_commit( txn) server[ 11115]: File "/usr/local/ lib/python3. 6/dist- packages/ ovsdbapp/ backend/ ovs_idl/ command. py", line 79, in post_commit server[ 11115]: row = self.api. tables[ self.table_ name].rows[ real_uuid] server[ 11115]: File "/usr/lib/ python3. 6/collections/ __init_ _.py", line 991, in __getitem__ server[ 11115]: raise KeyError(key) server[ 11115]: KeyError: <ovsdbapp. backend. ovs_idl. rowview. RowView object at 0x7ff6eae66860> server[ 11115]: server[ 11115]: ERROR neutron. plugins. ml2.managers [None req-6c61fbbe- b81d-4d3d- 9e16-2782c64e21 28 admin admin] Mechanism driver 'ovn' failed in create_ port_postcommit : KeyError: < backend. ovs_idl. rowview. RowView object at 0x7ff6eae66860> server[ 11115]: ERROR neutron. plugins. ml2.managers Traceback (most recent call last): server[ 11115]: ERROR neutron. plugins. ml2.managers File "/opt/stack/ neutron/ neutron/ plugins/ ml2/managers. py", line 477, in _call_on_drivers server[ 11115]: ERROR neutron. plugins. ml2.managers getattr(driver.obj, method_ name)(context) server[ 11115]: ERROR neutron. plugins. ml2.managers File "/opt/stack/ neutron/ neutron/ plugins/ ml2/drivers/ ovn/mech_ driver/ mech_driver. py", line 530, in create_ port_postcommit server[ 11115]: ERROR neutron. plugins. ml2.managers self._ovn_ client. create_ port(port) server[ 11115]: ERROR neutron. plugins. ml2.managers File "/opt/stack/ neutron/ neutron/ plugins/ ml2/drivers/ ovn/mech_ driver/ ovsdb/ovn_ client. py", line 420, in create_port server[ 11115]: ERROR neutron. plugins. ml2.managers txn.add( self._nb_ idl.qos_ add(**qos_ rule_column) ) server[ 11115]: ERROR neutron. plugins. ml2.managers File "/usr/lib/ python3. 6/contextlib. py", line 88, in __exit__ server[ 11115]: ERROR neutron. plugins. ml2.managers next(self.gen) server[ 11115]: ERROR neutron. plugins. ml2.managers File "/opt/stack/ neutron/ neutron/ plugins/ ml2/drivers/ ovn/mech_ driver/ ovsdb/impl_ idl_ovn. py", line 184, in transaction server[ 11115]: ERROR neutron. plugins. ml2.managers yield t server[ 11115]: ERROR neutron. plugins. ml2.managers File "/usr/lib/ python3. 6/contextlib. py", line 88, in __exit__ server[ 11115]: ERROR neutron. plugins. ml2.managers next(self.gen) server[ 11115]: ERROR neutron. plugins. ml2.managers File "/usr/local/ lib/python3. 6/dist- packages/ ovsdbapp/ api.py" , line 119, in transaction server[ 11115]: ERROR neutron. plugins. ml2.managers del self._nested_ txns_map[ cur_thread_ id] server[ 11115]: ERROR neutron. plugins. ml2.managers File "/usr/local/ lib/python3. 6/dist- packages/ ovsdbapp/ api.py" , line 69, in __exit__ server[ 11115]: ERROR neutron. plugins. ml2.managers self.result = self.commit() server[ 11115]: ERROR neutron. plugins. ml2.managers File "/usr/local/ lib/python3. 6/dist- packages/ ovsdbapp/ backend/ ovs_idl/ transaction. py", line 62, in commit server[ 11115]: ERROR neutron. plugins. ml2.managers raise result.ex server[ 11115]: ERROR neutron. plugins. ml2.managers File "/usr/local/ lib/python3. 6/dist- packages/ ovsdbapp/ backend/ ovs_idl/ connection. py", line 122, in run server[ 11115]: ERROR neutron. plugins. ml2.managers txn.results. put(txn. do_commit( )) server[ 11115]: ERROR neutron. plugins. ml2.managers File "/usr/local/ lib/python3. 6/dist- packages/ ovsdbapp/ backend/ ovs_idl/ transaction. py", line 123, in do_commit server[ 11115]: ERROR neutron. plugins. ml2.managers self.post_ commit( txn) server[ 11115]: ERROR neutron. plugins. ml2.managers File "/usr/local/ lib/python3. 6/dist- packages/ ovsdbapp/ backend/ ovs_idl/ transaction. py", line 70, in post_commit server[ 11115]: ERROR neutron. plugins. ml2.managers command. post_commit( txn) server[ 11115]: ERROR neutron. plugins. ml2.managers File "/usr/local/ lib/python3. 6/dist- packages/ ovsdbapp/ backend/ ovs_idl/ command. py", line 79, in post_commit server[ 11115]: ERROR neutron. plugins. ml2.managers row = self.api. tables[ self.table_ name].rows[ real_uuid] server[ 11115]: ERROR neutron. plugins. ml2.managers File "/usr/lib/ python3. 6/collections/ __init_ _.py", line 991, in __getitem__ server[ 11115]: ERROR neutron. plugins. ml2.managers raise KeyError(key) server[ 11115]: ERROR neutron. plugins. ml2.managers KeyError: <ovsdbapp. backend. ovs_idl. rowview. RowView object at 0x7ff6eae66860> server[ 11115]: ERROR neutron. plugins. ml2.managers server[ 11115]: ERROR neutron. plugins. ml2.plugin [None req-6c61fbbe- b81d-4d3d- 9e16-2782c64e21 28 admin admin] mechanism_ manager. create_ port_postcommit failed, deleting port 'a60f17ac- d134-4ec3- 99fd-bb9249620b 1f': neutron. plugins. ml2.common. exceptions. MechanismDriver Error
márc 05 16:22:10 devstack0 neutron-
márc 05 16:22:10 devstack0 neutron-
márc 05 16:22:10 devstack0 neutron-
márc 05 16:22:10 devstack0 neutron-
márc 05 16:22:10 devstack0 neutron-
márc 05 16:22:10 devstack0 neutron-
márc 05 16:22:10 devstack0 neutron-
márc 05 16:22:10 devstack0 neutron-
márc 05 16:22:10 devstack0 neutron-
márc 05 16:22:10 devstack0 neutron-
márc 05 16:22:10 devstack0 neutron-
márc 05 16:22:10 devstack0 neutron-
márc 05 16:22:10 devstack0 neutron-
ovsdbapp.
márc 05 16:22:10 devstack0 neutron-
márc 05 16:22:10 devstack0 neutron-
márc 05 16:22:10 devstack0 neutron-
márc 05 16:22:10 devstack0 neutron-
márc 05 16:22:10 devstack0 neutron-
márc 05 16:22:10 devstack0 neutron-
márc 05 16:22:10 devstack0 neutron-
márc 05 16:22:10 devstack0 neutron-
márc 05 16:22:10 devstack0 neutron-
márc 05 16:22:10 devstack0 neutron-
márc 05 16:22:10 devstack0 neutron-
márc 05 16:22:10 devstack0 neutron-
márc 05 16:22:10 devstack0 neutron-
márc 05 16:22:10 devstack0 neutron-
márc 05 16:22:10 devstack0 neutron-
márc 05 16:22:10 devstack0 neutron-
márc 05 16:22:10 devstack0 neutron-
márc 05 16:22:10 devstack0 neutron-
márc 05 16:22:10 devstack0 neutron-
márc 05 16:22:10 devstack0 neutron-
márc 05 16:22:10 devstack0 neutron-
márc 05 16:22:10 devstack0 neutron-
márc 05 16:22:10 devstack0 neutron-
márc 05 16:22:10 devstack0 neutron-
márc 05 16:22:10 devstack0 neutron-
márc 05 16:22:10 devstack0 neutron-
márc 05 16:22:10 devstack0 neutron-
márc 05 16:22:10 devstack0 neutron-
márc 05 16:22:10 devstack0 neutron-
márc 05 16:22:10 devstack0 neutron-
márc 05 16:22:10 devstack0 neutron-
márc 05 16:22:10 devstack0 neutron-