Skip to content

Commit

Permalink
northd: Don't monitor most of northbound external IDs.
Browse files Browse the repository at this point in the history
ovn-northd copies external IDs from Logical Switch, Router and their
Port records to corresponding Southbound Datapath and Port Binding
records.  IDs in other tables are not used by northd in any way, so
there is no point in monitoring them.

CMSes tend to create a huge amount of external IDs for every record
to the point where they can take literally half of the database data.
In high scale clusters that can be several hundreds of MB.  Not
monitoring them saves a lot of time while downloading initial database
snapshots on the first connection and should also reduce the ongoing
traffic while new resources are being created.

Signed-off-by: Ilya Maximets <[email protected]>
  • Loading branch information
igsilya committed Sep 17, 2024
1 parent 2bdf112 commit ded8cce
Showing 1 changed file with 36 additions and 0 deletions.
36 changes: 36 additions & 0 deletions northd/ovn-northd.c
Original file line number Diff line number Diff line change
Expand Up @@ -820,6 +820,42 @@ main(int argc, char *argv[])
ovsdb_idl_omit_alert(ovnnb_idl_loop.idl,
&nbrec_nb_global_col_hv_cfg_timestamp);

/* Ignore northbound external IDs, except for logical switch, router and
* their ports, for which the external IDs are propagted to corrsponding
* southbound datapath and port binding records. */
const struct ovsdb_idl_column *external_ids[] = {
&nbrec_acl_col_external_ids,
&nbrec_address_set_col_external_ids,
&nbrec_bfd_col_external_ids,
&nbrec_chassis_template_var_col_external_ids,
&nbrec_connection_col_external_ids,
&nbrec_copp_col_external_ids,
&nbrec_dhcp_options_col_external_ids,
&nbrec_dhcp_relay_col_external_ids,
&nbrec_dns_col_external_ids,
&nbrec_forwarding_group_col_external_ids,
&nbrec_gateway_chassis_col_external_ids,
&nbrec_ha_chassis_col_external_ids,
&nbrec_ha_chassis_group_col_external_ids,
&nbrec_load_balancer_col_external_ids,
&nbrec_load_balancer_health_check_col_external_ids,
&nbrec_logical_router_policy_col_external_ids,
&nbrec_logical_router_static_route_col_external_ids,
&nbrec_meter_col_external_ids,
&nbrec_meter_band_col_external_ids,
&nbrec_mirror_col_external_ids,
&nbrec_nat_col_external_ids,
&nbrec_nb_global_col_external_ids,
&nbrec_port_group_col_external_ids,
&nbrec_qos_col_external_ids,
&nbrec_ssl_col_external_ids,
&nbrec_sample_collector_col_external_ids,
&nbrec_sampling_app_col_external_ids,
};
for (size_t i = 0; i < ARRAY_SIZE(external_ids); i++) {
ovsdb_idl_omit_alert(ovnnb_idl_loop.idl, external_ids[i]);
}

unixctl_command_register("nb-connection-status", "", 0, 0,
ovn_conn_show, ovnnb_idl_loop.idl);

Expand Down

0 comments on commit ded8cce

Please sign in to comment.