Dear OVS developers,
I hope this message finds you well. We have encountered a specific issue within
ovs.db while attempting to update a specific row in the database and need your
expertise to resolve it.
The weird thing about this issue is that the outcome is not consistent as it
sometimes seems to does update (db_set) the IDL Row, but sometimes raises an
exception as stated below.
As you can see we try to update both the name and chassis_name for a
Gateway_Chassis entry however it seems that sometimes the chassis_name is
getting discarded at the end of the stack trace (when the ValueError is raised).
Is there a constraint in terms of custom indexing that I have to be aware of
when trying to update this row, or could this be a bug?
2023-11-09 10:02:50,928 - INFO - Updating Gateway_Chassis
d745107c-e9aa-4e28-be70-b9a7bc948946 with {'name':
'lrp-755153cd-38a0-4fc1-b666-4348df547010_c3be3', 'chassis_name': 'c3be3'}
2023-11-09 10:02:50,931 - ERROR -
Gateway_Chassis(uuid=UUID('d745107c-e9aa-4e28-be70-b9a7bc948946'),
name='lrp-755153cd-38a0-4fc1-b666-4348df547010_c3bc3', priority=0,
external_ids={}, chassis_name='', options={}) not in list
Traceback (most recent call last):
File "/app/generators/endpoints.py", line 101, in db_dummy_update_specific_row
api_idl.db_set(table, db_row['_uuid'],
**field_updates).execute(check_error=True)
File
"/usr/local/lib/python3.11/site-packages/ovsdbapp/backend/ovs_idl/command.py",
line 49, in execute
with self.api.transaction(check_error, log_errors, **kwargs) as t:
File "/usr/local/lib/python3.11/contextlib.py", line 144, in __exit__
next(self.gen)
File "/usr/local/lib/python3.11/site-packages/ovsdbapp/api.py", line 114, in
transaction
with self.create_transaction(
File "/usr/local/lib/python3.11/site-packages/ovsdbapp/api.py", line 71, in
__exit__
self.result = self.commit()
^^^^^^^^^^^^^
File
"/usr/local/lib/python3.11/site-packages/ovsdbapp/backend/ovs_idl/transaction.py",
line 64, in commit
raise result.ex
File
"/usr/local/lib/python3.11/site-packages/ovsdbapp/backend/ovs_idl/connection.py",
line 118, in run
txn.results.put(txn.do_commit())
^^^^^^^^^^^^^^^
File
"/usr/local/lib/python3.11/site-packages/ovsdbapp/backend/ovs_idl/transaction.py",
line 92, in do_commit
command.run_idl(txn)
File
"/usr/local/lib/python3.11/site-packages/ovsdbapp/backend/ovs_idl/command.py",
line 176, in run_idl
self.set_column(record, col, val)
File
"/usr/local/lib/python3.11/site-packages/ovsdbapp/backend/ovs_idl/command.py",
line 62, in set_column
setattr(row, col, idlutils.db_replace_record(val))
File "/usr/local/lib/python3.11/site-packages/ovs/db/idl.py", line 1399, in
__setattr__
idx.remove(self)
File "/usr/local/lib/python3.11/site-packages/ovs/db/custom_index.py", line
66, in remove
self.values.remove(self.index_entry_from_row(row))
File
"/usr/local/lib/python3.11/site-packages/sortedcontainers/sortedlist.py", line
2041, in remove
raise ValueError('{0!r} not in list'.format(value))
ValueError: Gateway_Chassis(uuid=UUID('d745107c-e9aa-4e28-be70-b9a7bc948946'),
name='lrp-755153cd-38a0-4fc1-b666-4348df547010_c3bc3', priority=0,
external_ids={}, chassis_name='', options={}) not in list
Your guidance on this matter would be greatly appreciated.
Thank you,
Bram
_______________________________________________
dev mailing list
[email protected]
https://mail.openvswitch.org/mailman/listinfo/ovs-dev