Bug 2210151 - FrrBgpAsn should be a per-role parameter
Summary: FrrBgpAsn should be a per-role parameter
Keywords:
Status: MODIFIED
Alias: None
Product: Red Hat OpenStack
Classification: Red Hat
Component: openstack-tripleo-heat-templates
Version: 17.1 (Wallaby)
Hardware: x86_64
OS: Linux
medium
medium
Target Milestone: z1
: 17.1
Assignee: Luca Miccini
QA Contact: Candido Campos
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2023-05-26 00:00 UTC by phalmos
Modified: 2023-08-17 14:13 UTC (History)
13 users (show)

Fixed In Version: openstack-tripleo-heat-templates-14.3.1-17.1.20230721001048.57a5a77.el9osttrunk
Doc Type: Enhancement
Doc Text:
In RHOSP 17.1.2, the RHOSP Orchestration service (heat) parameter, `FrrBgpAsn`, can now be set on a per-role basis instead of being a global parameter for RHOSP 17.1 environments that use RHOSP dynamic routing.
Clone Of:
Environment:
Last Closed:
Target Upstream Version:
Embargoed:


Attachments (Terms of Use)


Links
System ID Private Priority Status Summary Last Updated
OpenStack gerrit 888522 0 None NEW Make FrrBgpAsn a per-role parameter 2023-07-19 06:03:18 UTC
Red Hat Issue Tracker OSP-25400 0 None None None 2023-05-26 00:01:05 UTC

Description phalmos 2023-05-26 00:00:45 UTC
Description of problem:
Creating an override in the networking templates to set FrrBgpAsn and  FrrOvnBgpAgentAsn to a user specified value is not being put into the container config.

Version-Release number of selected component (if applicable):


How reproducible:
100%

Steps to Reproduce:

1.Create a template override as described in the docs to override the ASN 

network-environment.yaml

...

  Controller3Parameters:
    NeutronBridgeMappings: ["provider1:br-ex", "provider2:br-vlan"]
    ControlPlaneSubnet: r3
    OVNCMSOptions: "enable-chassis-as-gw"
    FrrOvnBgpAgentDriver: 'ovn_bgp_driver'
    FrrOvnBgpAgentExposeTenantNetworks: false
    FrrOvnBgpAgentAsn: 65535
    FrrBgpAsn: 65535

...

2. Run deployment script with environment files

-e /home/stack/templates/containers-prepare-parameter.yaml \
-e /home/stack/templates/overcloud-vip-deployed.yaml \
-e /home/stack/templates/overcloud-networks-deployed.yaml \
-e /home/stack/templates/deployed_metal.yaml \
-r /home/stack/templates/roles_data_spine_leaf.yaml \
-n /home/stack/templates/network_data.yaml \
-e /home/stack/templates/network-environment.yaml \
-e /home/stack/templates/nodes_data.yaml \
-e /usr/share/openstack-tripleo-heat-templates/environments/services/frr.yaml \
-e /usr/share/openstack-tripleo-heat-templates/environments/services/neutron-ovn-dvr-ha.yaml \
-e /home/stack/templates/inject-trust-anchor-hiera.yaml \

3. 

Actual results:

values defined in the frr container config /var/lib/config-data/ansible-generated/frr/etc/frr/frr.conf are the default values.

"! Ansible managed

frr version 7.0
frr defaults traditional
hostname ctrl-1-0
log file /var/log/frr/frr.log informational
log timestamp precision 3
service integrated-vtysh-config
line vty


router bgp 65000
  bgp router-id 10.10.0.57
  bgp log-neighbor-changes
  bgp graceful-shutdown
  no bgp default ipv4-unicast
  no bgp ebgp-requires-policy"
...




Expected results:
/var/lib/config-data/ansible-generated/frr/etc/frr/frr.conf to contain values defined in documented variables:
FrrOvnBgpAgentAsn
FrrBgpAsn




Additional info:

Just trying this deployment for the first time.  I expected the ASN values I had set in the network-environment.yaml to populate into the frr container config.  Instead I got the default values.

Comment 1 Luca Miccini 2023-05-26 06:08:09 UTC
Hey Paul, I think you need to place the templates where you override those values *after* /usr/share/openstack-tripleo-heat-templates/environments/services/frr.yaml .
My suggestion would be to put all the /usr/share stuff at the beginning and have the customized templates after. Any chance you can give it a try?

Comment 2 phalmos 2023-05-26 15:38:15 UTC
I changed the position of the template in the deploy script with no change to the outcome.  Luca mentioned the variables are global and not scoped to a role.  After moving them to a global scope the values updated correctly in the container configs.  I can foresee a need to have these values scoped to a role for DCN deployments and other architectures requiring more than 1 ASN.  I guess we can change this from a bug to an RFE.  Please let me know if you need any other information.

Comment 3 Dan Sneddon 2023-07-13 21:56:50 UTC
(In reply to phalmos from comment #2)
> I changed the position of the template in the deploy script with no change
> to the outcome.  Luca mentioned the variables are global and not scoped to a
> role.  After moving them to a global scope the values updated correctly in
> the container configs.  I can foresee a need to have these values scoped to
> a role for DCN deployments and other architectures requiring more than 1
> ASN.  I guess we can change this from a bug to an RFE.  Please let me know
> if you need any other information.

I think it makes sense to enable this to be a role parameter. Thank you very much for your testing and feedback.


Note You need to log in before you can comment on or make changes to this bug.