There is a pattern among CMSes to create a `localnet` port binding without any chassis affiliation.
It is then up to the user to configure chassis with external connectivity by adding a mapping under the `external_ids:ovn-bridge-mappings` key in the Open_vSwitch table of the local OVS instance. This may be some chassis or all chassis depending on end user requirements. At present `ovn-controller` will repeatedly log an error on chassis without mapping for a localnet port while in reality it is not an error. Signed-off-by: Frode Nordahl <[email protected]> --- controller/patch.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/controller/patch.c b/controller/patch.c index 349faae17..2eb62b193 100644 --- a/controller/patch.c +++ b/controller/patch.c @@ -198,8 +198,13 @@ add_bridge_mappings(struct ovsdb_idl_txn *ovs_idl_txn, continue; } + enum vlog_level level = VLL_ERR; const char *patch_port_id; if (!strcmp(binding->type, "localnet")) { + /* Not having external connectivity present on all chassis is + * a feature our user may choose to use, let's not log it as an + * error. */ + level = VLL_DBG; patch_port_id = "ovn-localnet-port"; } else if (!strcmp(binding->type, "l2gateway")) { if (!binding->chassis @@ -224,7 +229,7 @@ add_bridge_mappings(struct ovsdb_idl_txn *ovs_idl_txn, struct ovsrec_bridge *br_ln = shash_find_data(&bridge_mappings, network); if (!br_ln) { static struct vlog_rate_limit rl = VLOG_RATE_LIMIT_INIT(5, 1); - VLOG_ERR_RL(&rl, "bridge not found for %s port '%s' " + VLOG_RL(&rl, level, "bridge not found for %s port '%s' " "with network name '%s'", binding->type, binding->logical_port, network); continue; -- 2.25.0 _______________________________________________ dev mailing list [email protected] https://mail.openvswitch.org/mailman/listinfo/ovs-dev
