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

Han Zhou hzhou at ovn.org
Fri Sep 4 18:33:46 UTC 2020


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.

Thanks,
Han

> 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