Bug 2026724 - vlan interface route was lost after changing params in parent bond interface [NEEDINFO]
Summary: vlan interface route was lost after changing params in parent bond interface
Keywords:
Status: ASSIGNED
Alias: None
Product: Red Hat OpenStack
Classification: Red Hat
Component: os-net-config
Version: 13.0 (Queens)
Hardware: Unspecified
OS: Unspecified
high
high
Target Milestone: ---
: ---
Assignee: Dan Sneddon
QA Contact: Nobody
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2021-11-25 15:46 UTC by Maciej Relewicz
Modified: 2023-08-14 15:12 UTC (History)
16 users (show)

Fixed In Version:
Doc Type: If docs needed, set a value
Doc Text:
Clone Of:
Environment:
Last Closed:
Target Upstream Version:
Embargoed:
rurena: needinfo? (dsneddon)
akaiser: needinfo? (dsneddon)
rurena: needinfo? (dsneddon)


Attachments (Terms of Use)


Links
System ID Private Priority Status Summary Last Updated
Red Hat Issue Tracker OSP-11054 0 None None None 2021-11-25 15:49:56 UTC
Red Hat Issue Tracker UPG-4821 0 None None None 2021-11-25 15:54:09 UTC

Description Maciej Relewicz 2021-11-25 15:46:44 UTC
Description of problem:
On one of our lab we are making minor update of rhosp13. Before that operation we changed the network configuration (add ethtool_opts params). During prepare step, os-net-config was executed with this config.json:
```{"network_config": [{"addresses": [{"ip_netmask": "172.31.132.52/24"}], "bonding_options": "mode=802.3ad xmit_hash_policy=layer3+4 lacp_rate=fast updelay=1000 miimon=100", "dns_servers": ["8.8.8.8", "8.8.4.4"], "members": [{"ethtool_opts": "--set-priv-flags ${DEVICE} disable-fw-lldp on", "mtu": 9100, "name": "p3p1", "type": "interface"}, {"ethtool_opts": "--set-priv-flags ${DEVICE} disable-fw-lldp on", "mtu": 9100, "name": "p3p2", "type": "interface"}], "mtu": 9100, "name": "bond0", "routes": [{"ip_netmask": "169.254.169.254/32", "next_hop": "172.31.132.9"}], "type": "linux_bond", "use_dhcp": false}, {"addresses": [{"ip_netmask": "172.31.129.87/24"}], "device": "bond0", "mtu": 9100, "type": "vlan", "vlan_id": 3129}, {"addresses": [{"ip_netmask": "172.31.128.38/24"}], "device": "bond0", "mtu": 9100, "type": "vlan", "vlan_id": 3128}, {"device": "bond0", "type": "vlan", "vlan_id": 3131}, {"addresses": [{"ip_netmask": "172.31.131.33/24"}], "members": [{"name": "vlan3131", "type": "interface", "use_dhcp": false}], "mtu": 9100, "name": "vhost0", "type": "contrail_vrouter", "use_dhcp": false}, {"addresses": [{"ip_netmask": "10.87.104.58/24"}], "device": "bond0", "mtu": 1500, "routes": [{"default": true, "next_hop": "10.87.104.1"}], "type": "vlan", "vlan_id": 104}]}```

