Refactor profile::network to be more extensible
- Make explicit routes on the private network configurable properly
- Switch the networks dict to be keyed by the interface name
- Enable other methods (than statics) of setting up the network interfaces
- network: Add support for mtu value
- network: Add support for extra settings
Test Plan
octocatalog-diff run on a few hosts that have a network configuration shows only a change to the azure subnet (which is a /21 not a /24).
$ bin/octocatalog-diff -t current pergamon worker01
Found host pergamon.softwareheritage.org
Found host worker01.softwareheritage.org
*** Running octocatalog-diff on host pergamon.softwareheritage.org
I, [2020-09-15T11:16:39.148902 #19998] INFO -- : Catalogs compiled for pergamon.softwareheritage.org
I, [2020-09-15T11:16:40.182046 #19998] INFO -- : Diffs computed for pergamon.softwareheritage.org
diff origin/production/pergamon.softwareheritage.org current/pergamon.softwareheritage.org
*******************************************
Concat::Fragment[eth1_stanza] =>
parameters =>
content =>
@@ -15,5 +15,5 @@
down ip rule del from 192.168.100.29 table private
down ip route del 192.168.128.0/24 via 192.168.100.125
- down ip route del 192.168.200.0/24 via 192.168.100.1
+ down ip route del 192.168.200.0/21 via 192.168.100.1
down ip route del 192.168.101.0/24 via 192.168.100.1
down ip route flush cache
*******************************************
Concat_fragment[eth1_stanza] =>
parameters =>
content =>
@@ -15,5 +15,5 @@
down ip rule del from 192.168.100.29 table private
down ip route del 192.168.128.0/24 via 192.168.100.125
- down ip route del 192.168.200.0/24 via 192.168.100.1
+ down ip route del 192.168.200.0/21 via 192.168.100.1
down ip route del 192.168.101.0/24 via 192.168.100.1
down ip route flush cache
*******************************************
Debnet::Iface[eth1] =>
parameters =>
downs =>
- ["ip route del default via 192.168.100.1 dev eth1 table private", "ip route del 192.168.100.0/24 src 192.168.100.29 dev eth1 table private", "ip rule del from 192.168.100.29 table private", "ip route del 192.168.128.0/24 via 192.168.100.125", "ip route del 192.168.200.0/24 via 192.168.100.1", "ip route del 192.168.101.0/24 via 192.168.100.1", "ip route flush cache"]
+ ["ip route del default via 192.168.100.1 dev eth1 table private", "ip route del 192.168.100.0/24 src 192.168.100.29 dev eth1 table private", "ip rule del from 192.168.100.29 table private", "ip route del 192.168.128.0/24 via 192.168.100.125", "ip route del 192.168.200.0/21 via 192.168.100.1", "ip route del 192.168.101.0/24 via 192.168.100.1", "ip route flush cache"]
*******************************************
*** End octocatalog-diff on pergamon.softwareheritage.org
*** Running octocatalog-diff on host worker01.softwareheritage.org
I, [2020-09-15T11:16:44.248318 #20055] INFO -- : Catalogs compiled for worker01.softwareheritage.org
I, [2020-09-15T11:16:44.489755 #20055] INFO -- : Diffs computed for worker01.softwareheritage.org
diff origin/production/worker01.softwareheritage.org current/worker01.softwareheritage.org
*******************************************
Concat::Fragment[ens19_stanza] =>
parameters =>
content =>
@@ -13,5 +13,5 @@
down ip route del 192.168.100.0/24 src 192.168.100.21 dev ens19 table private
down ip rule del from 192.168.100.21 table private
- down ip route del 192.168.200.0/24 via 192.168.100.1
+ down ip route del 192.168.200.0/21 via 192.168.100.1
down ip route del 192.168.101.0/24 via 192.168.100.1
down ip route flush cache
*******************************************
Concat_fragment[ens19_stanza] =>
parameters =>
content =>
@@ -13,5 +13,5 @@
down ip route del 192.168.100.0/24 src 192.168.100.21 dev ens19 table private
down ip rule del from 192.168.100.21 table private
- down ip route del 192.168.200.0/24 via 192.168.100.1
+ down ip route del 192.168.200.0/21 via 192.168.100.1
down ip route del 192.168.101.0/24 via 192.168.100.1
down ip route flush cache
*******************************************
Debnet::Iface[ens19] =>
parameters =>
downs =>
- ["ip route del default via 192.168.100.1 dev ens19 table private", "ip route del 192.168.100.0/24 src 192.168.100.21 dev ens19 table private", "ip rule del from 192.168.100.21 table private", "ip route del 192.168.200.0/24 via 192.168.100.1", "ip route del 192.168.101.0/24 via 192.168.100.1", "ip route flush cache"]
+ ["ip route del default via 192.168.100.1 dev ens19 table private", "ip route del 192.168.100.0/24 src 192.168.100.21 dev ens19 table private", "ip rule del from 192.168.100.21 table private", "ip route del 192.168.200.0/21 via 192.168.100.1", "ip route del 192.168.101.0/24 via 192.168.100.1", "ip route flush cache"]
*******************************************
*** End octocatalog-diff on worker01.softwareheritage.org
Migrated from D3946 (view on Phabricator)