On Thu, Apr 7, 2022 at 6:15 PM Han Zhou <[email protected]> wrote:
>
> I have some comment myself regarding the documentation:
>
> On Wed, Apr 6, 2022 at 4:36 PM Han Zhou <[email protected]> wrote:
> >
> > Whenever OpenFlow connection between ovn-controller and OVS is
> > connected/reconnected, typically during ovn-controller/OVS
> > restart/upgrade, ovn-controller would:
> > 1. clears all the existing flows after the initial hand-shaking
> > 2. compute the new flows
> > 3. install the new flows to OVS.
> >
> > In large scale environments when there are a big number of flows
> > needs to be computed by ovn-controller, the step 2 above can take
> > very long time (from seconds to minutes, depending on the scale and
> > topology), which would cause a data plane down time.
>
> I should make it more clear that both step 2 and 3 can take a very long
time. This patch reduces the down time of step 2 only. And I should change
the word "avoid" in the patch title to "reduce".
> (To avoid the down time introduced by step 3, I will work on another
patch to address it separately.)
>
> >
> > The purpose of this patch is to avoid data plane down time during
> > restart/upgrade.
>
> I should make it clear that this patch helps for ovn-controller
restart/upgrade, but not for OVS restart/upgrade, because as soon as OVS
restarts, the OVS flows are gone, and postponing the flow clearing won't
help for this.
>
> > It adds a new state S_WAIT_BEFORE_CLEAR to the ofctrl
> > state machine, so that ovn-controller waits for a period of time before
> > clearing the existing OVS flows while it is computing the new flows.
> > Ideally, ovn-controller should clear the flows after it completes the
> > new flows computing. However, it is difficult for ovn-controller to
> > judge if it has generated all the new flows (or the flows that are
> > sufficient to avoid down time), because flows computation depends on
> > iterations of SB monitor data processing and condition changes. So,
> > instead of try to determine by ovn-controller itself, this patch
> > provides a configuration "ovn-ofctrl-wait-before-clear" for users to
> > determine the feasible time to wait, according to the scale. As
> > mentioned in the document, the output of
> >
> >   ovn-appctl -t ovn-controller stopwatch/show flow-generation
> >
> > can help users determining what value to set.
>
> This command alone may be insufficient. It would be better to trigger a
recompute before this command:
> ovn-appctl -t ovn-controller inc-engine/recompute
>
> I will update the document in v2. I think the rest of the patch is still
valid for review. Please review and comment.

This 2-patch series is superseded by a 4-patch series that also includes
the solution to the down time introduced by step "3. install the new flows
to OVS."
The above mentioned documentation changes are also included there. Please
review the new series instead:
https://patchwork.ozlabs.org/project/ovn/list/?series=295628

Thanks,
Han
_______________________________________________
dev mailing list
[email protected]
https://mail.openvswitch.org/mailman/listinfo/ovs-dev

Reply via email to