[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