Tested-by: Flavio Fernandes <fla...@flaviof.com> Used this change against Openstack's OVN Zuul :
https://review.opendev.org/c/openstack/neutron/+/778595 <https://review.opendev.org/c/openstack/neutron/+/778595> > On Mar 4, 2021, at 11:18 AM, Terry Wilson <twil...@redhat.com> wrote: > > The Python IDL notification mechanism was sending a notification > for each processed update in a transaction as it was processed. > This causes issues with multi-row changes that contain references > to each other. > > For example, if a Logical_Router_Port is created along with a > Gateway_Chassis, and the LRP.gateway_chassis set to that GC, then > when the notify() passes the CREATE event for the LRP, the GC will > not yet have been processed, so __getattr__ when _uuid_to_row fails > to find the GC, will return the default value for LRP.gateway_chassis > which is []. > > This patch has the process_update methods return the notifications > that would be produced when a row changes, so they can be queued > and sent after all rows have been processed. > > Fixes: d7d417fcddf9 ("Allow subclasses of Idl to define a notification hook") > Signed-off-by: Terry Wilson <twil...@redhat.com> > --- > python/ovs/db/idl.py | 39 ++++++++++++++++++++++++--------------- > tests/ovsdb-idl.at | 22 ++++++++++++++++++++++ > tests/test-ovsdb.py | 7 +++++-- > 3 files changed, 51 insertions(+), 17 deletions(-) > <snip> _______________________________________________ dev mailing list d...@openvswitch.org https://mail.openvswitch.org/mailman/listinfo/ovs-dev