Public bug reported: A TypeError was thrown during a synchronization command(eutron-ovn-db-sync-util) execution. By checking the error call stack, it was found that it was an error during the creation of QoS. After analysis, there should be a port in the Neutron database, but not in the ovn-nb database. At this time, when executing the UpdateLSwitchQosOptionsCommand to create a logical port and update the QoS, it was found that the port_id is None. tracking variable port_id is obtained by executing AddLSwitchPortCommand. It should be that this command did not set the port_id correctly caused. Analyzing AddLSwitchPortCommand, it was found that if the port already exists, no result was set. This seems a bit contradictory. It was determined earlier that the port does not exist, but later it does. I think this situation may occur when executing synchronization commands and calling the API that creates the port. This operation is not very reasonable.
But I think the AddLSwitchPortCommand command should return consistent results. This issue should be fixed. ERROR Message: 2023-06-26 11:06:24.385 345 WARNING neutron.plugins.ml2.drivers.ovn.mech_driver.ovsdb.ovn_db_sync [None req-01d7864c-e3a6-409a-a852-2f6ea869fdae - - - - -] Port found in Neutron but not in OVN DB, port_id=ae5a8d95-e59f-465a-833d-28b3d0fabb2d 2023-06-26 11:06:24.440 345 ERROR ovsdbapp.backend.ovs_idl.transaction [None req-01d7864c-e3a6-409a-a852-2f6ea869fdae - - - - -] Traceback (most recent call last): File "/var/lib/kolla/venv/lib/python3.6/site-packages/ovsdbapp/backend/ovs_idl/connection.py", line 131, in run txn.results.put(txn.do_commit()) File "/var/lib/kolla/venv/lib/python3.6/site-packages/ovsdbapp/backend/ovs_idl/transaction.py", line 92, in do_commit command.run_idl(txn) File "/root/neutron/plugins/ml2/drivers/ovn/mech_driver/ovsdb/commands.py", line 216, in run_idl port = self.api.lookup('Logical_Switch_Port', port_id) File "/var/lib/kolla/venv/lib/python3.6/site-packages/ovsdbapp/backend/ovs_idl/__init__.py", line 181, in lookup return self._lookup(table, record) File "/var/lib/kolla/venv/lib/python3.6/site-packages/ovsdbapp/backend/ovs_idl/__init__.py", line 203, in _lookup uuid_ = uuid.UUID(record) File "/usr/lib64/python3.6/uuid.py", line 134, in __init__ raise TypeError('one of the hex, bytes, bytes_le, fields, ' TypeError: one of the hex, bytes, bytes_le, fields, or int arguments must be given 2023-06-26 11:06:24.441 345 CRITICAL neutron_ovn_db_sync_util [None req-01d7864c-e3a6-409a-a852-2f6ea869fdae - - - - -] Unhandled error: TypeError: one of the hex, bytes, bytes_le, fields, or int arguments must be given 2023-06-26 11:06:24.441 345 ERROR neutron_ovn_db_sync_util Traceback (most recent call last): 2023-06-26 11:06:24.441 345 ERROR neutron_ovn_db_sync_util File "/var/lib/kolla/venv/bin/neutron-ovn-db-sync-util", line 8, in <module> 2023-06-26 11:06:24.441 345 ERROR neutron_ovn_db_sync_util sys.exit(main()) 2023-06-26 11:06:24.441 345 ERROR neutron_ovn_db_sync_util File "/root/neutron/cmd/ovn/neutron_ovn_db_sync_util.py", line 231, in main 2023-06-26 11:06:24.441 345 ERROR neutron_ovn_db_sync_util synchronizer.do_sync() 2023-06-26 11:06:24.441 345 ERROR neutron_ovn_db_sync_util File "/root/neutron/plugins/ml2/drivers/ovn/mech_driver/ovsdb/ovn_db_sync.py", line 104, in do_sync 2023-06-26 11:06:24.441 345 ERROR neutron_ovn_db_sync_util self.sync_networks_ports_and_dhcp_opts(ctx) 2023-06-26 11:06:24.441 345 ERROR neutron_ovn_db_sync_util File "/root/neutron/plugins/ml2/drivers/ovn/mech_driver/ovsdb/ovn_db_sync.py", line 999, in sync_networks_ports_and_dhcp_opts 2023-06-26 11:06:24.441 345 ERROR neutron_ovn_db_sync_util for port_id, port in db_ports.items(): 2023-06-26 11:06:24.441 345 ERROR neutron_ovn_db_sync_util File "/root/neutron/plugins/ml2/drivers/ovn/mech_driver/ovsdb/ovn_db_sync.py", line 120, in _create_port_in_ovn 2023-06-26 11:06:24.441 345 ERROR neutron_ovn_db_sync_util self._ovn_client.create_port(ctx, port) 2023-06-26 11:06:24.441 345 ERROR neutron_ovn_db_sync_util File "/root/neutron/plugins/ml2/drivers/ovn/mech_driver/ovsdb/ovn_client.py", line 427, in create_port 2023-06-26 11:06:24.441 345 ERROR neutron_ovn_db_sync_util self._qos_driver.create_port(txn, port, port_cmd) 2023-06-26 11:06:24.441 345 ERROR neutron_ovn_db_sync_util File "/usr/lib64/python3.6/contextlib.py", line 88, in __exit__ 2023-06-26 11:06:24.441 345 ERROR neutron_ovn_db_sync_util next(self.gen) 2023-06-26 11:06:24.441 345 ERROR neutron_ovn_db_sync_util File "/root/neutron/plugins/ml2/drivers/ovn/mech_driver/ovsdb/impl_idl_ovn.py", line 262, in transaction 2023-06-26 11:06:24.441 345 ERROR neutron_ovn_db_sync_util yield t 2023-06-26 11:06:24.441 345 ERROR neutron_ovn_db_sync_util File "/usr/lib64/python3.6/contextlib.py", line 88, in __exit__ 2023-06-26 11:06:24.441 345 ERROR neutron_ovn_db_sync_util next(self.gen) 2023-06-26 11:06:24.441 345 ERROR neutron_ovn_db_sync_util File "/var/lib/kolla/venv/lib/python3.6/site-packages/ovsdbapp/api.py", line 110, in transaction 2023-06-26 11:06:24.441 345 ERROR neutron_ovn_db_sync_util del self._nested_txns_map[cur_thread_id] 2023-06-26 11:06:24.441 345 ERROR neutron_ovn_db_sync_util File "/var/lib/kolla/venv/lib/python3.6/site-packages/ovsdbapp/api.py", line 61, in __exit__ 2023-06-26 11:06:24.441 345 ERROR neutron_ovn_db_sync_util self.result = self.commit() 2023-06-26 11:06:24.441 345 ERROR neutron_ovn_db_sync_util File "/var/lib/kolla/venv/lib/python3.6/site-packages/ovsdbapp/backend/ovs_idl/transaction.py", line 64, in commit 2023-06-26 11:06:24.441 345 ERROR neutron_ovn_db_sync_util raise result.ex 2023-06-26 11:06:24.441 345 ERROR neutron_ovn_db_sync_util File "/var/lib/kolla/venv/lib/python3.6/site-packages/ovsdbapp/backend/ovs_idl/connection.py", line 131, in run 2023-06-26 11:06:24.441 345 ERROR neutron_ovn_db_sync_util txn.results.put(txn.do_commit()) 2023-06-26 11:06:24.441 345 ERROR neutron_ovn_db_sync_util File "/var/lib/kolla/venv/lib/python3.6/site-packages/ovsdbapp/backend/ovs_idl/transaction.py", line 92, in do_commit 2023-06-26 11:06:24.441 345 ERROR neutron_ovn_db_sync_util command.run_idl(txn) 2023-06-26 11:06:24.441 345 ERROR neutron_ovn_db_sync_util File "/root/neutron/plugins/ml2/drivers/ovn/mech_driver/ovsdb/commands.py", line 216, in run_idl 2023-06-26 11:06:24.441 345 ERROR neutron_ovn_db_sync_util port = self.api.lookup('Logical_Switch_Port', port_id) 2023-06-26 11:06:24.441 345 ERROR neutron_ovn_db_sync_util File "/var/lib/kolla/venv/lib/python3.6/site-packages/ovsdbapp/backend/ovs_idl/__init__.py", line 181, in lookup 2023-06-26 11:06:24.441 345 ERROR neutron_ovn_db_sync_util return self._lookup(table, record) 2023-06-26 11:06:24.441 345 ERROR neutron_ovn_db_sync_util File "/var/lib/kolla/venv/lib/python3.6/site-packages/ovsdbapp/backend/ovs_idl/__init__.py", line 203, in _lookup 2023-06-26 11:06:24.441 345 ERROR neutron_ovn_db_sync_util uuid_ = uuid.UUID(record) 2023-06-26 11:06:24.441 345 ERROR neutron_ovn_db_sync_util File "/usr/lib64/python3.6/uuid.py", line 134, in __init__ 2023-06-26 11:06:24.441 345 ERROR neutron_ovn_db_sync_util raise TypeError('one of the hex, bytes, bytes_le, fields, ' 2023-06-26 11:06:24.441 345 ERROR neutron_ovn_db_sync_util TypeError: one of the hex, bytes, bytes_le, fields, or int arguments must be given 2023-06-26 11:06:24.441 345 ERROR neutron_ovn_db_sync_util ** Affects: neutron Importance: Undecided Assignee: ZhouHeng (zhouhenglc) Status: New ** Changed in: neutron Assignee: (unassigned) => ZhouHeng (zhouhenglc) -- You received this bug notification because you are a member of Yahoo! Engineering Team, which is subscribed to neutron. https://bugs.launchpad.net/bugs/2025202 Title: Execute neutron-ovn-db-sync-util report TypeError Status in neutron: New Bug description: A TypeError was thrown during a synchronization command(eutron-ovn-db-sync-util) execution. By checking the error call stack, it was found that it was an error during the creation of QoS. After analysis, there should be a port in the Neutron database, but not in the ovn-nb database. At this time, when executing the UpdateLSwitchQosOptionsCommand to create a logical port and update the QoS, it was found that the port_id is None. tracking variable port_id is obtained by executing AddLSwitchPortCommand. It should be that this command did not set the port_id correctly caused. Analyzing AddLSwitchPortCommand, it was found that if the port already exists, no result was set. This seems a bit contradictory. It was determined earlier that the port does not exist, but later it does. I think this situation may occur when executing synchronization commands and calling the API that creates the port. This operation is not very reasonable. But I think the AddLSwitchPortCommand command should return consistent results. This issue should be fixed. ERROR Message: 2023-06-26 11:06:24.385 345 WARNING neutron.plugins.ml2.drivers.ovn.mech_driver.ovsdb.ovn_db_sync [None req-01d7864c-e3a6-409a-a852-2f6ea869fdae - - - - -] Port found in Neutron but not in OVN DB, port_id=ae5a8d95-e59f-465a-833d-28b3d0fabb2d 2023-06-26 11:06:24.440 345 ERROR ovsdbapp.backend.ovs_idl.transaction [None req-01d7864c-e3a6-409a-a852-2f6ea869fdae - - - - -] Traceback (most recent call last): File "/var/lib/kolla/venv/lib/python3.6/site-packages/ovsdbapp/backend/ovs_idl/connection.py", line 131, in run txn.results.put(txn.do_commit()) File "/var/lib/kolla/venv/lib/python3.6/site-packages/ovsdbapp/backend/ovs_idl/transaction.py", line 92, in do_commit command.run_idl(txn) File "/root/neutron/plugins/ml2/drivers/ovn/mech_driver/ovsdb/commands.py", line 216, in run_idl port = self.api.lookup('Logical_Switch_Port', port_id) File "/var/lib/kolla/venv/lib/python3.6/site-packages/ovsdbapp/backend/ovs_idl/__init__.py", line 181, in lookup return self._lookup(table, record) File "/var/lib/kolla/venv/lib/python3.6/site-packages/ovsdbapp/backend/ovs_idl/__init__.py", line 203, in _lookup uuid_ = uuid.UUID(record) File "/usr/lib64/python3.6/uuid.py", line 134, in __init__ raise TypeError('one of the hex, bytes, bytes_le, fields, ' TypeError: one of the hex, bytes, bytes_le, fields, or int arguments must be given 2023-06-26 11:06:24.441 345 CRITICAL neutron_ovn_db_sync_util [None req-01d7864c-e3a6-409a-a852-2f6ea869fdae - - - - -] Unhandled error: TypeError: one of the hex, bytes, bytes_le, fields, or int arguments must be given 2023-06-26 11:06:24.441 345 ERROR neutron_ovn_db_sync_util Traceback (most recent call last): 2023-06-26 11:06:24.441 345 ERROR neutron_ovn_db_sync_util File "/var/lib/kolla/venv/bin/neutron-ovn-db-sync-util", line 8, in <module> 2023-06-26 11:06:24.441 345 ERROR neutron_ovn_db_sync_util sys.exit(main()) 2023-06-26 11:06:24.441 345 ERROR neutron_ovn_db_sync_util File "/root/neutron/cmd/ovn/neutron_ovn_db_sync_util.py", line 231, in main 2023-06-26 11:06:24.441 345 ERROR neutron_ovn_db_sync_util synchronizer.do_sync() 2023-06-26 11:06:24.441 345 ERROR neutron_ovn_db_sync_util File "/root/neutron/plugins/ml2/drivers/ovn/mech_driver/ovsdb/ovn_db_sync.py", line 104, in do_sync 2023-06-26 11:06:24.441 345 ERROR neutron_ovn_db_sync_util self.sync_networks_ports_and_dhcp_opts(ctx) 2023-06-26 11:06:24.441 345 ERROR neutron_ovn_db_sync_util File "/root/neutron/plugins/ml2/drivers/ovn/mech_driver/ovsdb/ovn_db_sync.py", line 999, in sync_networks_ports_and_dhcp_opts 2023-06-26 11:06:24.441 345 ERROR neutron_ovn_db_sync_util for port_id, port in db_ports.items(): 2023-06-26 11:06:24.441 345 ERROR neutron_ovn_db_sync_util File "/root/neutron/plugins/ml2/drivers/ovn/mech_driver/ovsdb/ovn_db_sync.py", line 120, in _create_port_in_ovn 2023-06-26 11:06:24.441 345 ERROR neutron_ovn_db_sync_util self._ovn_client.create_port(ctx, port) 2023-06-26 11:06:24.441 345 ERROR neutron_ovn_db_sync_util File "/root/neutron/plugins/ml2/drivers/ovn/mech_driver/ovsdb/ovn_client.py", line 427, in create_port 2023-06-26 11:06:24.441 345 ERROR neutron_ovn_db_sync_util self._qos_driver.create_port(txn, port, port_cmd) 2023-06-26 11:06:24.441 345 ERROR neutron_ovn_db_sync_util File "/usr/lib64/python3.6/contextlib.py", line 88, in __exit__ 2023-06-26 11:06:24.441 345 ERROR neutron_ovn_db_sync_util next(self.gen) 2023-06-26 11:06:24.441 345 ERROR neutron_ovn_db_sync_util File "/root/neutron/plugins/ml2/drivers/ovn/mech_driver/ovsdb/impl_idl_ovn.py", line 262, in transaction 2023-06-26 11:06:24.441 345 ERROR neutron_ovn_db_sync_util yield t 2023-06-26 11:06:24.441 345 ERROR neutron_ovn_db_sync_util File "/usr/lib64/python3.6/contextlib.py", line 88, in __exit__ 2023-06-26 11:06:24.441 345 ERROR neutron_ovn_db_sync_util next(self.gen) 2023-06-26 11:06:24.441 345 ERROR neutron_ovn_db_sync_util File "/var/lib/kolla/venv/lib/python3.6/site-packages/ovsdbapp/api.py", line 110, in transaction 2023-06-26 11:06:24.441 345 ERROR neutron_ovn_db_sync_util del self._nested_txns_map[cur_thread_id] 2023-06-26 11:06:24.441 345 ERROR neutron_ovn_db_sync_util File "/var/lib/kolla/venv/lib/python3.6/site-packages/ovsdbapp/api.py", line 61, in __exit__ 2023-06-26 11:06:24.441 345 ERROR neutron_ovn_db_sync_util self.result = self.commit() 2023-06-26 11:06:24.441 345 ERROR neutron_ovn_db_sync_util File "/var/lib/kolla/venv/lib/python3.6/site-packages/ovsdbapp/backend/ovs_idl/transaction.py", line 64, in commit 2023-06-26 11:06:24.441 345 ERROR neutron_ovn_db_sync_util raise result.ex 2023-06-26 11:06:24.441 345 ERROR neutron_ovn_db_sync_util File "/var/lib/kolla/venv/lib/python3.6/site-packages/ovsdbapp/backend/ovs_idl/connection.py", line 131, in run 2023-06-26 11:06:24.441 345 ERROR neutron_ovn_db_sync_util txn.results.put(txn.do_commit()) 2023-06-26 11:06:24.441 345 ERROR neutron_ovn_db_sync_util File "/var/lib/kolla/venv/lib/python3.6/site-packages/ovsdbapp/backend/ovs_idl/transaction.py", line 92, in do_commit 2023-06-26 11:06:24.441 345 ERROR neutron_ovn_db_sync_util command.run_idl(txn) 2023-06-26 11:06:24.441 345 ERROR neutron_ovn_db_sync_util File "/root/neutron/plugins/ml2/drivers/ovn/mech_driver/ovsdb/commands.py", line 216, in run_idl 2023-06-26 11:06:24.441 345 ERROR neutron_ovn_db_sync_util port = self.api.lookup('Logical_Switch_Port', port_id) 2023-06-26 11:06:24.441 345 ERROR neutron_ovn_db_sync_util File "/var/lib/kolla/venv/lib/python3.6/site-packages/ovsdbapp/backend/ovs_idl/__init__.py", line 181, in lookup 2023-06-26 11:06:24.441 345 ERROR neutron_ovn_db_sync_util return self._lookup(table, record) 2023-06-26 11:06:24.441 345 ERROR neutron_ovn_db_sync_util File "/var/lib/kolla/venv/lib/python3.6/site-packages/ovsdbapp/backend/ovs_idl/__init__.py", line 203, in _lookup 2023-06-26 11:06:24.441 345 ERROR neutron_ovn_db_sync_util uuid_ = uuid.UUID(record) 2023-06-26 11:06:24.441 345 ERROR neutron_ovn_db_sync_util File "/usr/lib64/python3.6/uuid.py", line 134, in __init__ 2023-06-26 11:06:24.441 345 ERROR neutron_ovn_db_sync_util raise TypeError('one of the hex, bytes, bytes_le, fields, ' 2023-06-26 11:06:24.441 345 ERROR neutron_ovn_db_sync_util TypeError: one of the hex, bytes, bytes_le, fields, or int arguments must be given 2023-06-26 11:06:24.441 345 ERROR neutron_ovn_db_sync_util To manage notifications about this bug go to: https://bugs.launchpad.net/neutron/+bug/2025202/+subscriptions -- Mailing list: https://launchpad.net/~yahoo-eng-team Post to : yahoo-eng-team@lists.launchpad.net Unsubscribe : https://launchpad.net/~yahoo-eng-team More help : https://help.launchpad.net/ListHelp