Description of problem: When a change is needed on bond, os-net-config write the configuration and restart nic and bond. But it will not restart vlan on top of the bond. So all route from vlan are lost. The solution should be on restart of a bond, restart after all related vlan. Version-Release number of selected component (if applicable): os-net-config-5.2.3-2.el7ost.noarch Steps to Reproduce: 1. deploy a network topology with nic in a bond and vlan the bond with static route. 2. change a param on bond in /etc/os-net-config/config.json 3. os-net-config -c /etc/os-net-config/config.json 4. check the route are lost. Additional info: Example with vlan1421 on bond0 : [root@cpt-0-m630v4 ~]# ip r default via 172.31.151.1 dev vlan1421 <----------------- 10.1.1.2 via 172.31.151.1 dev vlan1421 <----------------- 10.1.1.5 via 172.31.155.1 dev vhost0 11.1.1.2 via 172.31.151.1 dev vlan1421 <----------------- 11.1.1.5 via 172.31.155.1 dev vhost0 169.254.0.1 dev vhost0 proto 109 scope link 169.254.169.254 via 172.31.150.2 dev bond0 172.31.145.0/27 via 172.31.155.1 dev vhost0 172.31.150.0/26 dev bond0 proto kernel scope link src 172.31.150.21 172.31.151.0/27 dev vlan1421 proto kernel scope link src 172.31.151.20 172.31.152.0/27 dev vlan1422 proto kernel scope link src 172.31.152.20 172.31.154.0/27 dev vlan1424 proto kernel scope link src 172.31.154.20 172.31.155.0/27 dev vhost0 proto kernel scope link src 172.31.155.20 Do a change and call os-net-config [root@cpt-0-m630v4 ~]# os-net-config -c /etc/os-net-config/config.json -d [2018/11/30 09:28:46 AM] [INFO] No changes required for linux bond: bond1 [2018/11/30 09:28:46 AM] [INFO] running ifdown on interface: em1 [2018/11/30 09:28:46 AM] [DEBUG] Running cmd (subprocess): /sbin/ifdown em1 [2018/11/30 09:28:47 AM] [DEBUG] CMD "/sbin/ifdown em1" returned: 0 in 0.291s [2018/11/30 09:28:47 AM] [INFO] running ifdown on interface: p2p1 [2018/11/30 09:28:47 AM] [DEBUG] Running cmd (subprocess): /sbin/ifdown p2p1 [2018/11/30 09:28:47 AM] [DEBUG] CMD "/sbin/ifdown p2p1" returned: 0 in 0.258s [2018/11/30 09:28:47 AM] [INFO] running ifdown on interface: bond0 [2018/11/30 09:28:47 AM] [DEBUG] Running cmd (subprocess): /sbin/ifdown bond0 [2018/11/30 09:28:47 AM] [DEBUG] CMD "/sbin/ifdown bond0" returned: 0 in 0.409s [2018/11/30 09:28:47 AM] [INFO] Writing config /etc/sysconfig/network-scripts/route6-bond0 [2018/11/30 09:28:47 AM] [INFO] Writing config /etc/sysconfig/network-scripts/route-bond0 [2018/11/30 09:28:47 AM] [INFO] Writing config /etc/sysconfig/network-scripts/ifcfg-bond0 [2018/11/30 09:28:47 AM] [INFO] running ifup on interface: em1 [2018/11/30 09:28:47 AM] [DEBUG] Running cmd (subprocess): /sbin/ifup em1 [2018/11/30 09:28:48 AM] [DEBUG] CMD "/sbin/ifup em1" returned: 0 in 0.265s [2018/11/30 09:28:48 AM] [INFO] running ifup on interface: p2p1 [2018/11/30 09:28:48 AM] [DEBUG] Running cmd (subprocess): /sbin/ifup p2p1 [2018/11/30 09:28:48 AM] [DEBUG] CMD "/sbin/ifup p2p1" returned: 0 in 0.268s [2018/11/30 09:28:48 AM] [INFO] running ifup on interface: bond0 [2018/11/30 09:28:48 AM] [DEBUG] Running cmd (subprocess): /sbin/ifup bond0 [2018/11/30 09:28:52 AM] [DEBUG] CMD "/sbin/ifup bond0" returned: 0 in 4.321s Here our route on vlan1421 are lost because when bond0 is down, all routes of vlan based on bond0 are lost. VLANs are M-DOWN. [root@cpt-0-m630v4 ~]# ip r 10.1.1.5 via 172.31.155.1 dev vhost0 11.1.1.5 via 172.31.155.1 dev vhost0 169.254.0.1 dev vhost0 proto 109 scope link 169.254.169.254 via 172.31.150.2 dev bond0 172.31.145.0/27 via 172.31.155.1 dev vhost0 172.31.150.0/26 dev bond0 proto kernel scope link src 172.31.150.21 172.31.151.0/27 dev vlan1421 proto kernel scope link src 172.31.151.20 172.31.152.0/27 dev vlan1422 proto kernel scope link src 172.31.152.20 172.31.154.0/27 dev vlan1424 proto kernel scope link src 172.31.154.20 172.31.155.0/27 dev vhost0 proto kernel scope link src 172.31.155.20
I wrote a unit test for this, and it confirms vlan is not restarted. os_net_config/tests/test_impl_ifcfg.py def test_restart_vlans_on_bond_change(self): self.ifup_interface_names = [] interface1 = objects.Interface('em1') interface2 = objects.Interface('em2') bond = objects.LinuxBond('bond0', members=[interface1, interface2]) vlan = objects.Vlan('bond0', 10) self.provider.add_interface(interface1) self.provider.add_interface(interface2) self.provider.add_linux_bond(bond) self.provider.add_vlan(vlan) self.provider.apply() self.assertIn('bond0', self.ifup_interface_names) self.assertIn('em1', self.ifup_interface_names) self.assertIn('em2', self.ifup_interface_names) self.assertIn('vlan10', self.ifup_interface_names) # Change the bond configuration self.ifup_interface_names = [] bond = objects.LinuxBond('bond0', members=[interface1, interface2], bonding_options='mode=1 miimon=100') self.provider.add_linux_bond(bond) self.provider.apply() self.assertIn('bond0', self.ifup_interface_names) self.assertIn('em1', self.ifup_interface_names) self.assertIn('em2', self.ifup_interface_names) self.assertIn('vlan10', self.ifup_interface_names) ============================== Failed 1 tests - output below: ============================== os_net_config.tests.test_impl_ifcfg.TestIfcfgNetConfigApply.test_restart_vlans_on_bond_change --------------------------------------------------------------------------------------------- Captured pythonlogging: ~~~~~~~~~~~~~~~~~~~~~~~ Ifcfg net config provider created. adding interface: em1 adding interface: em2 adding linux bond: bond0 adding vlan: vlan10 applying network configs... running ifdown on interface: vlan10 running ifdown on interface: em2 running ifdown on interface: em1 running ifdown on interface: bond0 Writing config /tmp/tmpBxoitC/tmp4kc9fi Writing config /tmp/tmpBxoitC/tmptYXvIJ running ifup on interface: em2 running ifup on interface: em1 running ifup on interface: bond0 running ifup on interface: vlan10 adding linux bond: bond0 applying network configs... No changes required for vlan interface: vlan10 running ifdown on interface: em2 running ifdown on interface: em1 running ifdown on interface: bond0 Writing config /tmp/tmpBxoitC/tmp4kc9fi Writing config /tmp/tmpBxoitC/tmptYXvIJ running ifup on interface: em2 running ifup on interface: em1 running ifup on interface: bond0 Captured traceback: ~~~~~~~~~~~~~~~~~~~ Traceback (most recent call last): File "os_net_config/tests/test_impl_ifcfg.py", line 2004, in test_restart_vlans_on_bond_change self.assertIn('vlan10', self.ifup_interface_names) File "/home/hjensas/code/os-net-config/.tox/py27/lib/python2.7/site-packages/testtools/testcase.py", line 417, in assertIn self.assertThat(haystack, Contains(needle), message) File "/home/hjensas/code/os-net-config/.tox/py27/lib/python2.7/site-packages/testtools/testcase.py", line 498, in assertThat raise mismatch_error testtools.matchers._impl.MismatchError: 'vlan10' not in ['em2', 'em1', 'bond0']
Reproduced using: os-net-config-10.0.1-0.20181122111300.122684c.el7.noarch [root@os-net-config os-net-config]# cat /etc/os-net-config/config.json { "network_config": [ { "name": "bond0", "type": "linux_bond", "use_dhcp": false, "addresses": [{"ip_netmask": "172.31.170.27/26"}], "bonding_options": "mode=1 miimon=100", "members": [ { "type": "interface", "name": "nic2", "primary": true }, { "type": "interface", "name": "nic3" } ], "routes": [{"ip_netmask": "169.254.169.254/32", "next_hop": "172.31.170.2"}], }, { "device": "bond0", "type": "vlan", "vlan_id": 610, "addresses": [{"ip_netmask": "172.20.1.10/26"}], "routes": [{"ip_netmask": "172.20.1.0/26", "next_hop": "172.20.1.62"}], }, { "device": "bond0", "vlan_id": 611, "type": "vlan", "addresses": [{"ip_netmask": "172.20.1.70/26"}], "routes": [{"ip_netmask": "172.20.1.0/24", "next_hop": "172.20.1.126"}], }, { "device": "bond0", "type": "vlan", "vlan_id": 612, "dns_servers": [ "192.168.122.1" ], "addresses": [{"ip_netmask": "172.20.1.200/26"}], "routes": [{"ip_netmask": "172.20.1.0/24", "next_hop": "172.20.1.192"}], } ] } [root@os-net-config os-net-config]# os-net-config -c /etc/os-net-config/config.json -v [2018/11/30 12:56:01 PM] [INFO] Using config file at: /etc/os-net-config/config.json [2018/11/30 12:56:01 PM] [INFO] Ifcfg net config provider created. [2018/11/30 12:56:01 PM] [INFO] Not using any mapping file. [2018/11/30 12:56:01 PM] [INFO] Finding active nics [2018/11/30 12:56:01 PM] [INFO] eth1 is an embedded active nic [2018/11/30 12:56:01 PM] [INFO] eth0 is an embedded active nic [2018/11/30 12:56:01 PM] [INFO] eth2 is an embedded active nic [2018/11/30 12:56:01 PM] [INFO] lo is not an active nic [2018/11/30 12:56:01 PM] [INFO] No DPDK mapping available in path (/var/lib/os-net-config/dpdk_mapping.yaml) [2018/11/30 12:56:01 PM] [INFO] Active nics are ['eth0', 'eth1', 'eth2'] [2018/11/30 12:56:01 PM] [INFO] nic3 mapped to: eth2 [2018/11/30 12:56:01 PM] [INFO] nic2 mapped to: eth1 [2018/11/30 12:56:01 PM] [INFO] nic1 mapped to: eth0 [2018/11/30 12:56:01 PM] [INFO] adding linux bond: bond0 [2018/11/30 12:56:01 PM] [INFO] adding custom route for interface: bond0 [2018/11/30 12:56:01 PM] [INFO] adding interface: eth1 [2018/11/30 12:56:01 PM] [INFO] adding interface: eth2 [2018/11/30 12:56:01 PM] [INFO] adding vlan: vlan610 [2018/11/30 12:56:01 PM] [INFO] adding custom route for interface: vlan610 [2018/11/30 12:56:01 PM] [INFO] adding vlan: vlan611 [2018/11/30 12:56:01 PM] [INFO] adding custom route for interface: vlan611 [2018/11/30 12:56:01 PM] [INFO] adding vlan: vlan612 [2018/11/30 12:56:01 PM] [INFO] adding custom route for interface: vlan612 [2018/11/30 12:56:01 PM] [INFO] applying network configs... [2018/11/30 12:56:01 PM] [INFO] running ifdown on interface: vlan612 [2018/11/30 12:56:01 PM] [INFO] running ifdown on interface: vlan611 [2018/11/30 12:56:01 PM] [INFO] running ifdown on interface: vlan610 [2018/11/30 12:56:01 PM] [INFO] running ifdown on interface: eth2 [2018/11/30 12:56:01 PM] [INFO] running ifdown on interface: eth1 [2018/11/30 12:56:01 PM] [INFO] running ifdown on interface: bond0 [2018/11/30 12:56:01 PM] [INFO] Writing config /etc/sysconfig/network-scripts/route-vlan612 [2018/11/30 12:56:01 PM] [INFO] Writing config /etc/sysconfig/network-scripts/route-vlan610 [2018/11/30 12:56:01 PM] [INFO] Writing config /etc/sysconfig/network-scripts/route-vlan611 [2018/11/30 12:56:01 PM] [INFO] Writing config /etc/sysconfig/network-scripts/route-bond0 [2018/11/30 12:56:01 PM] [INFO] Writing config /etc/sysconfig/network-scripts/ifcfg-bond0 [2018/11/30 12:56:01 PM] [INFO] Writing config /etc/sysconfig/network-scripts/ifcfg-vlan610 [2018/11/30 12:56:01 PM] [INFO] Writing config /etc/sysconfig/network-scripts/ifcfg-vlan611 [2018/11/30 12:56:01 PM] [INFO] Writing config /etc/sysconfig/network-scripts/ifcfg-vlan612 [2018/11/30 12:56:01 PM] [INFO] Writing config /etc/sysconfig/network-scripts/ifcfg-eth2 [2018/11/30 12:56:01 PM] [INFO] Writing config /etc/sysconfig/network-scripts/ifcfg-eth1 [2018/11/30 12:56:01 PM] [INFO] running ifup on interface: eth2 [2018/11/30 12:56:01 PM] [INFO] running ifup on interface: eth1 [2018/11/30 12:56:01 PM] [INFO] running ifup on interface: bond0 [2018/11/30 12:56:05 PM] [INFO] running ifup on interface: vlan612 [2018/11/30 12:56:09 PM] [INFO] running ifup on interface: vlan611 [2018/11/30 12:56:14 PM] [INFO] running ifup on interface: vlan610 [root@os-net-config os-net-config]# ip r default via 192.168.122.1 dev eth0 proto static metric 100 169.254.0.0/16 dev bond0 scope link metric 1005 169.254.0.0/16 dev vlan612 scope link metric 1006 169.254.0.0/16 dev vlan611 scope link metric 1007 169.254.0.0/16 dev vlan610 scope link metric 1008 169.254.169.254 via 172.31.170.2 dev bond0 172.20.1.0/26 dev vlan610 proto kernel scope link src 172.20.1.10 172.20.1.0/24 via 172.20.1.126 dev vlan611 172.20.1.64/26 dev vlan611 proto kernel scope link src 172.20.1.70 172.20.1.192/26 dev vlan612 proto kernel scope link src 172.20.1.200 172.31.170.0/26 dev bond0 proto kernel scope link src 172.31.170.27 192.168.122.0/24 dev eth0 proto kernel scope link src 192.168.122.98 metric 100 [root@os-net-config os-net-config]# sed -i s/miimon=100/miimon=111/g /etc/os-net-config/config.json [root@os-net-config os-net-config]# os-net-config -c /etc/os-net-config/config.json -v [2018/11/30 12:58:31 PM] [INFO] Using config file at: /etc/os-net-config/config.json [2018/11/30 12:58:31 PM] [INFO] Ifcfg net config provider created. [2018/11/30 12:58:31 PM] [INFO] Not using any mapping file. [2018/11/30 12:58:31 PM] [INFO] Finding active nics [2018/11/30 12:58:31 PM] [INFO] vlan612 is not an active nic [2018/11/30 12:58:31 PM] [INFO] vlan611 is not an active nic [2018/11/30 12:58:31 PM] [INFO] vlan610 is not an active nic [2018/11/30 12:58:31 PM] [INFO] bond0 is not an active nic [2018/11/30 12:58:31 PM] [INFO] bonding_masters is not an active nic [2018/11/30 12:58:31 PM] [INFO] eth1 is an embedded active nic [2018/11/30 12:58:31 PM] [INFO] eth0 is an embedded active nic [2018/11/30 12:58:31 PM] [INFO] eth2 is an embedded active nic [2018/11/30 12:58:31 PM] [INFO] lo is not an active nic [2018/11/30 12:58:31 PM] [INFO] No DPDK mapping available in path (/var/lib/os-net-config/dpdk_mapping.yaml) [2018/11/30 12:58:31 PM] [INFO] Active nics are ['eth0', 'eth1', 'eth2'] [2018/11/30 12:58:31 PM] [INFO] nic3 mapped to: eth2 [2018/11/30 12:58:31 PM] [INFO] nic2 mapped to: eth1 [2018/11/30 12:58:31 PM] [INFO] nic1 mapped to: eth0 [2018/11/30 12:58:31 PM] [INFO] adding linux bond: bond0 [2018/11/30 12:58:31 PM] [INFO] adding custom route for interface: bond0 [2018/11/30 12:58:31 PM] [INFO] adding interface: eth1 [2018/11/30 12:58:31 PM] [INFO] adding interface: eth2 [2018/11/30 12:58:31 PM] [INFO] adding vlan: vlan610 [2018/11/30 12:58:31 PM] [INFO] adding custom route for interface: vlan610 [2018/11/30 12:58:31 PM] [INFO] adding vlan: vlan611 [2018/11/30 12:58:31 PM] [INFO] adding custom route for interface: vlan611 [2018/11/30 12:58:31 PM] [INFO] adding vlan: vlan612 [2018/11/30 12:58:31 PM] [INFO] adding custom route for interface: vlan612 [2018/11/30 12:58:31 PM] [INFO] applying network configs... [2018/11/30 12:58:31 PM] [INFO] No changes required for interface: eth2 [2018/11/30 12:58:31 PM] [INFO] No changes required for interface: eth1 [2018/11/30 12:58:31 PM] [INFO] No changes required for vlan interface: vlan612 [2018/11/30 12:58:31 PM] [INFO] No changes required for vlan interface: vlan611 [2018/11/30 12:58:31 PM] [INFO] No changes required for vlan interface: vlan610 [2018/11/30 12:58:31 PM] [INFO] running ifdown on interface: eth2 [2018/11/30 12:58:31 PM] [INFO] running ifdown on interface: eth1 [2018/11/30 12:58:31 PM] [INFO] running ifdown on interface: bond0 [2018/11/30 12:58:31 PM] [INFO] Writing config /etc/sysconfig/network-scripts/ifcfg-bond0 [2018/11/30 12:58:31 PM] [INFO] running ifup on interface: eth2 [2018/11/30 12:58:31 PM] [INFO] running ifup on interface: eth1 [2018/11/30 12:58:31 PM] [INFO] running ifup on interface: bond0 [root@os-net-config os-net-config]# ip r default via 192.168.122.1 dev eth0 proto static metric 100 169.254.0.0/16 dev bond0 scope link metric 1005 169.254.169.254 via 172.31.170.2 dev bond0 172.20.1.0/26 dev vlan610 proto kernel scope link src 172.20.1.10 172.20.1.64/26 dev vlan611 proto kernel scope link src 172.20.1.70 172.20.1.192/26 dev vlan612 proto kernel scope link src 172.20.1.200 172.31.170.0/26 dev bond0 proto kernel scope link src 172.31.170.27 192.168.122.0/24 dev eth0 proto kernel scope link src 192.168.122.98 metric 100
Test result in reproducer: -------------------------- [root@os-net-config ~]# cat /etc/os-net-config/config.json { "network_config": [ { "name": "bond0", "type": "linux_bond", "use_dhcp": false, "bonding_options": "mode=1 miimon=111", "members": [ { "type": "interface", "name": "nic2", "primary": true }, { "type": "interface", "name": "nic3" } ], }, { "device": "bond0", "type": "vlan", "vlan_id": 610, "addresses": [{"ip_netmask": "172.20.1.10/26"}], "routes": [{"ip_netmask": "172.20.2.0/26", "next_hop": "172.20.1.62"}], }, { "device": "bond0", "vlan_id": 611, "type": "vlan", "addresses": [{"ip_netmask": "172.20.1.70/26"}], "routes": [{"ip_netmask": "172.20.2.64/26", "next_hop": "172.20.1.126"}], }, { "device": "bond0", "type": "vlan", "vlan_id": 612, "dns_servers": [ "192.168.122.1" ], "addresses": [{"ip_netmask": "172.20.1.130/26"}], "routes": [{"ip_netmask": "172.20.2.128/26", "next_hop": "172.20.1.190"}], } ] } Initial configuration apply: ---------------------------- [root@os-net-config ~]# os-net-config -c os-net-config -c /etc/os-net-config/config.json -v [2018/12/01 07:56:26 PM] [INFO] Using config file at: /etc/os-net-config/config.json [2018/12/01 07:56:26 PM] [INFO] Ifcfg net config provider created. [2018/12/01 07:56:26 PM] [INFO] Not using any mapping file. [2018/12/01 07:56:26 PM] [INFO] Finding active nics [2018/12/01 07:56:26 PM] [INFO] lo is not an active nic [2018/12/01 07:56:26 PM] [INFO] eth2 is an embedded active nic [2018/12/01 07:56:26 PM] [INFO] eth0 is an embedded active nic [2018/12/01 07:56:26 PM] [INFO] eth1 is an embedded active nic [2018/12/01 07:56:26 PM] [INFO] No DPDK mapping available in path (/var/lib/os-net-config/dpdk_mapping.yaml) [2018/12/01 07:56:26 PM] [INFO] Active nics are ['eth0', 'eth1', 'eth2'] [2018/12/01 07:56:26 PM] [INFO] nic3 mapped to: eth2 [2018/12/01 07:56:26 PM] [INFO] nic2 mapped to: eth1 [2018/12/01 07:56:26 PM] [INFO] nic1 mapped to: eth0 [2018/12/01 07:56:26 PM] [INFO] adding linux bond: bond0 [2018/12/01 07:56:26 PM] [INFO] adding interface: eth1 [2018/12/01 07:56:26 PM] [INFO] adding interface: eth2 [2018/12/01 07:56:26 PM] [INFO] adding vlan: vlan610 [2018/12/01 07:56:26 PM] [INFO] adding custom route for interface: vlan610 [2018/12/01 07:56:26 PM] [INFO] adding vlan: vlan611 [2018/12/01 07:56:26 PM] [INFO] adding custom route for interface: vlan611 [2018/12/01 07:56:26 PM] [INFO] adding vlan: vlan612 [2018/12/01 07:56:26 PM] [INFO] adding custom route for interface: vlan612 [2018/12/01 07:56:26 PM] [INFO] applying network configs... [2018/12/01 07:56:26 PM] [INFO] running ifdown on interface: vlan612 [2018/12/01 07:56:26 PM] [INFO] running ifdown on interface: vlan611 [2018/12/01 07:56:26 PM] [INFO] running ifdown on interface: vlan610 [2018/12/01 07:56:26 PM] [INFO] running ifdown on interface: eth2 [2018/12/01 07:56:26 PM] [INFO] running ifdown on interface: eth1 [2018/12/01 07:56:27 PM] [INFO] running ifdown on interface: bond0 [2018/12/01 07:56:27 PM] [INFO] Writing config /etc/sysconfig/network-scripts/route-vlan612 [2018/12/01 07:56:27 PM] [INFO] Writing config /etc/sysconfig/network-scripts/route-vlan610 [2018/12/01 07:56:27 PM] [INFO] Writing config /etc/sysconfig/network-scripts/route-vlan611 [2018/12/01 07:56:27 PM] [INFO] Writing config /etc/sysconfig/network-scripts/ifcfg-bond0 [2018/12/01 07:56:27 PM] [INFO] Writing config /etc/sysconfig/network-scripts/ifcfg-vlan610 [2018/12/01 07:56:27 PM] [INFO] Writing config /etc/sysconfig/network-scripts/ifcfg-vlan611 [2018/12/01 07:56:27 PM] [INFO] Writing config /etc/sysconfig/network-scripts/ifcfg-vlan612 [2018/12/01 07:56:27 PM] [INFO] Writing config /etc/sysconfig/network-scripts/ifcfg-eth2 [2018/12/01 07:56:27 PM] [INFO] Writing config /etc/sysconfig/network-scripts/ifcfg-eth1 [2018/12/01 07:56:27 PM] [INFO] running ifup on interface: eth2 [2018/12/01 07:56:27 PM] [INFO] running ifup on interface: eth1 [2018/12/01 07:56:27 PM] [INFO] running ifup on interface: bond0 [2018/12/01 07:56:27 PM] [INFO] running ifup on interface: vlan612 [2018/12/01 07:56:31 PM] [INFO] running ifup on interface: vlan611 [2018/12/01 07:56:35 PM] [INFO] running ifup on interface: vlan610 Routes are present: ------------------- [root@os-net-config ~]# ip r default via 192.168.122.1 dev eth0 proto dhcp metric 100 169.254.0.0/16 dev bond0 scope link metric 1005 169.254.0.0/16 dev vlan612 scope link metric 1006 169.254.0.0/16 dev vlan611 scope link metric 1007 169.254.0.0/16 dev vlan610 scope link metric 1008 172.20.1.0/26 dev vlan610 proto kernel scope link src 172.20.1.10 172.20.1.64/26 dev vlan611 proto kernel scope link src 172.20.1.70 172.20.1.128/26 dev vlan612 proto kernel scope link src 172.20.1.130 172.20.2.0/26 via 172.20.1.62 dev vlan610 172.20.2.64/26 via 172.20.1.126 dev vlan611 172.20.2.128/26 via 172.20.1.190 dev vlan612 192.168.122.0/24 dev eth0 proto kernel scope link src 192.168.122.98 metric 100 Change setting in bond configuration to trigger bond0 restart: -------------------------------------------------------------- [root@os-net-config ~]# sed -i s/miimon=111/miimon=100/g /etc/os-net-config/config.json Re-Run os-net-config with changed configuration: ------------------------------------------------ [root@os-net-config ~]# os-net-config -c os-net-config -c /etc/os-net-config/config.json -v [2018/12/01 07:57:18 PM] [INFO] Using config file at: /etc/os-net-config/config.json [2018/12/01 07:57:18 PM] [INFO] Ifcfg net config provider created. [2018/12/01 07:57:18 PM] [INFO] Not using any mapping file. [2018/12/01 07:57:18 PM] [INFO] Finding active nics [2018/12/01 07:57:18 PM] [INFO] bond0 is not an active nic [2018/12/01 07:57:18 PM] [INFO] bonding_masters is not an active nic [2018/12/01 07:57:18 PM] [INFO] lo is not an active nic [2018/12/01 07:57:18 PM] [INFO] eth2 is an embedded active nic [2018/12/01 07:57:18 PM] [INFO] eth0 is an embedded active nic [2018/12/01 07:57:18 PM] [INFO] eth1 is an embedded active nic [2018/12/01 07:57:18 PM] [INFO] vlan610 is not an active nic [2018/12/01 07:57:18 PM] [INFO] vlan611 is not an active nic [2018/12/01 07:57:18 PM] [INFO] vlan612 is not an active nic [2018/12/01 07:57:18 PM] [INFO] No DPDK mapping available in path (/var/lib/os-net-config/dpdk_mapping.yaml) [2018/12/01 07:57:18 PM] [INFO] Active nics are ['eth0', 'eth1', 'eth2'] [2018/12/01 07:57:18 PM] [INFO] nic3 mapped to: eth2 [2018/12/01 07:57:18 PM] [INFO] nic2 mapped to: eth1 [2018/12/01 07:57:18 PM] [INFO] nic1 mapped to: eth0 [2018/12/01 07:57:18 PM] [INFO] adding linux bond: bond0 [2018/12/01 07:57:18 PM] [INFO] adding interface: eth1 [2018/12/01 07:57:18 PM] [INFO] adding interface: eth2 [2018/12/01 07:57:18 PM] [INFO] adding vlan: vlan610 [2018/12/01 07:57:18 PM] [INFO] adding custom route for interface: vlan610 [2018/12/01 07:57:18 PM] [INFO] adding vlan: vlan611 [2018/12/01 07:57:18 PM] [INFO] adding custom route for interface: vlan611 [2018/12/01 07:57:18 PM] [INFO] adding vlan: vlan612 [2018/12/01 07:57:18 PM] [INFO] adding custom route for interface: vlan612 [2018/12/01 07:57:18 PM] [INFO] applying network configs... [2018/12/01 07:57:18 PM] [INFO] No changes required for interface: eth2 [2018/12/01 07:57:18 PM] [INFO] No changes required for interface: eth1 [2018/12/01 07:57:18 PM] [INFO] running ifdown on interface: vlan612 [2018/12/01 07:57:18 PM] [INFO] running ifdown on interface: vlan611 [2018/12/01 07:57:18 PM] [INFO] running ifdown on interface: vlan610 [2018/12/01 07:57:18 PM] [INFO] running ifdown on interface: eth2 [2018/12/01 07:57:18 PM] [INFO] running ifdown on interface: eth1 [2018/12/01 07:57:19 PM] [INFO] running ifdown on interface: bond0 [2018/12/01 07:57:19 PM] [INFO] Writing config /etc/sysconfig/network-scripts/ifcfg-vlan610 [2018/12/01 07:57:19 PM] [INFO] Writing config /etc/sysconfig/network-scripts/ifcfg-vlan611 [2018/12/01 07:57:19 PM] [INFO] Writing config /etc/sysconfig/network-scripts/ifcfg-vlan612 [2018/12/01 07:57:19 PM] [INFO] Writing config /etc/sysconfig/network-scripts/ifcfg-bond0 [2018/12/01 07:57:19 PM] [INFO] running ifup on interface: eth2 [2018/12/01 07:57:19 PM] [INFO] running ifup on interface: eth1 [2018/12/01 07:57:19 PM] [INFO] running ifup on interface: bond0 [2018/12/01 07:57:19 PM] [INFO] running ifup on interface: vlan612 <-- Vlan restarted [2018/12/01 07:57:23 PM] [INFO] running ifup on interface: vlan611 <-- Vlan restarted [2018/12/01 07:57:28 PM] [INFO] running ifup on interface: vlan610 <-- Vlan restarted Routes are present after change of bond0 config: ------------------------------------------------ [root@os-net-config ~]# ip r default via 192.168.122.1 dev eth0 proto dhcp metric 100 169.254.0.0/16 dev bond0 scope link metric 1005 169.254.0.0/16 dev vlan612 scope link metric 1009 169.254.0.0/16 dev vlan611 scope link metric 1010 169.254.0.0/16 dev vlan610 scope link metric 1011 172.20.1.0/26 dev vlan610 proto kernel scope link src 172.20.1.10 172.20.1.64/26 dev vlan611 proto kernel scope link src 172.20.1.70 172.20.1.128/26 dev vlan612 proto kernel scope link src 172.20.1.130 172.20.2.0/26 via 172.20.1.62 dev vlan610 <-- Route still present 172.20.2.64/26 via 172.20.1.126 dev vlan611 <-- Route still present 172.20.2.128/26 via 172.20.1.190 dev vlan612 <-- Route still present 192.168.122.0/24 dev eth0 proto kernel scope link src 192.168.122.98 metric 100
Verified environment: root@controller-0 ~]# rpm -q os-net-config os-net-config-5.2.3-3.el7ost.noarch Changed bridge config in config json and applied -: os-net-config -v -c /etc/os-net-config/config.json #verbosely applying new config [2019/01/08 05:59:31 PM] [INFO] Using config file at: /etc/os-net-config/config.json [2019/01/08 05:59:31 PM] [INFO] Using mapping file at: /etc/os-net-config/mapping.yaml [2019/01/08 05:59:31 PM] [INFO] Ifcfg net config provider created. [2019/01/08 05:59:31 PM] [INFO] nic3 mapped to: eth2 [2019/01/08 05:59:31 PM] [INFO] nic2 mapped to: eth1 [2019/01/08 05:59:31 PM] [INFO] nic1 mapped to: eth0 [2019/01/08 05:59:31 PM] [INFO] adding interface: eth0 [2019/01/08 05:59:31 PM] [INFO] adding custom route for interface: eth0 [2019/01/08 05:59:31 PM] [INFO] adding bridge: br-isolated [2019/01/08 05:59:31 PM] [INFO] adding interface: eth1 [2019/01/08 05:59:31 PM] [INFO] adding vlan: vlan20 [2019/01/08 05:59:31 PM] [INFO] adding custom route for interface: vlan20 [2019/01/08 05:59:31 PM] [INFO] adding vlan: vlan30 [2019/01/08 05:59:31 PM] [INFO] adding vlan: vlan40 [2019/01/08 05:59:31 PM] [INFO] adding vlan: vlan50 [2019/01/08 05:59:31 PM] [INFO] adding bridge: br-ex [2019/01/08 05:59:31 PM] [INFO] adding custom route for interface: br-ex [2019/01/08 05:59:31 PM] [INFO] adding interface: eth2 [2019/01/08 05:59:31 PM] [INFO] applying network configs... [2019/01/08 05:59:31 PM] [INFO] No changes required for interface: eth2 [2019/01/08 05:59:31 PM] [INFO] No changes required for interface: eth1 [2019/01/08 05:59:31 PM] [INFO] No changes required for interface: eth0 [2019/01/08 05:59:31 PM] [INFO] No changes required for bridge: br-ex [2019/01/08 05:59:31 PM] [INFO] No changes required for vlan interface: vlan20 [2019/01/08 05:59:31 PM] [INFO] No changes required for vlan interface: vlan30 [2019/01/08 05:59:31 PM] [INFO] No changes required for vlan interface: vlan40 [2019/01/08 05:59:31 PM] [INFO] No changes required for vlan interface: vlan50 [2019/01/08 05:59:31 PM] [INFO] running ifdown on interface: vlan50 [2019/01/08 05:59:32 PM] [INFO] running ifdown on interface: vlan20 [2019/01/08 05:59:32 PM] [INFO] running ifdown on interface: vlan30 [2019/01/08 05:59:32 PM] [INFO] running ifdown on interface: vlan40 [2019/01/08 05:59:32 PM] [INFO] running ifdown on interface: eth1 [2019/01/08 05:59:32 PM] [INFO] running ifdown on bridge: br-isolated [2019/01/08 05:59:33 PM] [INFO] Writing config /etc/sysconfig/network-scripts/route-br-isolated [2019/01/08 05:59:33 PM] [INFO] Writing config /etc/sysconfig/network-scripts/ifcfg-br-isolated [2019/01/08 05:59:33 PM] [INFO] Writing config /etc/sysconfig/network-scripts/route6-br-isolated [2019/01/08 05:59:33 PM] [INFO] running ifup on bridge: br-isolated [2019/01/08 05:59:33 PM] [INFO] running ifup on interface: vlan50 [2019/01/08 05:59:37 PM] [INFO] running ifup on interface: vlan20 [2019/01/08 05:59:41 PM] [INFO] running ifup on interface: vlan30 [2019/01/08 05:59:46 PM] [INFO] running ifup on interface: vlan40 [2019/01/08 05:59:50 PM] [INFO] running ifup on interface: eth1 Vlans restarted successfully.
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:0055