after this run we notice that default gw was removed, log from os-net-config:
```
Nov 24 15:42:07 overcloud4bh-compkernel-0 os-collect-config: + os-net-config -c /etc/os-net-config/config.json -v --detailed-exit-codes
Nov 24 15:42:07 overcloud4bh-compkernel-0 os-collect-config: [2021/11/24 03:42:02 PM] [INFO] Using config file at: /etc/os-net-config/config.json
Nov 24 15:42:07 overcloud4bh-compkernel-0 os-collect-config: [2021/11/24 03:42:02 PM] [INFO] Ifcfg net config provider created.
Nov 24 15:42:07 overcloud4bh-compkernel-0 os-collect-config: [2021/11/24 03:42:02 PM] [INFO] Not using any mapping file.
Nov 24 15:42:07 overcloud4bh-compkernel-0 os-collect-config: [2021/11/24 03:42:02 PM] [INFO] Finding active nics
Nov 24 15:42:07 overcloud4bh-compkernel-0 os-collect-config: [2021/11/24 03:42:02 PM] [INFO] tapedcc2bbd-3b is not an active nic
Nov 24 15:42:07 overcloud4bh-compkernel-0 os-collect-config: [2021/11/24 03:42:02 PM] [INFO] tap7631622b-58 is not an active nic
Nov 24 15:42:07 overcloud4bh-compkernel-0 os-collect-config: [2021/11/24 03:42:02 PM] [INFO] vetheba21f9d-7 is not an active nic
Nov 24 15:42:07 overcloud4bh-compkernel-0 os-collect-config: [2021/11/24 03:42:02 PM] [INFO] tap8de3397d-9e is not an active nic
Nov 24 15:42:07 overcloud4bh-compkernel-0 os-collect-config: [2021/11/24 03:42:02 PM] [INFO] tap7e87c791-9e is not an active nic
Nov 24 15:42:07 overcloud4bh-compkernel-0 os-collect-config: [2021/11/24 03:42:02 PM] [INFO] docker0 is not an active nic
Nov 24 15:42:07 overcloud4bh-compkernel-0 os-collect-config: [2021/11/24 03:42:02 PM] [INFO] bonding_masters is not an active nic
Nov 24 15:42:07 overcloud4bh-compkernel-0 os-collect-config: [2021/11/24 03:42:02 PM] [INFO] tapf0434ea8-93 is not an active nic
Nov 24 15:42:07 overcloud4bh-compkernel-0 os-collect-config: [2021/11/24 03:42:02 PM] [INFO] tap9526a1b3-fc is not an active nic
Nov 24 15:42:07 overcloud4bh-compkernel-0 os-collect-config: [2021/11/24 03:42:02 PM] [INFO] bond0 is not an active nic
Nov 24 15:42:07 overcloud4bh-compkernel-0 os-collect-config: [2021/11/24 03:42:02 PM] [INFO] tapfe8a8d29-b0 is not an active nic
Nov 24 15:42:07 overcloud4bh-compkernel-0 os-collect-config: [2021/11/24 03:42:02 PM] [INFO] veth05322571-1 is not an active nic
Nov 24 15:42:07 overcloud4bh-compkernel-0 os-collect-config: [2021/11/24 03:42:02 PM] [INFO] tap7e116693-41 is not an active nic
Nov 24 15:42:07 overcloud4bh-compkernel-0 os-collect-config: [2021/11/24 03:42:02 PM] [INFO] tape00e076f-68 is not an active nic
Nov 24 15:42:07 overcloud4bh-compkernel-0 os-collect-config: [2021/11/24 03:42:02 PM] [INFO] tap279d6991-58 is not an active nic
Nov 24 15:42:07 overcloud4bh-compkernel-0 os-collect-config: [2021/11/24 03:42:02 PM] [INFO] tap3335703f-15 is not an active nic
Nov 24 15:42:07 overcloud4bh-compkernel-0 os-collect-config: [2021/11/24 03:42:02 PM] [INFO] lo is not an active nic
Nov 24 15:42:07 overcloud4bh-compkernel-0 os-collect-config: [2021/11/24 03:42:02 PM] [INFO] p3p2 is an active nic
Nov 24 15:42:07 overcloud4bh-compkernel-0 os-collect-config: [2021/11/24 03:42:02 PM] [INFO] p3p1 is an active nic
Nov 24 15:42:07 overcloud4bh-compkernel-0 os-collect-config: [2021/11/24 03:42:02 PM] [INFO] pkt3 is not an active nic
Nov 24 15:42:07 overcloud4bh-compkernel-0 os-collect-config: [2021/11/24 03:42:02 PM] [INFO] pkt2 is not an active nic
Nov 24 15:42:07 overcloud4bh-compkernel-0 os-collect-config: [2021/11/24 03:42:02 PM] [INFO] pkt1 is not an active nic
Nov 24 15:42:07 overcloud4bh-compkernel-0 os-collect-config: [2021/11/24 03:42:02 PM] [INFO] pkt0 is not an active nic
Nov 24 15:42:07 overcloud4bh-compkernel-0 os-collect-config: [2021/11/24 03:42:02 PM] [INFO] tapf852d2fa-b9 is not an active nic
Nov 24 15:42:07 overcloud4bh-compkernel-0 os-collect-config: [2021/11/24 03:42:02 PM] [INFO] tap19747d3e-19 is not an active nic
Nov 24 15:42:07 overcloud4bh-compkernel-0 os-collect-config: [2021/11/24 03:42:02 PM] [INFO] tape590bac4-9e is not an active nic
Nov 24 15:42:07 overcloud4bh-compkernel-0 os-collect-config: [2021/11/24 03:42:02 PM] [INFO] tap44fcb406-e4 is not an active nic
Nov 24 15:42:07 overcloud4bh-compkernel-0 os-collect-config: [2021/11/24 03:42:02 PM] [INFO] tap3f05798b-75 is not an active nic
Nov 24 15:42:07 overcloud4bh-compkernel-0 os-collect-config: [2021/11/24 03:42:02 PM] [INFO] tap3b79e209-50 is not an active nic
Nov 24 15:42:07 overcloud4bh-compkernel-0 os-collect-config: [2021/11/24 03:42:02 PM] [INFO] vlan3129 is not an active nic
Nov 24 15:42:07 overcloud4bh-compkernel-0 os-collect-config: [2021/11/24 03:42:02 PM] [INFO] vlan3128 is not an active nic
Nov 24 15:42:07 overcloud4bh-compkernel-0 os-collect-config: [2021/11/24 03:42:02 PM] [INFO] vlan3131 is not an active nic
Nov 24 15:42:07 overcloud4bh-compkernel-0 os-collect-config: [2021/11/24 03:42:02 PM] [INFO] tap275c3e41-48 is not an active nic
Nov 24 15:42:07 overcloud4bh-compkernel-0 os-collect-config: [2021/11/24 03:42:02 PM] [INFO] tap57ac6beb-9c is not an active nic
Nov 24 15:42:07 overcloud4bh-compkernel-0 os-collect-config: [2021/11/24 03:42:02 PM] [INFO] tap4f6c3c70-c3 is not an active nic
Nov 24 15:42:07 overcloud4bh-compkernel-0 os-collect-config: [2021/11/24 03:42:02 PM] [INFO] tap34ab58d8-1e is not an active nic
Nov 24 15:42:07 overcloud4bh-compkernel-0 os-collect-config: [2021/11/24 03:42:02 PM] [INFO] tap8a2f2526-8d is not an active nic
Nov 24 15:42:07 overcloud4bh-compkernel-0 os-collect-config: [2021/11/24 03:42:02 PM] [INFO] vhost0 is not an active nic
Nov 24 15:42:07 overcloud4bh-compkernel-0 os-collect-config: [2021/11/24 03:42:02 PM] [INFO] tapf1e35f0f-49 is not an active nic
Nov 24 15:42:07 overcloud4bh-compkernel-0 os-collect-config: [2021/11/24 03:42:02 PM] [INFO] tap98f4a3b6-e2 is not an active nic
Nov 24 15:42:07 overcloud4bh-compkernel-0 os-collect-config: [2021/11/24 03:42:02 PM] [INFO] tap5e334270-89 is not an active nic
Nov 24 15:42:07 overcloud4bh-compkernel-0 os-collect-config: [2021/11/24 03:42:02 PM] [INFO] tapff15fe16-f3 is not an active nic
Nov 24 15:42:07 overcloud4bh-compkernel-0 os-collect-config: [2021/11/24 03:42:02 PM] [INFO] tap9c64e795-41 is not an active nic
Nov 24 15:42:07 overcloud4bh-compkernel-0 os-collect-config: [2021/11/24 03:42:02 PM] [INFO] tap82a6039a-e6 is not an active nic
Nov 24 15:42:07 overcloud4bh-compkernel-0 os-collect-config: [2021/11/24 03:42:02 PM] [INFO] tap1ef68eb8-5a is not an active nic
Nov 24 15:42:07 overcloud4bh-compkernel-0 os-collect-config: [2021/11/24 03:42:02 PM] [INFO] tap90eb9885-25 is not an active nic
Nov 24 15:42:07 overcloud4bh-compkernel-0 os-collect-config: [2021/11/24 03:42:02 PM] [INFO] tapc857b4ee-65 is not an active nic
Nov 24 15:42:07 overcloud4bh-compkernel-0 os-collect-config: [2021/11/24 03:42:02 PM] [INFO] tap6e73f150-3a is not an active nic
Nov 24 15:42:07 overcloud4bh-compkernel-0 os-collect-config: [2021/11/24 03:42:02 PM] [INFO] tap606ce8a6-b9 is not an active nic
Nov 24 15:42:07 overcloud4bh-compkernel-0 os-collect-config: [2021/11/24 03:42:02 PM] [INFO] tap280bae93-24 is not an active nic
Nov 24 15:42:07 overcloud4bh-compkernel-0 os-collect-config: [2021/11/24 03:42:02 PM] [INFO] tap8dda6649-9d is not an active nic
Nov 24 15:42:07 overcloud4bh-compkernel-0 os-collect-config: [2021/11/24 03:42:02 PM] [INFO] tape6886548-7e is not an active nic
Nov 24 15:42:07 overcloud4bh-compkernel-0 os-collect-config: [2021/11/24 03:42:02 PM] [INFO] vlan104 is not an active nic
Nov 24 15:42:07 overcloud4bh-compkernel-0 os-collect-config: [2021/11/24 03:42:02 PM] [INFO] tap07dd5ea0-a4 is not an active nic
Nov 24 15:42:07 overcloud4bh-compkernel-0 os-collect-config: [2021/11/24 03:42:02 PM] [INFO] No DPDK mapping available in path (/var/lib/os-net-config/dpdk_mapping.yaml)
Nov 24 15:42:07 overcloud4bh-compkernel-0 os-collect-config: [2021/11/24 03:42:02 PM] [INFO] Active nics are ['p3p1', 'p3p2']
Nov 24 15:42:07 overcloud4bh-compkernel-0 os-collect-config: [2021/11/24 03:42:02 PM] [INFO] nic2 mapped to: p3p2
Nov 24 15:42:07 overcloud4bh-compkernel-0 os-collect-config: [2021/11/24 03:42:02 PM] [INFO] nic1 mapped to: p3p1
Nov 24 15:42:07 overcloud4bh-compkernel-0 os-collect-config: [2021/11/24 03:42:02 PM] [INFO] adding linux bond: bond0
Nov 24 15:42:07 overcloud4bh-compkernel-0 os-collect-config: [2021/11/24 03:42:02 PM] [WARNING] ifcfg format supports max 2 resolvers.
Nov 24 15:42:07 overcloud4bh-compkernel-0 os-collect-config: [2021/11/24 03:42:02 PM] [INFO] adding custom route for interface: bond0
Nov 24 15:42:07 overcloud4bh-compkernel-0 os-collect-config: [2021/11/24 03:42:02 PM] [INFO] adding interface: p3p1
Nov 24 15:42:07 overcloud4bh-compkernel-0 os-collect-config: [2021/11/24 03:42:02 PM] [INFO] adding interface: p3p2
Nov 24 15:42:07 overcloud4bh-compkernel-0 os-collect-config: [2021/11/24 03:42:02 PM] [INFO] adding vlan: vlan3129
Nov 24 15:42:07 overcloud4bh-compkernel-0 os-collect-config: [2021/11/24 03:42:02 PM] [INFO] adding vlan: vlan3128
Nov 24 15:42:07 overcloud4bh-compkernel-0 os-collect-config: [2021/11/24 03:42:02 PM] [INFO] adding vlan: vlan3131
Nov 24 15:42:07 overcloud4bh-compkernel-0 os-collect-config: [2021/11/24 03:42:02 PM] [INFO] adding contrail_vrouter interface: vhost0
Nov 24 15:42:07 overcloud4bh-compkernel-0 os-collect-config: [2021/11/24 03:42:02 PM] [INFO] adding vlan: vlan104
Nov 24 15:42:07 overcloud4bh-compkernel-0 os-collect-config: [2021/11/24 03:42:02 PM] [INFO] adding custom route for interface: vlan104
Nov 24 15:42:07 overcloud4bh-compkernel-0 os-collect-config: [2021/11/24 03:42:02 PM] [INFO] applying network configs...
Nov 24 15:42:07 overcloud4bh-compkernel-0 os-collect-config: [2021/11/24 03:42:02 PM] [INFO] No changes required for interface: vhost0
Nov 24 15:42:07 overcloud4bh-compkernel-0 os-collect-config: [2021/11/24 03:42:02 PM] [INFO] No changes required for linux bond: bond0
Nov 24 15:42:07 overcloud4bh-compkernel-0 os-collect-config: [2021/11/24 03:42:02 PM] [INFO] No changes required for vlan interface: vlan3129
Nov 24 15:42:07 overcloud4bh-compkernel-0 os-collect-config: [2021/11/24 03:42:02 PM] [INFO] No changes required for vlan interface: vlan3128
Nov 24 15:42:07 overcloud4bh-compkernel-0 os-collect-config: [2021/11/24 03:42:02 PM] [INFO] No changes required for vlan interface: vlan104
Nov 24 15:42:07 overcloud4bh-compkernel-0 os-collect-config: [2021/11/24 03:42:02 PM] [INFO] No changes required for vlan interface: vlan3131
Nov 24 15:42:07 overcloud4bh-compkernel-0 os-collect-config: [2021/11/24 03:42:02 PM] [INFO] running ifdown on interface: p3p2
Nov 24 15:42:07 overcloud4bh-compkernel-0 os-collect-config: [2021/11/24 03:42:02 PM] [INFO] running ifdown on interface: p3p1
Nov 24 15:42:07 overcloud4bh-compkernel-0 os-collect-config: [2021/11/24 03:42:02 PM] [INFO] Writing config /etc/sysconfig/network-scripts/ifcfg-p3p2
Nov 24 15:42:07 overcloud4bh-compkernel-0 os-collect-config: [2021/11/24 03:42:02 PM] [INFO] Writing config /etc/sysconfig/network-scripts/ifcfg-p3p1
Nov 24 15:42:07 overcloud4bh-compkernel-0 os-collect-config: [2021/11/24 03:42:02 PM] [INFO] running ifup on interface: p3p2
Nov 24 15:42:07 overcloud4bh-compkernel-0 os-collect-config: [2021/11/24 03:42:03 PM] [INFO] running ifup on interface: p3p1
Nov 24 15:42:07 overcloud4bh-compkernel-0 os-collect-config: [2021/11/24 03:42:03 PM] [INFO] running ifup on interface: bond0
Nov 24 15:42:07 overcloud4bh-compkernel-0 os-collect-config: + RETVAL=2
Nov 24 15:42:07 overcloud4bh-compkernel-0 os-collect-config: + set -e
Nov 24 15:42:07 overcloud4bh-compkernel-0 os-collect-config: + [[ 2 == 2 ]]
Nov 24 15:42:07 overcloud4bh-compkernel-0 os-collect-config: + ping_metadata_ip
Nov 24 15:42:07 overcloud4bh-compkernel-0 os-collect-config: ++ get_metadata_ip
Nov 24 15:42:07 overcloud4bh-compkernel-0 os-collect-config: ++ local METADATA_IP
Nov 24 15:42:07 overcloud4bh-compkernel-0 os-collect-config: ++ for URL in os-collect-config.cfn.metadata_url os-collect-config.heat.auth_url os-collect-config.request.metadata_url os-collect-config.zaqar.auth_url
Nov 24 15:42:07 overcloud4bh-compkernel-0 os-collect-config: +++ os-apply-config --key os-collect-config.cfn.metadata_url --key-default '' --type raw
Nov 24 15:42:07 overcloud4bh-compkernel-0 os-collect-config: +++ sed -e 's|http.*://\[\?\([^]]*\)]\?:.*|\1|'
Nov 24 15:42:07 overcloud4bh-compkernel-0 os-collect-config: ++ METADATA_IP=
Nov 24 15:42:07 overcloud4bh-compkernel-0 os-collect-config: ++ '[' -n '' ']'
Nov 24 15:42:07 overcloud4bh-compkernel-0 os-collect-config: ++ for URL in os-collect-config.cfn.metadata_url os-collect-config.heat.auth_url os-collect-config.request.metadata_url os-collect-config.zaqar.auth_url
Nov 24 15:42:07 overcloud4bh-compkernel-0 os-collect-config: +++ os-apply-config --key os-collect-config.heat.auth_url --key-default '' --type raw
Nov 24 15:42:07 overcloud4bh-compkernel-0 os-collect-config: +++ sed -e 's|http.*://\[\?\([^]]*\)]\?:.*|\1|'
Nov 24 15:42:07 overcloud4bh-compkernel-0 os-collect-config: ++ METADATA_IP=
Nov 24 15:42:07 overcloud4bh-compkernel-0 os-collect-config: ++ '[' -n '' ']'
Nov 24 15:42:07 overcloud4bh-compkernel-0 os-collect-config: ++ for URL in os-collect-config.cfn.metadata_url os-collect-config.heat.auth_url os-collect-config.request.metadata_url os-collect-config.zaqar.auth_url
Nov 24 15:42:07 overcloud4bh-compkernel-0 os-collect-config: +++ os-apply-config --key os-collect-config.request.metadata_url --key-default '' --type raw
Nov 24 15:42:07 overcloud4bh-compkernel-0 os-collect-config: +++ sed -e 's|http.*://\[\?\([^]]*\)]\?:.*|\1|'
Nov 24 15:42:07 overcloud4bh-compkernel-0 os-collect-config: ++ METADATA_IP=172.31.132.9
Nov 24 15:42:07 overcloud4bh-compkernel-0 os-collect-config: ++ '[' -n 172.31.132.9 ']'
Nov 24 15:42:07 overcloud4bh-compkernel-0 os-collect-config: ++ break
Nov 24 15:42:07 overcloud4bh-compkernel-0 os-collect-config: ++ echo 172.31.132.9
Nov 24 15:42:07 overcloud4bh-compkernel-0 os-collect-config: + local METADATA_IP=172.31.132.9
Nov 24 15:42:07 overcloud4bh-compkernel-0 os-collect-config: + '[' -n 172.31.132.9 ']'
Nov 24 15:42:07 overcloud4bh-compkernel-0 os-collect-config: + is_local_ip 172.31.132.9
Nov 24 15:42:07 overcloud4bh-compkernel-0 os-collect-config: + local IP_TO_CHECK=172.31.132.9
Nov 24 15:42:07 overcloud4bh-compkernel-0 os-collect-config: + ip -o a
Nov 24 15:42:07 overcloud4bh-compkernel-0 os-collect-config: + grep 'inet6\? 172.31.132.9/'
Nov 24 15:42:07 overcloud4bh-compkernel-0 os-collect-config: + return 1
Nov 24 15:42:07 overcloud4bh-compkernel-0 os-collect-config: + echo -n 'Trying to ping metadata IP 172.31.132.9...'
Nov 24 15:42:07 overcloud4bh-compkernel-0 os-collect-config: ++ getent hosts 172.31.132.9
Nov 24 15:42:07 overcloud4bh-compkernel-0 os-collect-config: ++ awk '{ print $1 }'
Nov 24 15:42:07 overcloud4bh-compkernel-0 os-collect-config: + _IP=
Nov 24 15:42:07 overcloud4bh-compkernel-0 os-collect-config: + _ping=ping
Nov 24 15:42:07 overcloud4bh-compkernel-0 os-collect-config: + [[ '' =~ : ]]
Nov 24 15:42:07 overcloud4bh-compkernel-0 os-collect-config: + local COUNT=0
Nov 24 15:42:07 overcloud4bh-compkernel-0 os-collect-config: + ping -c 1 172.31.132.9
Nov 24 15:42:07 overcloud4bh-compkernel-0 os-collect-config: + COUNT=1
Nov 24 15:42:07 overcloud4bh-compkernel-0 os-collect-config: + '[' 1 -eq 10 ']'
Nov 24 15:42:07 overcloud4bh-compkernel-0 os-collect-config: + ping -c 1 172.31.132.9
Nov 24 15:42:07 overcloud4bh-compkernel-0 os-collect-config: + echo SUCCESS
Nov 24 15:42:07 overcloud4bh-compkernel-0 os-collect-config: + '[' -f /etc/udev/rules.d/99-dhcp-all-interfaces.rules ']'
Nov 24 15:42:07 overcloud4bh-compkernel-0 os-collect-config: + '[' -f /usr/libexec/os-apply-config/templates/etc/os-net-config/config.json ']'
``

The reason of that is currently unknow, we can suspect problem with os-net-config, I found some similar issues:
https://bugzilla.redhat.com/show_bug.cgi?id=1316730
https://bugs.launchpad.net/os-net-config/+bug/1806027

Describe the same situation, but looks like they are alredy solved.

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

Red Hat OpenStack Platform release 13.0.12 (Queens)
os-net-config-8.5.1-5.el7ost.noarch 

How reproducible:
run os-net-config with config.json?

Steps to Reproduce:
1.
2.
3.

Actual results:


Expected results:
Dont remove route


Additional info:
we stuck on prepare step/command, manually fixe networking on nodes, and not sure can we rerun step1 (its failed during initial, first run)

Comment 1 Harald Jensås 2021-11-26 10:38:03 UTC
This looks very similar to bug[1]. The fix for that bug has been backported downstream[2].

I have confirmed that the code[2] is in os-net-config-8.5.1-5.el7ost.noarch.

In the log I see:

Nov 24 15:42:07 overcloud4bh-compkernel-0 os-collect-config: [2021/11/24 03:42:02 PM] [INFO] No changes required for linux bond: bond0
Nov 24 15:42:07 overcloud4bh-compkernel-0 os-collect-config: [2021/11/24 03:42:02 PM] [INFO] No changes required for vlan interface: vlan104

Nov 24 15:42:07 overcloud4bh-compkernel-0 os-collect-config: [2021/11/24 03:42:02 PM] [INFO] running ifdown on interface: p3p1
Nov 24 15:42:07 overcloud4bh-compkernel-0 os-collect-config: [2021/11/24 03:42:02 PM] [INFO] Writing config /etc/sysconfig/network-scripts/ifcfg-p3p2
Nov 24 15:42:07 overcloud4bh-compkernel-0 os-collect-config: [2021/11/24 03:42:02 PM] [INFO] Writing config /etc/sysconfig/network-scripts/ifcfg-p3p1
Nov 24 15:42:07 overcloud4bh-compkernel-0 os-collect-config: [2021/11/24 03:42:02 PM] [INFO] running ifup on interface: p3p2
Nov 24 15:42:07 overcloud4bh-compkernel-0 os-collect-config: [2021/11/24 03:42:03 PM] [INFO] running ifup on interface: p3p1
Nov 24 15:42:07 overcloud4bh-compkernel-0 os-collect-config: [2021/11/24 03:42:03 PM] [INFO] running ifup on interface: bond0


It looks like bond0 is not in 'restarts_concatenated'[3], so the VLAN is not set to restart.
Yet bond0 is restarted, because it's members 'p3p1' and 'p3p2' needs a restart to apply the ethtool options.

It is similar to bug[1], but not the same issue.

I think the culprit is here[4]. The bond is added to 'start_linux_bonds', when members/children requires a restart. But this happens during activate, after processing all the interface types and building up the per-interface type lists to restart. So the VLAN's that need restart has already been processed. The VLAN is missed since the VLAN's device 'bond0' is added to restart_linux_bonds later[5], when bringing interfaces up in the 'activate' clause.

A possible fix would be to add processing for vlan restarts again just before [6], or ensure the bond is added to 'restart_linux_bonds' earlier, before entering the 'activate' section.




A potential workaround would be to move the default route from vlan104 to bond0, i.e something like this:

- name: bond0
  routes:
  - ip_netmask: 169.254.169.254/32
    next_hop: 172.31.132.9
  - default: true
    next_hop: 10.87.104.1
- vlan_id: 104
  type: vlan
  device: bond0
  mtu: 1500
  addresses:
  - ip_netmask: 10.87.104.58/24


[1] https://bugs.launchpad.net/os-net-config/+bug/1806027.
[2] https://code.engineering.redhat.com/gerrit/c/os-net-config/+/157900. 
[3] https://code.engineering.redhat.com/gerrit/c/os-net-config/+/157900/2/os_net_config/impl_ifcfg.py#1069
[4] https://opendev.org/openstack/os-net-config/src/branch/master/os_net_config/impl_ifcfg.py#L1794-L1799
[5] https://opendev.org/openstack/os-net-config/src/branch/master/os_net_config/impl_ifcfg.py#L1870-L1872
[6] https://opendev.org/openstack/os-net-config/src/branch/master/os_net_config/impl_ifcfg.py#L1903-L1905

-----

Below is the config in JSON format in comment: #1 converted to YAML for readability.

network_config:
- name: bond0
  type: linux_bond
  bonding_options: mode=802.3ad xmit_hash_policy=layer3+4 lacp_rate=fast updelay=1000
    miimon=100
  members:
  - ethtool_opts: --set-priv-flags ${DEVICE} disable-fw-lldp on
    mtu: 9100
    name: p3p1
    type: interface
  - ethtool_opts: --set-priv-flags ${DEVICE} disable-fw-lldp on
    mtu: 9100
    name: p3p2
    type: interface
  use_dhcp: false
  addresses:
  - ip_netmask: 172.31.132.52/24
  dns_servers:
  - 8.8.8.8
  - 8.8.4.4
  mtu: 9100
  routes:
  - ip_netmask: 169.254.169.254/32
    next_hop: 172.31.132.9
- addresses:
  - ip_netmask: 172.31.129.87/24
  device: bond0
  mtu: 9100
  type: vlan
  vlan_id: 3129
- addresses:
  - ip_netmask: 172.31.128.38/24
  device: bond0
  mtu: 9100
  type: vlan
  vlan_id: 3128
- device: bond0
  type: vlan
  vlan_id: 3131
- addresses:
  - ip_netmask: 172.31.131.33/24
  members:
  - name: vlan3131
    type: interface
    use_dhcp: false
  mtu: 9100
  name: vhost0
  type: contrail_vrouter
  use_dhcp: false
- addresses:
  - ip_netmask: 10.87.104.58/24
  device: bond0
  mtu: 1500
  routes:
  - default: true
    next_hop: 10.87.104.1
  type: vlan
  vlan_id: 104


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