Add role specific settings for ovn_bgp_agent parameters

Before this patch only the agent driver could be configured
per role.

With this change we also allow to configure:
- the expose_tenant_networks flag, as this only need to be enabled
on the networker nodes
- the AS number, in case this is different between different nodes
- the ovsdb_connection

In addition it adds an extra parameter that was missing, the
reconcileInterval that allows to configure how frequently the
status is reconciled. The reason to make it role specific is because
it may be the case that different intervals are preferred for
networker and compute nodes, as the number of events to manage
may be different.

Change-Id: Ieaee6e162b796853445b3ecc941c61e2411d3ada
This commit is contained in:
Luis Tomas Bolivar 2022-08-26 09:36:30 +02:00
parent 2283bb0982
commit ddff144581

View File

@ -179,18 +179,32 @@ parameters:
Requires the BGP driver (see THT parameter FrrOvnBgpAgentDriver).
type: boolean
default: false
tags:
- role_specific
FrrOvnBgpAgentAsn:
default: 64999
description: >
Autonomous System Number to be used by the agent when running in BGP
mode.
type: number
tags:
- role_specific
FrrOvnBgpAgentOvsdbConnection:
default: 'tcp:127.0.0.1:6640'
description: >
The connection string for the native OVSDB backend. Use tcp:IP:PORT
for TCP connection.
type: string
tags:
- role_specific
FrrOvnBgpAgentReconcileInterval:
default: 120
description: >
Defines how frequently to reconcile the status, to ensure only the
right IPs are exposed on the right locations.
type: number
tags:
- role_specific
conditions:
key_size_override_set:
@ -207,11 +221,19 @@ resources:
- ContainerFrrImage: ContainerFrrImage
ContainerOvnBgpAgentImage: ContainerOvnBgpAgentImage
ovn_bgp_agent_driver: FrrOvnBgpAgentDriver
ovn_bgp_agent_expose_tenant_networks: FrrOvnBgpAgentExposeTenantNetworks
ovn_bgp_agent_bgp_as: FrrOvnBgpAgentAsn
ovn_bgp_agent_ovsdb_connection: FrrOvnBgpAgentOvsdbConnection
ovn_bgp_agent_reconcile_interval: FrrOvnBgpAgentReconcileInterval
- values: {get_param: [RoleParameters]}
- values:
ContainerFrrImage: {get_param: ContainerFrrImage}
ContainerOvnBgpAgentImage: {get_param: ContainerOvnBgpAgentImage}
FrrOvnBgpAgentDriver: {get_param: FrrOvnBgpAgentDriver}
FrrOvnBgpAgentExposeTenantNetworks: {get_param: FrrOvnBgpAgentExposeTenantNetworks}
FrrOvnBgpAgentAsn: {get_param: FrrOvnBgpAgentAsn}
FrrOvnBgpAgentOvsdbConnection: {get_param: FrrOvnBgpAgentOvsdbConnection}
FrrOvnBgpAgentReconcileInterval: {get_param: FrrOvnBgpAgentReconcileInterval}
outputs:
role_data:
description: Role data for the FRR and OVN BGP Agent services
@ -429,9 +451,10 @@ outputs:
tripleo_frr_bgp_l2vpn_peers_scope: {get_param: FrrBgpL2vpnPeersScope}
tripleo_frr_ovn_bgp_agent_internal_tls_enable: {get_param: EnableInternalTLS}
tripleo_frr_ovn_bgp_agent_driver: {get_attr: [RoleParametersValue, value, ovn_bgp_agent_driver]}
tripleo_frr_ovn_bgp_agent_expose_tenant_networks: {get_param: FrrOvnBgpAgentExposeTenantNetworks}
tripleo_frr_ovn_bgp_agent_bgp_as: {get_param: FrrOvnBgpAgentAsn}
tripleo_frr_ovn_bgp_agent_ovsdb_connection: {get_param: FrrOvnBgpAgentOvsdbConnection}
tripleo_frr_ovn_bgp_agent_expose_tenant_networks: {get_attr: [RoleParametersValue, value, ovn_bgp_agent_expose_tenant_networks]}
tripleo_frr_ovn_bgp_agent_bgp_as: {get_attr: [RoleParametersValue, value, ovn_bgp_agent_bgp_as]}
tripleo_frr_ovn_bgp_agent_ovsdb_connection: {get_attr: [RoleParametersValue, value, ovn_bgp_agent_ovsdb_connection]}
tripleo_frr_ovn_bgp_agent_reconcile_interval: {get_attr: [RoleParametersValue, value, ovn_bgp_agent_reconcile_interval]}
- name: Start FRR
include_role:
name: tripleo_container_manage