Bug 1658393

Summary: multiple-nic sample template only add routes to External and Tenant interface
Product: Red Hat OpenStack Reporter: Harald Jensås <hjensas>
Component: openstack-tripleo-heat-templatesAssignee: Harald Jensås <hjensas>
Status: CLOSED ERRATA QA Contact: Gurenko Alex <agurenko>
Severity: medium Docs Contact:
Priority: high    
Version: 14.0 (Rocky)CC: bfournie, ccopello, hjensas, mburns
Target Milestone: z1Keywords: Triaged, ZStream
Target Release: 14.0 (Rocky)   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: openstack-tripleo-heat-templates-9.2.1-0.20190119154860.fe11ade.el7ost Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2019-03-18 13:03:24 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description Harald Jensås 2018-12-11 23:25:39 UTC
Description of problem:
Routes where only added to the External and Tenant interface.

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


How reproducible:
Deploy overcloud using environments/net-multiple-nics.yaml

Actual results:
Routes are only added to the External and Tenant interface.

Expected results:
Routes should be added to all networks.

Additional info:
File: network/config/multiple-nics/role.role.j2.yaml

#######
### Condition to do below for non External|Tenant net.
#######
{%- if network.name not in ["External", "Tenant"] %}
  {%- if network.name in role.networks %}
              - type: interface
                name: nic{{loop.index + 1}}
                use_dhcp: false
                addresses:
                - ip_netmask:
                    get_param: {{network.name}}IpSubnet
  {%- endif %}
########
## elif ...
########
{%- elif network.name in role.networks or role.name == 'Networker' or role.name == 'ComputeDVR' %}
              - type: ovs_bridge
  {%- if network.name == "External" %}
                name: bridge_name
  {%- else %}
                name: br-{{network.name_lower}}
  {%- endif %}
                use_dhcp: false
  {%- if network.name in role.networks %}
                addresses:
                - ip_netmask:
                    get_param: {{network.name}}IpSubnet
  {%- endif %}
#######
### Routes added here
#######
                routes:
                    list_concat_unique:
                      - get_param: {{network.name}}InterfaceRoutes
  {%- if network.name in role.default_route_networks %}
                      - - default: true
                          next_hop:
                            get_param: {{network.name}}InterfaceDefaultRoute
  {%- endif %}
                members:
                - type: interface
                  name: nic{{loop.index + 1}}
                  use_dhcp: false
                  primary: true
#######
## endif
#######
{%- endif %}

The routes should be added in the first section prior to the 'elif' to ensure the other (non External|Internal) network interfaces get's the correct routes configured.

Comment 5 Bob Fournier 2019-03-06 15:07:42 UTC
This is a sample template change only.  I have verified that the fix has been made to the template.

Comment 8 errata-xmlrpc 2019-03-18 13:03:24 UTC
Since the problem described in this bug report should be
resolved in a recent advisory, it has been closed with a
resolution of ERRATA.

For information on the advisory, and where to find the updated
files, follow the link below.

If the solution does not work for you, open a new bug report.

https://access.redhat.com/errata/RHBA-2019:0446