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)
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