ce7e2103b2
Change-Id: Ibbadf313fe0759500ae9b0528aba8ceca259ec9a
100 lines
3.4 KiB
Plaintext
100 lines
3.4 KiB
Plaintext
#if $getVar("system_name","") != ""
|
|
# Start pre_install_network_config generated code
|
|
#if $getVar('management_nic', '') == ""
|
|
#set $management_nic=''
|
|
#end if
|
|
#raw
|
|
# generic functions to be used later for discovering NICs
|
|
mac_exists() {
|
|
if which ip 2>/dev/null >/dev/null; then
|
|
ip -o link | grep -i "$1" 2>/dev/null >/dev/null
|
|
return $?
|
|
elif which esxcfg-nics 2>/dev/null >/dev/null; then
|
|
esxcfg-nics -l | grep -i "$1" 2>/dev/null >/dev/null
|
|
return $?
|
|
else
|
|
ifconfig -a | grep -i "$1" 2>/dev/null >/dev/null
|
|
return $?
|
|
fi
|
|
}
|
|
get_ifname() {
|
|
if which ip 2>/dev/null >/dev/null; then
|
|
IFNAME=$(ip -o link | grep -i "$1" | sed -e 's/^[0-9]*: //' -e 's/:.*//')
|
|
elif which esxcfg-nics 2>/dev/null >/dev/null; then
|
|
IFNAME=$(esxcfg-nics -l | grep -i "$1" | cut -d " " -f 1)
|
|
else
|
|
IFNAME=$(ifconfig -a | grep -i "$1" | cut -d " " -f 1)
|
|
if [ -z "$IFNAME" ]; then
|
|
IFNAME=$(ifconfig -a | grep -i -B 2 "$1" | sed -n '/flags/s/:.*$//p')
|
|
fi
|
|
fi
|
|
}
|
|
#end raw
|
|
#set ikeys = $interfaces.keys()
|
|
#for $iname in $ikeys
|
|
#set $idata = $interfaces[$iname]
|
|
#set $management = $idata["management"]
|
|
#if $management
|
|
#set $management_nic = $iname
|
|
#end if
|
|
#end for
|
|
#for $iname in $ikeys
|
|
#set $idata = $interfaces[$iname]
|
|
#set $mac = $idata["mac_address"]
|
|
#set $static = $idata["static"]
|
|
#set $management = $idata["management"]
|
|
#set $ip = $idata["ip_address"]
|
|
#set $netmask = $idata["netmask"]
|
|
#set $iface_type = $idata["interface_type"]
|
|
#set $iface_master = $idata["interface_master"]
|
|
#set $static_routes = $idata["static_routes"]
|
|
#if $management_nic != ''
|
|
#if $iname != $management_nic
|
|
#continue
|
|
#end if
|
|
#end if
|
|
#if $mac == ""
|
|
#continue
|
|
#end if
|
|
# Configuring $iname ($mac)
|
|
if mac_exists $mac
|
|
then
|
|
get_ifname $mac
|
|
#if $static and $ip != ""
|
|
#if $netmask == ""
|
|
## Netmask not provided, default to /24.
|
|
#set $netmask = "255.255.255.0"
|
|
#end if
|
|
#set $netinfo = "--bootproto=static --ip=%s --netmask=%s" % ($ip, $netmask)
|
|
#if $gateway != ""
|
|
#set $netinfo = "%s --gateway=%s" % ($netinfo, $gateway)
|
|
#end if
|
|
#if $len($name_servers) > 0
|
|
#set $netinfo = "%s --nameserver=%s" % ($netinfo, $name_servers[0])
|
|
#end if
|
|
#else if not $static
|
|
#set $netinfo = "--bootproto=dhcp"
|
|
#else
|
|
## Skip this interface, it's set as static, but without
|
|
## networking info.
|
|
# Skipping (no configuration)...
|
|
#continue
|
|
#end if
|
|
#if $hostname != ""
|
|
#set $netinfo = "%s --hostname=%s" % ($netinfo, $hostname)
|
|
#end if
|
|
echo "network --device=\$IFNAME $netinfo" >> /tmp/pre_install_network_config
|
|
#for $route in $static_routes
|
|
#if $routepattern.match($route)
|
|
#set $routebits = $route.split(":")
|
|
#set [$network, $router] = $route.split(":")
|
|
ip route add $network via $router dev \$IFNAME
|
|
#else
|
|
# Warning: invalid route "$route"
|
|
#end if
|
|
#end for
|
|
fi
|
|
#end for
|
|
# End pre_install_network_config generated code
|
|
#end if
|