I may come close to the full support finally
This commit is contained in:
parent
24e5d81bff
commit
13fbc9d572
|
@ -9,7 +9,7 @@ Vcs-Git: https://git.wit.com/netops/wit-network-config
|
||||||
|
|
||||||
Package: wit-network-config
|
Package: wit-network-config
|
||||||
Architecture: all
|
Architecture: all
|
||||||
Depends: ${misc:Depends}, frr (>= 4.0-wit), sed, tcpdump, mtr-tiny, iproute2, ifupdown, ipmitool, iptables, lldpd, strongswan, telnet, netcat, fping, curl, wget, ifstat, rsyslog, ncurses-term, net-tools, bridge-utils, vlan, gnupg, sudo, isc-dhcp-client
|
Depends: ${misc:Depends}, sed, tcpdump, mtr-tiny, iproute2, ifupdown, ipmitool, iptables, lldpd, strongswan, telnet, netcat, fping, curl, wget, ifstat, rsyslog, ncurses-term, net-tools, bridge-utils, vlan, gnupg, sudo, isc-dhcp-client
|
||||||
Provides: ${diverted-files}
|
Provides: ${diverted-files}
|
||||||
Conflicts: ${diverted-files}, dhcpcd5
|
Conflicts: ${diverted-files}, dhcpcd5
|
||||||
Description: configure network for a standard wit compute and/or data node
|
Description: configure network for a standard wit compute and/or data node
|
||||||
|
|
|
@ -2,6 +2,7 @@ files/vrf.conf etc/iproute2/rt_tables.d
|
||||||
files/vrf-dhcp-enter etc/dhcp/dhclient-enter-hooks.d
|
files/vrf-dhcp-enter etc/dhcp/dhclient-enter-hooks.d
|
||||||
files/vrf-dhcp-exit etc/dhcp/dhclient-exit-hooks.d
|
files/vrf-dhcp-exit etc/dhcp/dhclient-exit-hooks.d
|
||||||
files/dhcp-sethostname etc/dhcp/dhclient-exit-hooks.d
|
files/dhcp-sethostname etc/dhcp/dhclient-exit-hooks.d
|
||||||
|
files/dhcp-loopback etc/dhcp/dhclient-exit-hooks.d
|
||||||
files/rc.local etc
|
files/rc.local etc
|
||||||
files/10-frr.conf etc/sysctl.d
|
files/10-frr.conf etc/sysctl.d
|
||||||
files/11-mgmt1.conf etc/sysctl.d
|
files/11-mgmt1.conf etc/sysctl.d
|
||||||
|
|
|
@ -24,24 +24,16 @@ case "$1" in
|
||||||
|
|
||||||
### START gather all the info from the box and generate the variabels
|
### START gather all the info from the box and generate the variabels
|
||||||
|
|
||||||
|
source /etc/wit-net.conf
|
||||||
|
if [ -z $LOOPBACKv4 ]; then
|
||||||
|
echo "LOOPBACK not provided by DHCP"
|
||||||
|
exit 2
|
||||||
|
fi
|
||||||
|
|
||||||
|
export TIER_ID=$(echo $LOOPBACKv4 | cut -d . -f 3)
|
||||||
[ -z $NODE_ID ] && export NODE_ID=$(ip -4 -br addr | grep 10.0. | awk '{ print $3 }' | awk 'BEGIN{FS="[./]"} { print $4 }')
|
export NODE_ID=$(echo $LOOPBACKv4 | cut -d . -f 4)
|
||||||
|
|
||||||
export DOMAINNAME=${HOSTNAME#*.}
|
export DOMAINNAME=${HOSTNAME#*.}
|
||||||
export MGMT_MAC=$(ip -br link show dev $(ip -4 -br addr | grep 10.0. | awk '{ print $1 }') | awk '{ print $3 }')
|
|
||||||
|
|
||||||
|
|
||||||
[ ${HOSTNAME:0:4} = vtep ] && export HOSTTYPE=hypervisor
|
|
||||||
[ ${HOSTNAME:0:1} = h ] && export HOSTTYPE=hypervisor
|
|
||||||
[ ${HOSTNAME:0:1} = d ] && export HOSTTYPE=datanode
|
|
||||||
|
|
||||||
[ $HOSTTYPE = hypervisor -a $DOMAINNAME = usw1.wit.com ] && export TIER_ID=2
|
|
||||||
[ $HOSTTYPE = datanode -a $DOMAINNAME = usw1.wit.com ] && export TIER_ID=4
|
|
||||||
[ $HOSTTYPE = hypervisor -a $DOMAINNAME = usw2.wit.com ] && export TIER_ID=18
|
|
||||||
[ $HOSTTYPE = datanode -a $DOMAINNAME = usw2.wit.com ] && export TIER_ID=20
|
|
||||||
|
|
||||||
[ $HOSTTYPE != hypervisor -a $HOSTTYPE != datanode ] && sed -ie "s/^TIER_ID.*/TIER_ID=$TIER_ID/; t; $ s/$/\nTIER_ID=$TIER_ID/" /etc/environment
|
|
||||||
|
|
||||||
if [ -z "$TIER_ID" ]; then
|
if [ -z "$TIER_ID" ]; then
|
||||||
echo "Unable to autodetect TIER_ID, looks like we deal with a special node, please set in environment"
|
echo "Unable to autodetect TIER_ID, looks like we deal with a special node, please set in environment"
|
||||||
|
@ -53,9 +45,10 @@ case "$1" in
|
||||||
fi
|
fi
|
||||||
|
|
||||||
export NODE_ASN="4200$(printf "%03d" $TIER_ID)$(printf "%03d" $NODE_ID)"
|
export NODE_ASN="4200$(printf "%03d" $TIER_ID)$(printf "%03d" $NODE_ID)"
|
||||||
export LOOPBACKv4="10.1.$TIER_ID.$NODE_ID"
|
|
||||||
export LOOPBACKv6="2604:bbc0::$TIER_ID:$NODE_ID"
|
export LOOPBACKv6="2604:bbc0::$TIER_ID:$NODE_ID"
|
||||||
|
|
||||||
|
MGMT_MAC=$(ip -br link show dev $(ip -4 -br addr | grep 10.0. | awk '{ print $1 }') | awk '{ print $3 }')
|
||||||
|
|
||||||
## END variables
|
## END variables
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -16,6 +16,15 @@ set -e
|
||||||
|
|
||||||
case "$1" in
|
case "$1" in
|
||||||
install|upgrade)
|
install|upgrade)
|
||||||
|
source /etc/wit-net.conf
|
||||||
|
if [ -z $LOOPBACKv4 ]; then
|
||||||
|
echo "LOOPBACK NOT CONFIGURED, aborting..."
|
||||||
|
exit 2
|
||||||
|
fi
|
||||||
|
if [[ $LOOPBACKv4 = "10.1."* ]]; then
|
||||||
|
echo "only 10.1.x.y loopbacks supported at the moment"
|
||||||
|
exit 3
|
||||||
|
fi
|
||||||
systemctl stop systemd-networkd.socket
|
systemctl stop systemd-networkd.socket
|
||||||
systemctl stop systemd-networkd.service
|
systemctl stop systemd-networkd.service
|
||||||
systemctl stop systemd-networkd-wait-online
|
systemctl stop systemd-networkd-wait-online
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
/etc/systemd/timesyncd.conf.wit sed -e 's/#NTP=.*/NTP=ipv6.ntp.ubuntu.com/g'
|
/etc/systemd/timesyncd.conf.wit sed -e 's/#NTP=.*/NTP=ipv6.ntp.ubuntu.com/g'
|
||||||
/etc/frr/daemons.wit sed -e 's/bgpd=no/bgpd=yes/' -e 's/zebra=no/zebra=yes/'
|
/etc/frr/daemons.wit sed -e 's/bgpd=no/bgpd=yes/' -e 's/zebra=no/zebra=yes/'
|
||||||
/etc/bash.bashrc.wit sed -e 's/.*witaddon/source \/etc\/bashrc-witaddon/; t; $ s/$/\nsource \/etc\/bashrc-witaddon/'
|
/etc/bash.bashrc.wit sed -e 's/.*witaddon/source \/etc\/bashrc-witaddon/; t; $ s/$/\nsource \/etc\/bashrc-witaddon/'
|
||||||
/etc/dhcp/dhclient.conf.wit sed -e '/option.*tier-id/d;t;1s/^/option tier-id code 225 = unsigned integer 8;\n/'
|
/etc/dhcp/dhclient.conf.wit sed -e '/^option.*loopbackv4/d;' | sed -e '1s/^/option loopbackv4 code 225 = ip-address;\n/;'
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
|
sed -ie '/^LOOPBACKv4.*/d' /etc/wit-net.conf
|
||||||
|
|
||||||
if [ ! -z $new_tier_id ]; then
|
if [ ! -z $new_loopbackv4 ]; then
|
||||||
sed -ie '/^TIER_ID=.*/d' /etc/environment
|
echo "LOOPBACKv4=$new_loopbackv4" >>/etc/wit-net.conf
|
||||||
echo "TIER_ID=$new_tier_id" >>/etc/environment
|
|
||||||
fi
|
fi
|
||||||
|
|
Loading…
Reference in New Issue