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

Reply via email to