Should I not have sent patches as RFC? I thought that RFC tag is used when it is needed to have some conversation/advices about the pending changes. Anyway, as you requested, I’ve send a normal patch series: https://patchwork.ozlabs.org/project/ovn/cover/[email protected]/
Regards, Vladislav Odintsov > On 2 Dec 2022, at 19:05, Numan Siddique <[email protected]> wrote: > > On Fri, Dec 2, 2022 at 8:27 AM Vladislav Odintsov <[email protected] > <mailto:[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] <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
