Bug 2290422
| Summary: | Bumping a revision number sometimes fails | ||
|---|---|---|---|
| Product: | Red Hat OpenStack | Reporter: | Jakub Libosvar <jlibosva> |
| Component: | openstack-neutron | Assignee: | Jakub Libosvar <jlibosva> |
| Status: | CLOSED ERRATA | QA Contact: | Renjing Xiao <rxiao> |
| Severity: | low | Docs Contact: | |
| Priority: | medium | ||
| Version: | 17.1 (Wallaby) | CC: | chrisw, fyanac, mariel, mtomaska, scohen |
| Target Milestone: | z4 | Keywords: | Triaged |
| Target Release: | 17.1 | ||
| Hardware: | Unspecified | ||
| OS: | Unspecified | ||
| Whiteboard: | |||
| Fixed In Version: | openstack-neutron-18.6.1-17.1.20240822200817.85ff760.el9ost | Doc Type: | No Doc Update |
| Doc Text: | Story Points: | --- | |
| Clone Of: | Environment: | ||
| Last Closed: | 2024-11-21 09:41:06 UTC | Type: | Bug |
| Regression: | --- | Mount Type: | --- |
| Documentation: | --- | CRM: | |
| Verified Versions: | Category: | --- | |
| oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | |
| Cloudforms Team: | --- | Target Upstream Version: | |
| Embargoed: | |||
I was able to reconstruct what happened. There seems to be a race when deleting a vm - between ovn-controller setting the port down and actually Neutron deleting the port from the database. The status change emits an event that ends up calling self.mechanism_manager.update_port_postcommit(mech_context) when the state in Neutron is changed. In the meantime, the port is deleted via API:
On one worker:
2024-06-07 19:25:23.816 32 INFO neutron.plugins.ml2.drivers.ovn.mech_driver.mech_driver [req-a3dc52ed-5e65-46f3-b2cf-844f270d438a - - - - -] OVN reports status down for port: a7864738-70aa-4faf-8545-d44c3a6cb754
2024-06-07 19:25:24.114 32 INFO neutron.notifiers.nova [-] Nova event matching ['req-82bf9278-2eb8-4e20-8141-c444b74c3bec'] response: {'server_uuid': '60a4e796-1521-4655-9151-eca7946cb961', 'name': 'network-vif-unplugged', 'status': 'completed', 'tag': 'a7864738-70aa-4faf-8545-d44c3a6cb754', 'code': 200}
[parameters: {'standard_attr_id': 299214875, 'revision_number': 5, 'ovn_revision_numbers_resource_uuid': 'a7864738-70aa-4faf-8545-d44c3a6cb754', 'ovn_revision_numbers_resource_type': 'ports'}]
2024-06-07 19:25:24.594 32 ERROR neutron.plugins.ml2.managers [parameters: {'standard_attr_id': 299214875, 'revision_number': 5, 'ovn_revision_numbers_resource_uuid': 'a7864738-70aa-4faf-8545-d44c3a6cb754', 'ovn_revision_numbers_resource_type': 'ports'}]
2024-06-07 19:25:26.155 32 INFO neutron.notifiers.nova [-] Nova event matching ['req-596a86b0-c128-4b6c-9d54-a7042976198e'] response: {'server_uuid': '60a4e796-1521-4655-9151-eca7946cb961', 'name': 'network-vif-plugged', 'status': 'completed', 'tag': 'a7864738-70aa-4faf-8545-d44c3a6cb754', 'code': 200}
On other worker:
2024-06-07 19:25:24.660 42 INFO neutron.wsgi [req-8f748264-e70f-4ee9-9406-e286e96e09e4 a1363a49a3a36445d4e48cdc77005de334dec76bbaa9f04e52b8041adf618a88 38b9b32101814a979d5dbd5979904f9e - 62cf1b5ec006489db99e2b0ebfb55f57 62cf1b5ec006489db99e2b0ebfb55f57] 172.16.21.202,172.16.21.72 "DELETE /v2.0/ports/a7864738-70aa-4faf-8545-d44c3a6cb754 HTTP/1.1" status: 204 len: 149 time: 0.4937482
The DB transactions:
record 14405:
term: 98
index: 769624
eid: 5935
2024-06-07 19:25:23.713 "ovn-controller"
table Port_Binding row eacdb251 (eacdb251) diff:
up=false
chassis=[]
--
record 14421:
term: 98
index: 769632
eid: d30a
2024-06-07 19:25:33.668 "ovn-northd"
table Port_Binding row eacdb251 (eacdb251) diff:
delete row
There is probably no impact on functionality given that one worker attempts to bump the revision number of a port that no longer exists and was successfully deleted. 2024-06-07T16:14:58.974Z|117676|binding|INFO|Claiming lport a7864738-70aa-4faf-8545-d44c3a6cb754 for this chassis. 2024-06-07T16:14:58.974Z|117677|binding|INFO|a7864738-70aa-4faf-8545-d44c3a6cb754: Claiming fa:16:3e:ae:1c:55 10.0.205.86 2024-06-07T16:14:59.415Z|117678|binding|INFO|Setting lport a7864738-70aa-4faf-8545-d44c3a6cb754 ovn-installed in OVS 2024-06-07T16:14:59.415Z|117679|binding|INFO|Setting lport a7864738-70aa-4faf-8545-d44c3a6cb754 up in Southbound 2024-06-07T19:25:23.635Z|120239|binding|INFO|Releasing lport a7864738-70aa-4faf-8545-d44c3a6cb754 from this chassis (sb_readonly=0) 2024-06-07T19:25:23.636Z|120240|binding|INFO|Setting lport a7864738-70aa-4faf-8545-d44c3a6cb754 down in Southbound When the port was removed from the NB for the record:
record 73733:
term: 26
index: 990964
eid: 90e3
2024-06-07 19:25:24.621
table Port_Group row "pg_4f715a9d_470c_4cc9_96e1_8a9ddf220c1f" (65ff5554) diff:
ports=[399aa44a-aa12-4b1e-a872-b5fef2bf7ce1]
table Port_Group row "neutron_pg_drop" (9a302e63) diff:
ports=[399aa44a-aa12-4b1e-a872-b5fef2bf7ce1]
table Logical_Switch row "neutron-b71d614c-b0b0-4f2d-b141-e78129212b98" (f774713e) diff:
ports=[399aa44a-aa12-4b1e-a872-b5fef2bf7ce1]
table Logical_Switch_Port row "a7864738-70aa-4faf-8545-d44c3a6cb754" (399aa44a) diff:
delete row
I reproduced this locally on OSP 17.1 but I can't reproduce it in upstream master. Seems like it's been fixed upstream already. I'm raising severity to high as this leaves an OVN revision number in the database behind. So basically the code ensures when bumping the ovn revision number that it exists. In our case it's already gone and the bump from the OVN even recreates it back. This doesn't happen in master because this patch fixes it: https://opendev.org/openstack/neutron/commit/81004125c4592f2378d8434e41ec2db41a42886b - although it's goal was different. Even after the patch we still see the traceback but it no longer recreates back the entry in the SQL database. I was wrong with the stale entry, the transaction is rolled back after it fails. Since the problem described in this bug report should be resolved in a recent advisory, it has been closed with a resolution of ERRATA. For information on the advisory (RHOSP 17.1.4 bug fix and enhancement advisory), and where to find the updated files, follow the link below. If the solution does not work for you, open a new bug report. https://access.redhat.com/errata/RHBA-2024:9974 |
Description of problem: Sometimes bumping a revision number fails, in this specific scenario OVN port went down and it triggered Neutron event, that attempted to update the revision number. Version-Release number of selected component (if applicable): 17.1.3 How reproducible: Sporadic Steps to Reproduce: 1. Maybe reproduces by spawning and deleting instances in a bulk. In this test 75 instances were spawned at once. 2. 3. Actual results: Expected results: Additional info: 2024-06-04 17:18:03.563 44 INFO neutron.plugins.ml2.drivers.ovn.mech_driver.mech_driver [req-939ad74c-8400-412f-b537-5e0250c001de - - - - -] OVN reports status down for port: 6d26299c-dab5-4b8d-bba4-37665f4dfcdd 2024-06-04 17:18:03.858 44 INFO neutron.notifiers.nova [-] Nova event matching ['req-6b15230f-3d03-4e94-bcbd-b87c3dd526fc'] response: {'server_uuid': '0043ea52-85ca-40bf-9242-1507159547a9', 'name': 'network-vif-unplugged', 'status': 'completed', 'tag': '6d26299c-dab5-4b8d-bba4-37665 f4dfcdd', 'code': 200} 2024-06-04 17:18:04.218 44 ERROR neutron.plugins.ml2.managers [req-939ad74c-8400-412f-b537-5e0250c001de - - - - -] Mechanism driver 'ovn' failed in update_port_postcommit: oslo_db.exception.DBReferenceError: (pymysql.err.IntegrityError) (1452, 'Cannot add or update a child row: a fo reign key constraint fails (`ovs_neutron`.`ovn_revision_numbers`, CONSTRAINT `ovn_revision_numbers_ibfk_1` FOREIGN KEY (`standard_attr_id`) REFERENCES `standardattributes` (`id`) ON DELETE SET NULL)') 2024-06-04 17:18:04.218 44 ERROR neutron.plugins.ml2.managers Traceback (most recent call last): 2024-06-04 17:18:04.218 44 ERROR neutron.plugins.ml2.managers File "/usr/lib64/python3.9/site-packages/sqlalchemy/engine/base.py", line 1276, in _execute_context 2024-06-04 17:18:04.218 44 ERROR neutron.plugins.ml2.managers self.dialect.do_execute( 2024-06-04 17:18:04.218 44 ERROR neutron.plugins.ml2.managers File "/usr/lib64/python3.9/site-packages/sqlalchemy/engine/default.py", line 608, in do_execute 2024-06-04 17:18:04.218 44 ERROR neutron.plugins.ml2.managers cursor.execute(statement, parameters) 2024-06-04 17:18:04.218 44 ERROR neutron.plugins.ml2.managers File "/usr/lib/python3.9/site-packages/pymysql/cursors.py", line 163, in execute 2024-06-04 17:18:04.218 44 ERROR neutron.plugins.ml2.managers result = self._query(query) 2024-06-04 17:18:04.218 44 ERROR neutron.plugins.ml2.managers File "/usr/lib/python3.9/site-packages/pymysql/cursors.py", line 321, in _query 2024-06-04 17:18:04.218 44 ERROR neutron.plugins.ml2.managers conn.query(q) 2024-06-04 17:18:04.218 44 ERROR neutron.plugins.ml2.managers File "/usr/lib/python3.9/site-packages/pymysql/connections.py", line 505, in query 2024-06-04 17:18:04.218 44 ERROR neutron.plugins.ml2.managers self._affected_rows = self._read_query_result(unbuffered=unbuffered) 2024-06-04 17:18:04.218 44 ERROR neutron.plugins.ml2.managers File "/usr/lib/python3.9/site-packages/pymysql/connections.py", line 724, in _read_query_result 2024-06-04 17:18:04.218 44 ERROR neutron.plugins.ml2.managers result.read() 2024-06-04 17:18:04.218 44 ERROR neutron.plugins.ml2.managers File "/usr/lib/python3.9/site-packages/pymysql/connections.py", line 1069, in read 2024-06-04 17:18:04.218 44 ERROR neutron.plugins.ml2.managers first_packet = self.connection._read_packet() 2024-06-04 17:18:04.218 44 ERROR neutron.plugins.ml2.managers File "/usr/lib/python3.9/site-packages/pymysql/connections.py", line 676, in _read_packet 2024-06-04 17:18:04.218 44 ERROR neutron.plugins.ml2.managers packet.raise_for_error() 2024-06-04 17:18:04.218 44 ERROR neutron.plugins.ml2.managers File "/usr/lib/python3.9/site-packages/pymysql/protocol.py", line 223, in raise_for_error 2024-06-04 17:18:04.218 44 ERROR neutron.plugins.ml2.managers err.raise_mysql_exception(self._data) 2024-06-04 17:18:04.218 44 ERROR neutron.plugins.ml2.managers File "/usr/lib/python3.9/site-packages/pymysql/err.py", line 107, in raise_mysql_exception 2024-06-04 17:18:04.218 44 ERROR neutron.plugins.ml2.managers raise errorclass(errno, errval) 2024-06-04 17:18:04.218 44 ERROR neutron.plugins.ml2.managers pymysql.err.IntegrityError: (1452, 'Cannot add or update a child row: a foreign key constraint fails (`ovs_neutron`.`ovn_revision_numbers`, CONSTRAINT `ovn_revision_numbers_ibfk_1` FOREIGN KEY (`standard_attr_id`) REFEREN CES `standardattributes` (`id`) ON DELETE SET NULL)') 2024-06-04 17:18:04.218 44 ERROR neutron.plugins.ml2.managers 2024-06-04 17:18:04.218 44 ERROR neutron.plugins.ml2.managers The above exception was the direct cause of the following exception: 2024-06-04 17:18:04.218 44 ERROR neutron.plugins.ml2.managers 2024-06-04 17:18:04.218 44 ERROR neutron.plugins.ml2.managers Traceback (most recent call last): 2024-06-04 17:18:04.218 44 ERROR neutron.plugins.ml2.managers File "/usr/lib/python3.9/site-packages/neutron/plugins/ml2/managers.py", line 493, in _call_on_drivers 2024-06-04 17:18:04.218 44 ERROR neutron.plugins.ml2.managers getattr(driver.obj, method_name)(context) 2024-06-04 17:18:04.218 44 ERROR neutron.plugins.ml2.managers File "/usr/lib/python3.9/site-packages/neutron/plugins/ml2/drivers/ovn/mech_driver/mech_driver.py", line 869, in update_port_postcommit 2024-06-04 17:18:04.218 44 ERROR neutron.plugins.ml2.managers self._ovn_update_port(context._plugin_context, port, original_port, 2024-06-04 17:18:04.218 44 ERROR neutron.plugins.ml2.managers File "/usr/lib/python3.9/site-packages/neutron/plugins/ml2/drivers/ovn/mech_driver/mech_driver.py", line 754, in _ovn_update_port 2024-06-04 17:18:04.218 44 ERROR neutron.plugins.ml2.managers self._ovn_client.update_port(plugin_context, port, 2024-06-04 17:18:04.218 44 ERROR neutron.plugins.ml2.managers File "/usr/lib/python3.9/site-packages/neutron/plugins/ml2/drivers/ovn/mech_driver/ovsdb/ovn_client.py", line 833, in update_port 2024-06-04 17:18:04.218 44 ERROR neutron.plugins.ml2.managers db_rev.bump_revision(context, port, ovn_const.TYPE_PORTS) 2024-06-04 17:18:04.218 44 ERROR neutron.plugins.ml2.managers File "/usr/lib/python3.9/site-packages/neutron_lib/db/api.py", line 217, in wrapped 2024-06-04 17:18:04.218 44 ERROR neutron.plugins.ml2.managers return method(*args, **kwargs) 2024-06-04 17:18:04.218 44 ERROR neutron.plugins.ml2.managers File "/usr/lib/python3.9/site-packages/neutron_lib/db/api.py", line 139, in wrapped 2024-06-04 17:18:04.218 44 ERROR neutron.plugins.ml2.managers setattr(e, '_RETRY_EXCEEDED', True) 2024-06-04 17:18:04.218 44 ERROR neutron.plugins.ml2.managers File "/usr/lib/python3.9/site-packages/oslo_utils/excutils.py", line 227, in __exit__ 2024-06-04 17:18:04.218 44 ERROR neutron.plugins.ml2.managers self.force_reraise() 2024-06-04 17:18:04.218 44 ERROR neutron.plugins.ml2.managers File "/usr/lib/python3.9/site-packages/oslo_utils/excutils.py", line 200, in force_reraise 2024-06-04 17:18:04.218 44 ERROR neutron.plugins.ml2.managers raise self.value 2024-06-04 17:18:04.218 44 ERROR neutron.plugins.ml2.managers File "/usr/lib/python3.9/site-packages/neutron_lib/db/api.py", line 135, in wrapped 2024-06-04 17:18:04.218 44 ERROR neutron.plugins.ml2.managers return f(*args, **kwargs) 2024-06-04 17:18:04.218 44 ERROR neutron.plugins.ml2.managers File "/usr/lib/python3.9/site-packages/oslo_db/api.py", line 154, in wrapper 2024-06-04 17:18:04.218 44 ERROR neutron.plugins.ml2.managers ectxt.value = e.inner_exc 2024-06-04 17:18:04.218 44 ERROR neutron.plugins.ml2.managers File "/usr/lib/python3.9/site-packages/oslo_utils/excutils.py", line 227, in __exit__ 2024-06-04 17:18:04.218 44 ERROR neutron.plugins.ml2.managers self.force_reraise() 2024-06-04 17:18:04.218 44 ERROR neutron.plugins.ml2.managers File "/usr/lib/python3.9/site-packages/oslo_utils/excutils.py", line 200, in force_reraise 2024-06-04 17:18:04.218 44 ERROR neutron.plugins.ml2.managers raise self.value 2024-06-04 17:18:04.218 44 ERROR neutron.plugins.ml2.managers File "/usr/lib/python3.9/site-packages/oslo_db/api.py", line 142, in wrapper 2024-06-04 17:18:04.218 44 ERROR neutron.plugins.ml2.managers return f(*args, **kwargs) 2024-06-04 17:18:04.218 44 ERROR neutron.plugins.ml2.managers File "/usr/lib/python3.9/site-packages/neutron_lib/db/api.py", line 183, in wrapped 2024-06-04 17:18:04.218 44 ERROR neutron.plugins.ml2.managers LOG.debug("Retry wrapper got retriable exception: %s", e) 2024-06-04 17:18:04.218 44 ERROR neutron.plugins.ml2.managers File "/usr/lib/python3.9/site-packages/oslo_utils/excutils.py", line 227, in __exit__ 2024-06-04 17:18:04.218 44 ERROR neutron.plugins.ml2.managers self.force_reraise() 2024-06-04 17:18:04.218 44 ERROR neutron.plugins.ml2.managers File "/usr/lib/python3.9/site-packages/oslo_utils/excutils.py", line 200, in force_reraise 2024-06-04 17:18:04.218 44 ERROR neutron.plugins.ml2.managers raise self.value 2024-06-04 17:18:04.218 44 ERROR neutron.plugins.ml2.managers File "/usr/lib/python3.9/site-packages/neutron_lib/db/api.py", line 179, in wrapped 2024-06-04 17:18:04.218 44 ERROR neutron.plugins.ml2.managers return f(*dup_args, **dup_kwargs) 2024-06-04 17:18:04.218 44 ERROR neutron.plugins.ml2.managers File "/usr/lib/python3.9/site-packages/neutron/db/ovn_revision_numbers_db.py", line 190, in bump_revision 2024-06-04 17:18:04.218 44 ERROR neutron.plugins.ml2.managers context.session.merge(row) 2024-06-04 17:18:04.218 44 ERROR neutron.plugins.ml2.managers File "/usr/lib64/python3.9/site-packages/sqlalchemy/orm/session.py", line 2160, in merge 2024-06-04 17:18:04.218 44 ERROR neutron.plugins.ml2.managers self._autoflush() 2024-06-04 17:18:04.218 44 ERROR neutron.plugins.ml2.managers File "/usr/lib64/python3.9/site-packages/sqlalchemy/orm/session.py", line 1622, in _autoflush 2024-06-04 17:18:04.218 44 ERROR neutron.plugins.ml2.managers self.flush() 2024-06-04 17:18:04.218 44 ERROR neutron.plugins.ml2.managers File "/usr/lib64/python3.9/site-packages/sqlalchemy/orm/session.py", line 2540, in flush 2024-06-04 17:18:04.218 44 ERROR neutron.plugins.ml2.managers self._flush(objects) 2024-06-04 17:18:04.218 44 ERROR neutron.plugins.ml2.managers File "/usr/lib64/python3.9/site-packages/sqlalchemy/orm/session.py", line 2682, in _flush 2024-06-04 17:18:04.218 44 ERROR neutron.plugins.ml2.managers transaction.rollback(_capture_exception=True) 2024-06-04 17:18:04.218 44 ERROR neutron.plugins.ml2.managers File "/usr/lib64/python3.9/site-packages/sqlalchemy/util/langhelpers.py", line 68, in __exit__ 2024-06-04 17:18:04.218 44 ERROR neutron.plugins.ml2.managers compat.raise_( 2024-06-04 17:18:04.218 44 ERROR neutron.plugins.ml2.managers File "/usr/lib64/python3.9/site-packages/sqlalchemy/util/compat.py", line 182, in raise_ 2024-06-04 17:18:04.218 44 ERROR neutron.plugins.ml2.managers raise exception 2024-06-04 17:18:04.218 44 ERROR neutron.plugins.ml2.managers File "/usr/lib64/python3.9/site-packages/sqlalchemy/orm/session.py", line 2642, in _flush 2024-06-04 17:18:04.218 44 ERROR neutron.plugins.ml2.managers flush_context.execute() 2024-06-04 17:18:04.218 44 ERROR neutron.plugins.ml2.managers File "/usr/lib64/python3.9/site-packages/sqlalchemy/orm/unitofwork.py", line 422, in execute 2024-06-04 17:18:04.218 44 ERROR neutron.plugins.ml2.managers rec.execute(self) 2024-06-04 17:18:04.218 44 ERROR neutron.plugins.ml2.managers File "/usr/lib64/python3.9/site-packages/sqlalchemy/orm/unitofwork.py", line 586, in execute 2024-06-04 17:18:04.218 44 ERROR neutron.plugins.ml2.managers persistence.save_obj( 2024-06-04 17:18:04.218 44 ERROR neutron.plugins.ml2.managers File "/usr/lib64/python3.9/site-packages/sqlalchemy/orm/persistence.py", line 230, in save_obj 2024-06-04 17:18:04.218 44 ERROR neutron.plugins.ml2.managers _emit_update_statements( 2024-06-04 17:18:04.218 44 ERROR neutron.plugins.ml2.managers File "/usr/lib64/python3.9/site-packages/sqlalchemy/orm/persistence.py", line 994, in _emit_update_statements 2024-06-04 17:18:04.218 44 ERROR neutron.plugins.ml2.managers c = cached_connections[connection].execute( 2024-06-04 17:18:04.218 44 ERROR neutron.plugins.ml2.managers File "/usr/lib64/python3.9/site-packages/sqlalchemy/engine/base.py", line 1011, in execute 2024-06-04 17:18:04.218 44 ERROR neutron.plugins.ml2.managers return meth(self, multiparams, params) 2024-06-04 17:18:04.218 44 ERROR neutron.plugins.ml2.managers File "/usr/lib64/python3.9/site-packages/sqlalchemy/sql/elements.py", line 298, in _execute_on_connection 2024-06-04 17:18:04.218 44 ERROR neutron.plugins.ml2.managers return connection._execute_clauseelement(self, multiparams, params) 2024-06-04 17:18:04.218 44 ERROR neutron.plugins.ml2.managers File "/usr/lib64/python3.9/site-packages/sqlalchemy/engine/base.py", line 1124, in _execute_clauseelement 2024-06-04 17:18:04.218 44 ERROR neutron.plugins.ml2.managers ret = self._execute_context( 2024-06-04 17:18:04.218 44 ERROR neutron.plugins.ml2.managers File "/usr/lib64/python3.9/site-packages/sqlalchemy/engine/base.py", line 1316, in _execute_context 2024-06-04 17:18:04.218 44 ERROR neutron.plugins.ml2.managers self._handle_dbapi_exception( 2024-06-04 17:18:04.218 44 ERROR neutron.plugins.ml2.managers File "/usr/lib64/python3.9/site-packages/sqlalchemy/engine/base.py", line 1508, in _handle_dbapi_exception 2024-06-04 17:18:04.218 44 ERROR neutron.plugins.ml2.managers util.raise_(newraise, with_traceback=exc_info[2], from_=e) 2024-06-04 17:18:04.218 44 ERROR neutron.plugins.ml2.managers File "/usr/lib64/python3.9/site-packages/sqlalchemy/util/compat.py", line 182, in raise_ 2024-06-04 17:18:04.218 44 ERROR neutron.plugins.ml2.managers raise exception 2024-06-04 17:18:04.218 44 ERROR neutron.plugins.ml2.managers File "/usr/lib64/python3.9/site-packages/sqlalchemy/engine/base.py", line 1276, in _execute_context 2024-06-04 17:18:04.218 44 ERROR neutron.plugins.ml2.managers self.dialect.do_execute( 2024-06-04 17:18:04.218 44 ERROR neutron.plugins.ml2.managers File "/usr/lib64/python3.9/site-packages/sqlalchemy/engine/default.py", line 608, in do_execute 2024-06-04 17:18:04.218 44 ERROR neutron.plugins.ml2.managers cursor.execute(statement, parameters) 2024-06-04 17:18:04.218 44 ERROR neutron.plugins.ml2.managers File "/usr/lib/python3.9/site-packages/pymysql/cursors.py", line 163, in execute 2024-06-04 17:18:04.218 44 ERROR neutron.plugins.ml2.managers result = self._query(query) 2024-06-04 17:18:04.218 44 ERROR neutron.plugins.ml2.managers File "/usr/lib/python3.9/site-packages/pymysql/cursors.py", line 321, in _query 2024-06-04 17:18:04.218 44 ERROR neutron.plugins.ml2.managers conn.query(q) 2024-06-04 17:18:04.218 44 ERROR neutron.plugins.ml2.managers File "/usr/lib/python3.9/site-packages/pymysql/connections.py", line 505, in query 2024-06-04 17:18:04.218 44 ERROR neutron.plugins.ml2.managers self._affected_rows = self._read_query_result(unbuffered=unbuffered) 2024-06-04 17:18:04.218 44 ERROR neutron.plugins.ml2.managers File "/usr/lib/python3.9/site-packages/pymysql/connections.py", line 724, in _read_query_result 2024-06-04 17:18:04.218 44 ERROR neutron.plugins.ml2.managers result.read() 2024-06-04 17:18:04.218 44 ERROR neutron.plugins.ml2.managers File "/usr/lib/python3.9/site-packages/pymysql/connections.py", line 1069, in read 2024-06-04 17:18:04.218 44 ERROR neutron.plugins.ml2.managers first_packet = self.connection._read_packet() 2024-06-04 17:18:04.218 44 ERROR neutron.plugins.ml2.managers File "/usr/lib/python3.9/site-packages/pymysql/connections.py", line 676, in _read_packet 2024-06-04 17:18:04.218 44 ERROR neutron.plugins.ml2.managers packet.raise_for_error() 2024-06-04 17:18:04.218 44 ERROR neutron.plugins.ml2.managers File "/usr/lib/python3.9/site-packages/pymysql/protocol.py", line 223, in raise_for_error 2024-06-04 17:18:04.218 44 ERROR neutron.plugins.ml2.managers err.raise_mysql_exception(self._data) 2024-06-04 17:18:04.218 44 ERROR neutron.plugins.ml2.managers File "/usr/lib/python3.9/site-packages/pymysql/err.py", line 107, in raise_mysql_exception 2024-06-04 17:18:04.218 44 ERROR neutron.plugins.ml2.managers raise errorclass(errno, errval) 2024-06-04 17:18:04.218 44 ERROR neutron.plugins.ml2.managers oslo_db.exception.DBReferenceError: (pymysql.err.IntegrityError) (1452, 'Cannot add or update a child row: a foreign key constraint fails (`ovs_neutron`.`ovn_revision_numbers`, CONSTRAINT `ovn_revision_numbers_ibfk_1` FOREIGN KEY (`standard_attr_id`) REFERENCES `standardattributes` (`id`) ON DELETE SET NULL)') 2024-06-04 17:18:04.218 44 ERROR neutron.plugins.ml2.managers [SQL: UPDATE ovn_revision_numbers SET standard_attr_id=%(standard_attr_id)s, revision_number=%(revision_number)s, updated_at=now() WHERE ovn_revision_numbers.resource_uuid = %(ovn_revision_numbers_resource_uuid)s AND ovn_revision_numbers.resource_type = %(ovn_revision_numbers_resource_type)s] 2024-06-04 17:18:04.218 44 ERROR neutron.plugins.ml2.managers [parameters: {'standard_attr_id': 298849487, 'revision_number': 5, 'ovn_revision_numbers_resource_uuid': '6d26299c-dab5-4b8d-bba4-37665f4dfcdd', 'ovn_revision_numbers_resource_type': 'ports'}] 2024-06-04 17:18:04.218 44 ERROR neutron.plugins.ml2.managers (Background on this error at: http://sqlalche.me/e/13/gkpj) 2024-06-04 17:18:04.218 44 ERROR neutron.plugins.ml2.managers