On Fri, Dec 2, 2022 at 8:27 AM Vladislav Odintsov <[email protected]> wrote: > > Hi Numan, > > only a part of those patched supposed to be applied. Another part present in > the RFC just to show some PoC/idea, should I repost all of the patches?
I'd say yes since you've marked the patches as RFC. Numan > > Regards, > Vladislav Odintsov > > > On 2 Dec 2022, at 00:20, Numan Siddique <[email protected]> wrote: > > > > On Thu, Dec 1, 2022 at 3:58 PM Vladislav Odintsov <[email protected] > > <mailto:[email protected]>> wrote: > >> > >> Hi, > >> > >> is it possible to consider any of the problems written below and here [0] > >> for the possible fixes to be included in upcoming OVN/OVS releases? > > > > Hi, > > > > I didn't get a chance to look at the patches. But if some of them are > > fixing any issues, we can definitely backport them, > > > > I'd suggest removing the RFC tag and reposting the patches. > > > > Thanks > > Numan > > > >> > >> Thanks. > >> > >> 0: > >> https://patchwork.ozlabs.org/project/ovn/cover/[email protected]/ > >> > >> Regards, > >> Vladislav Odintsov > >> > >>> On 24 Nov 2022, at 20:57, Anton Vazhnetsov <[email protected]> wrote: > >>> > >>> Hi, Terry! > >>> > >>> In continuation to our yesterday’s conversation [0], we were able to > >>> reproduce the issue with KeyError. We found that the problem is not > >>> connected with ovsdb-server load but it appears when the ovsdb-server > >>> schema is converted online (it even doesn’t matter whether the real ovs > >>> schema is changed) while the active connection persists. > >>> Please use next commands to reproduce it: > >>> > >>> # in terminal 1 > >>> > >>> ovsdb-tool create ./ovs.db /usr/share/ovn/ovn-nb.ovsschema > >>> ovsdb-server --remote punix://$(pwd)/ovs.sock $(pwd)/ovs.db -vconsole:dbg > >>> > >>> > >>> # in terminal 2. run python shell > >>> python3 > >>> # setup connection > >>> import ovsdbapp.schema.ovn_northbound.impl_idl as nb_idl > >>> from ovsdbapp.backend.ovs_idl import connection > >>> > >>> remote = "unix:///<path to ovs.sock>" > >>> > >>> def get_idl(): > >>> """Connection getter.""" > >>> > >>> idl = connection.OvsdbIdl.from_server(remote, "OVN_Northbound", > >>> leader_only=False) > >>> return nb_idl.OvnNbApiIdlImpl(connection.Connection(idl, 100)) > >>> > >>> idl = get_idl() > >>> > >>> > >>> # in terminal 1 > >>> ovsdb-client convert unix:$(pwd)/ovs.sock /usr/share/ovn/ovn-nb.ovsschema > >>> > >>> # in terminal 2 python shell: > >>> idl.ls_add("test").execute() > >>> > >>> > >>> We get following traceback: > >>> > >>> Traceback (most recent call last): > >>> File > >>> "/usr/lib/python3.6/site-packages/ovsdbapp/backend/ovs_idl/connection.py", > >>> line 131, in run > >>> txn.results.put(txn.do_commit()) > >>> File > >>> "/usr/lib/python3.6/site-packages/ovsdbapp/backend/ovs_idl/transaction.py", > >>> line 143, in do_commit > >>> self.post_commit(txn) > >>> File > >>> "/usr/lib/python3.6/site-packages/ovsdbapp/backend/ovs_idl/transaction.py", > >>> line 73, in post_commit > >>> command.post_commit(txn) > >>> File > >>> "/usr/lib/python3.6/site-packages/ovsdbapp/backend/ovs_idl/command.py", > >>> line 94, in post_commit > >>> row = self.api.tables[self.table_name].rows[real_uuid] > >>> File "/usr/lib64/python3.6/collections/__init__.py", line 991, in > >>> __getitem__ > >>> raise KeyError(key) > >>> KeyError: UUID('0256afa4-6dd0-4c2c-b6a2-686a360ab331') > >>> > >>> In ovsdb-server debug logs we see that update2 or update3 messages are > >>> not sent from server in response to client’s transaction, just reply with > >>> result UUID: > >>> 2022-11-24T17:42:36Z|00306|poll_loop|DBG|wakeup due to [POLLIN] on fd 18 > >>> (///root/ovsdb-problem/ovs.sock<->) at lib/stream-fd.c:157 > >>> 2022-11-24T17:42:36Z|00307|jsonrpc|DBG|unix#5: received request, > >>> method="transact", > >>> params=["OVN_Northbound",{"uuid-name":"row03ef28d6_93f1_43bc_b07a_eae58d4bd1c5","table":"Logical_Switch","op":"insert","row":{"name”:"test"}}], > >>> id=5 > >>> 2022-11-24T17:42:36Z|00308|jsonrpc|DBG|unix#5: send reply, > >>> result=[{"uuid":["uuid","4eb7c407-beec-46ca-b816-19f942e57721"]}], id=5 > >>> > >>> We checked same with ovn-nbctl running in daemon mode and found that the > >>> problem is not reproduced (ovsdb-server after database conversion sends > >>> out update3 message to ovn-nbctl daemon process in response to > >>> transaction, for example ovs-appctl -t <nbctl daemon socket> run ls-add > >>> test-ls): > >>> 2022-11-24T17:54:51Z|00623|jsonrpc|DBG|unix#7: received request, > >>> method="transact", > >>> params=["OVN_Northbound",{"uuid-name":"rowcdb152ce_a9af_4761_b965_708ad300fcb7","table":"Logical_Switch","op":"insert","row":{"name":"test-ls"}},{"comment":"ovn-nbctl: > >>> run ls-add test-ls","op":"comment"}], id=5 > >>> 2022-11-24T17:54:51Z|00624|jsonrpc|DBG|unix#7: send notification, > >>> method="update3", > >>> params=[["monid","OVN_Northbound"],"00000000-0000-0000-0000-000000000000",{"Logical_Switch":{"0b147f2c-248d-496a-b718-a5328d3c2995":{"insert":{"name":"test-ls"}}}}] > >>> 2022-11-24T17:54:51Z|00625|jsonrpc|DBG|unix#7: send reply, > >>> result=[{"uuid":["uuid","0b147f2c-248d-496a-b718-a5328d3c2995"]},{}], id=5 > >>> > >>> So it seems that the problem is in python-ovs, not in ovsdb-server. > >>> > >>> Do you have any ideas what can be a reason for such behaviour? > >>> > >>> 0: > >>> https://review.opendev.org/c/openstack/ovsdbapp/+/865454/comments/674c57e6_3849591b > >>> > >>> Regards, Anton. > >>> _______________________________________________ > >>> dev mailing list > >>> [email protected] > >>> https://mail.openvswitch.org/mailman/listinfo/ovs-dev > >> > >> _______________________________________________ > >> dev mailing list > >> [email protected] <mailto:[email protected]> > >> https://mail.openvswitch.org/mailman/listinfo/ovs-dev > >> <https://mail.openvswitch.org/mailman/listinfo/ovs-dev> > > _______________________________________________ > > dev mailing list > > [email protected] <mailto:[email protected]> > > https://mail.openvswitch.org/mailman/listinfo/ovs-dev > > <https://mail.openvswitch.org/mailman/listinfo/ovs-dev> > _______________________________________________ > dev mailing list > [email protected] > https://mail.openvswitch.org/mailman/listinfo/ovs-dev _______________________________________________ dev mailing list [email protected] https://mail.openvswitch.org/mailman/listinfo/ovs-dev
