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 <hz...@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); + } + } } } -- 2.1.0 _______________________________________________ dev mailing list d...@openvswitch.org https://mail.openvswitch.org/mailman/listinfo/ovs-dev