blob: 2ea74799f929c4e4b47fac187b8e2db2a3847fef (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
|
#if $getVar("system_name","") != ""
#if $getVar('management_nic', '') == ""
#set $management_nic=''
#end if
echo "generate pre network config" > /tmp/network_log
# Start pre_install_network_config generated code
#raw
# generic functions to be used later for discovering NICs
mac_exists() {
if type ip; then
ip -o link | grep -i "$1" 2>/dev/null >/dev/null
return $?
elif type esxcfg-nics; 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 type ip; then
IFNAME=$(ip -o link | grep -i "$1" | sed -e 's/^[0-9]*: //' -e 's/:.*//')
elif type esxcfg-nics; 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
echo "d-i netcfg/choose_interface string \$IFNAME" >> /tmp/pre_install_network_config
#if $static and $ip != ""
echo "d-i netcfg/get_ipaddress string $ip" >> /tmp/pre_install_network_config
#if $netmask == ""
#set $netmask = "255.255.255.0"
#end if
echo "d-i netcfg/get_netmask string $netmask" >> /tmp/pre_install_network_config
#else
#continue
#end if
fi
#end for
#end if
|