Duplicate declaration of br-ex in tripleo_network_config
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
tripleo |
In Progress
|
Undecided
|
Brendan Shephard |
Bug Description
Summary:
We see to be declaring br-ex twice in the multiple_nics.j2 template:
https:/
And obviously after the tenant network is configured, we configure br-ex:
https:/
But the second name: section under the tenant network seems to be breaking the deployment. See the details below
Environment:
[root@tripleo-
tripleo-
Details:
This part of the network config:
https:/
Results in two br-NAME bridges in OvS:
```
- type: ovs_bridge
name: br-tenant
name: br-ex
mtu: 9000
dns_servers: ['8.8.8.8']
use_dhcp: false
addresses:
- ip_netmask:
172.
routes: []
members:
- type: interface
name: nic5
mtu: 9000
use_dhcp: false
primary: true
- type: ovs_bridge
name: br-ex
mtu: 9000
dns_servers: ['8.8.8.8']
use_dhcp: false
addresses:
- ip_netmask:
172.
routes: [{'default': True, 'next_hop': '172.20.0.254'}]
```
This doesn't create the br-tenant bridge, and the deployment fails. We can see the bridge missing in OvS:
```
[root@overcloud
e970fec3-
Bridge br-ex
fail_mode: standalone
Port enp6s0
Port br-ex
ovs_version: "2.13.0"
```
If I remove the unnecessary br-ex declaration, it all works as expected:
```
- type: ovs_bridge
name: br-tenant
mtu: 9000
dns_servers: ['8.8.8.8']
use_dhcp: false
addresses:
- ip_netmask:
172.
routes: []
members:
- type: interface
name: nic5
mtu: 9000
use_dhcp: false
primary: true
- type: ovs_bridge
name: br-ex
mtu: 9000
dns_servers: ['8.8.8.8']
use_dhcp: false
addresses:
- ip_netmask:
172.
routes: [{'default': True, 'next_hop': '172.20.0.254'}]
```
Re-run os-net-config:
```
[root@overcloud
[2020/11/26 01:02:20 AM] [INFO] Using config file at: /etc/os-
[2020/11/26 01:02:20 AM] [INFO] Ifcfg net config provider created.
[2020/11/26 01:02:20 AM] [INFO] Not using any mapping file.
[2020/11/26 01:02:21 AM] [INFO] Finding active nics
[2020/11/26 01:02:21 AM] [INFO] enp3s0 is an active nic
[2020/11/26 01:02:21 AM] [INFO] enp6s0 is an active nic
[2020/11/26 01:02:21 AM] [INFO] enp2s0 is an active nic
[2020/11/26 01:02:21 AM] [INFO] enp5s0 is an active nic
[2020/11/26 01:02:21 AM] [INFO] lo is not an active nic
[2020/11/26 01:02:21 AM] [INFO] enp1s0 is an active nic
[2020/11/26 01:02:21 AM] [INFO] enp4s0 is an active nic
[2020/11/26 01:02:21 AM] [INFO] ovs-system is not an active nic
[2020/11/26 01:02:21 AM] [INFO] br-ex is not an active nic
[2020/11/26 01:02:21 AM] [INFO] No DPDK mapping available in path (/var/lib/
[2020/11/26 01:02:21 AM] [INFO] Active nics are ['enp1s0', 'enp2s0', 'enp3s0', 'enp4s0', 'enp5s0', 'enp6s0']
[2020/11/26 01:02:21 AM] [INFO] nic6 mapped to: enp6s0
[2020/11/26 01:02:21 AM] [INFO] nic1 mapped to: enp1s0
[2020/11/26 01:02:21 AM] [INFO] nic5 mapped to: enp5s0
[2020/11/26 01:02:21 AM] [INFO] nic2 mapped to: enp2s0
[2020/11/26 01:02:21 AM] [INFO] nic4 mapped to: enp4s0
[2020/11/26 01:02:21 AM] [INFO] nic3 mapped to: enp3s0
[2020/11/26 01:02:21 AM] [INFO] adding interface: enp1s0
[2020/11/26 01:02:21 AM] [INFO] adding interface: enp2s0
[2020/11/26 01:02:21 AM] [INFO] adding interface: enp3s0
[2020/11/26 01:02:21 AM] [INFO] adding interface: enp4s0
[2020/11/26 01:02:21 AM] [INFO] adding bridge: br-tenant
[2020/11/26 01:02:21 AM] [INFO] adding interface: enp5s0
[2020/11/26 01:02:21 AM] [INFO] adding bridge: br-ex
[2020/11/26 01:02:21 AM] [INFO] adding custom route for interface: br-ex
[2020/11/26 01:02:21 AM] [INFO] adding interface: enp6s0
[2020/11/26 01:02:21 AM] [INFO] applying network configs...
[2020/11/26 01:02:21 AM] [INFO] No changes required for interface: enp1s0
[2020/11/26 01:02:21 AM] [INFO] No changes required for interface: enp2s0
[2020/11/26 01:02:21 AM] [INFO] No changes required for interface: enp3s0
[2020/11/26 01:02:21 AM] [INFO] No changes required for interface: enp4s0
[2020/11/26 01:02:21 AM] [INFO] No changes required for interface: enp6s0
[2020/11/26 01:02:21 AM] [INFO] No changes required for bridge: br-ex
[2020/11/26 01:02:21 AM] [INFO] running ifdown on interface: enp5s0
[2020/11/26 01:02:21 AM] [INFO] running ifdown on bridge: br-tenant
[2020/11/26 01:02:21 AM] [INFO] Writing config /etc/sysconfig/
[2020/11/26 01:02:21 AM] [INFO] Writing config /etc/sysconfig/
[2020/11/26 01:02:21 AM] [INFO] running ifup on bridge: br-tenant
[2020/11/26 01:02:25 AM] [INFO] running ifup on interface: enp5s0
```
And we can now see the bridges and IP that was previously missing:
```
[root@overcloud
e970fec3-
Bridge br-tenant
fail_mode: standalone
Port enp5s0
Port br-tenant
Bridge br-ex
fail_mode: standalone
Port enp6s0
Port br-ex
ovs_version: "2.13.0"
[root@overcloud
1: lo inet 127.0.0.1/8 scope host lo\ valid_lft forever preferred_lft forever
1: lo inet6 ::1/128 scope host \ valid_lft forever preferred_lft forever
2: enp1s0 inet 192.168.24.16/24 brd 192.168.24.255 scope global enp1s0\ valid_lft forever preferred_lft forever
2: enp1s0 inet6 fe80::546f:
3: enp2s0 inet 172.16.1.179/24 scope global enp2s0\ valid_lft forever preferred_lft forever
3: enp2s0 inet6 fe80::546f:
4: enp3s0 inet 172.16.3.202/24 scope global enp3s0\ valid_lft forever preferred_lft forever
4: enp3s0 inet6 fe80::546f:
5: enp4s0 inet 172.16.2.6/24 scope global enp4s0\ valid_lft forever preferred_lft forever
5: enp4s0 inet6 fe80::546f:
6: enp5s0 inet6 fe80::546f:
7: enp6s0 inet6 fe80::546f:
11: br-ex inet 172.20.10.23/16 brd 172.20.255.255 scope global br-ex\ valid_lft forever preferred_lft forever
11: br-ex inet6 fe80::546f:
12: br-tenant inet 172.16.0.120/24 brd 172.16.0.255 scope global br-tenant\ valid_lft forever preferred_lft forever
12: br-tenant inet6 fe80::546f:
```
Steps to reproduce:
1. Follow the guide for deploying with network isolation:
https:/
2. Run the deployment. It fails for me with this error:
```
2020-11-26 10:44:06,395 p=700865 u=stack n=ansible | 2020-11-26 10:44:06.394124 | 566f14f3-
```
The details section explains the reason for this.
Changed in tripleo: | |
assignee: | nobody → Brendan Shephard (bshephar) |
Sorry, correction. It results in two `name: br-NAME` bridges defined on after the other in `/etc/os- net-config/ config. yaml`, not in OvS. The problem is that the second one doesn't get created in OvS.
So this output is from my config.yaml file: 16.0.120/ 24 20.10.23/ 16
```
- type: ovs_bridge
name: br-tenant
mtu: 9000
dns_servers: ['8.8.8.8']
use_dhcp: false
addresses:
- ip_netmask:
172.
routes: []
members:
- type: interface
name: nic5
mtu: 9000
use_dhcp: false
primary: true
- type: ovs_bridge
name: br-ex
mtu: 9000
dns_servers: ['8.8.8.8']
use_dhcp: false
addresses:
- ip_netmask:
172.
routes: [{'default': True, 'next_hop': '172.20.0.254'}]
```