[ovs-dev] [PATCH 2/3] ovn-controller.c: Move the position of handling OVN-SB related settings.

Han Zhou hzhou at ovn.org
Wed Jan 22 16:19:41 UTC 2020


On Tue, Jan 14, 2020 at 2:34 PM Han Zhou <hzhou at ovn.org> wrote:
>
>
>
> On Tue, Jan 14, 2020 at 1:24 PM Mark Michelson <mmichels at redhat.com>
wrote:
> >
> > The commit message doesn't make much sense to me. The external-ids are
> > set outside of ovn-controller, so the concept of them being handled in
> > "the same iteration" or "the next one" only works if ovn-controller is
> > setting them at some point in the loop.
> >
> Maybe the commit message is not clear enough. Let me explain with more
details.
> In each iteration, the OVS IDL's data is updated AFTER the line:
>     struct ovsdb_idl_txn *ovs_idl_txn = ovsdb_idl_loop_run(&ovs_idl_loop);
>
> Without this patch, it (the lines that are moved) applies the settings
before reading the new settings. So if a change is made to external-ids,
e.g. ovn-remote-db, the loop will be waked up because of the OVSDB RPC
messages, but it won't apply any of the new settings. The new settings will
be applied only if there is another event coming to wake the loop, e.g.
probe interval timeout. In my testing I saw the change took effect after 5
seconds when probe interval timed out. If probe was disabled, it would
never got applied unless a new change is made. I suspect the problem
reported here [0] may due to the same reason.
>
> [0]
https://mail.openvswitch.org/pipermail/ovs-discuss/2020-January/049695.html
>
> > Couldn't this have a negative effect on the first iteration of the loop?
> > If we don't set SSL parameters or the sb remote first, then we will have
> > errors when attempting to connect to the southbound database.
> >
>
> At the first iteration, it just make sure the OVS IDL data is refreshed
before setting the SSL parameters. We are still setting the parameters. The
patch doesn't skip anything.
>

Hi Mark,

Could you confirm if my response solves your concern?

Thanks,
Han


More information about the dev mailing list