[ovs-dev] [PATCH ovn 4/4] ovn-controller: Support configuration option ovn-delay-nb-cfg-report.

Numan Siddique numans at ovn.org
Fri Sep 4 19:16:16 UTC 2020


On Sat, Sep 5, 2020, 12:04 AM Han Zhou <hzhou at ovn.org> wrote:

> On Fri, Sep 4, 2020 at 11:18 AM Numan Siddique <numans at ovn.org> wrote:
> >
> >
> >
> > On Wed, Sep 2, 2020 at 4:57 AM Han Zhou <hzhou at ovn.org> wrote:
> >>
> >> This option is added to avoid the flooding of nb_cfg updates from
> >> a large nubmer of hypervisors interfere with the original SB DB
> >> data distribution and handling, so that the e2e control plane latency
> >> can be measured more accurately during scale testing.
> >>
> >> Signed-off-by: Han Zhou <hzhou at ovn.org>
> >> ---
> >>  controller/ovn-controller.8.xml | 12 ++++++++++++
> >>  controller/ovn-controller.c     |  9 +++++++++
> >>  2 files changed, 21 insertions(+)
> >>
> >> diff --git a/controller/ovn-controller.8.xml
> b/controller/ovn-controller.8.xml
> >> index 6687731..4cb3f41 100644
> >> --- a/controller/ovn-controller.8.xml
> >> +++ b/controller/ovn-controller.8.xml
> >> @@ -233,6 +233,18 @@
> >>          The boolean flag indicates if the chassis is used as an
> >>          interconnection gateway.
> >>        </dd>
> >> +
> >> +      <dt><code>external_ids:ovn-delay-nb-cfg-report</code></dt>
> >> +      <dd>
> >> +        An integer that represents the time (in seconds) to sleep
> before
> >> +        <code>ovn-controller</code> updating <code>nb_cfg</code> column
> >> +        of <code>Chassis_Private</code> table after it completes
> processing
> >> +        the corresponding changes. By default it is 0 (meaning do not
> sleep).
> >> +        This value can be configured when doing control plane latency
> testing,
> >> +        to make sure the updates of <code>nb_cfg</code> to the
> Southbound DB
> >> +        from a large number of hypervisors do not interfere with the
> original
> >> +        Southbound DB data processing.
> >> +      </dd>
> >>      </dl>
> >>
> >>      <p>
> >> diff --git a/controller/ovn-controller.c b/controller/ovn-controller.c
> >> index 89f10a6..5ab5a13 100644
> >> --- a/controller/ovn-controller.c
> >> +++ b/controller/ovn-controller.c
> >> @@ -2568,6 +2568,15 @@ main(int argc, char *argv[])
> >>                      sbrec_chassis_private_set_nb_cfg(chassis_private,
> cur_cfg);
> >>                      sbrec_chassis_private_set_nb_cfg_timestamp(
> >>                          chassis_private, time_wall_msec());
> >> +                    const struct ovsrec_open_vswitch *cfg =
> >> +                        ovsrec_open_vswitch_first(ovs_idl_loop.idl);
> >> +                    if (cfg) {
> >> +                        int delay_cfg_report =
> smap_get_int(&cfg->external_ids,
> >> +
> "ovn-delay-nb-cfg-report", 0);
> >> +                        if (delay_cfg_report) {
> >> +                            xsleep(delay_cfg_report);
> >> +                        }
> >> +                    }
> >
> >
> > Hi Han,
> >
> > Maybe we can also sync this option from the ovs config to chassis
> other_config in south db ?
> >
> > What do you think ?
> >
>
> Hi Numan,
>
> I am not sure what's the purpose of syncing this to SB? It is used only by
> ovn-controller, something similar to ovn-remote-probe-interval, etc.
>

We do copy some of the configs from ovs db to chassis other_config. But I
agree this config doesnt need to go to sb and probably CMS wouldn't care
much know about it.

Thanks
Numan


> Thanks,
> Han
>
> > Thanks
> > Numan
> >
> >>
> >>                  }
> >>              }
> >>
> >> --
> >> 2.1.0
> >>
> >> _______________________________________________
> >> dev mailing list
> >> dev at openvswitch.org
> >> https://mail.openvswitch.org/mailman/listinfo/ovs-dev
> >>
> _______________________________________________
> dev mailing list
> dev at openvswitch.org
> https://mail.openvswitch.org/mailman/listinfo/ovs-dev
>
>


More information about the dev mailing list