[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 18:18:40 UTC 2020


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 ?

Thanks
Numan


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


More information about the dev mailing list