From 4fb32751f9c8e82a729780fc5dedae71cecc32b6 Mon Sep 17 00:00:00 2001 From: baigk Date: Wed, 5 Aug 2015 02:00:31 -0400 Subject: support deployment os of centos7.1 with cobbler for compass JIRA: COMPASS-5 Change-Id: I6aa19548a17791f8862c6dba00380ef946ea3108 Signed-off-by: baigk --- .../snippets/kickstart_pre_install_network_config | 99 ++++++++++++++++++++++ 1 file changed, 99 insertions(+) create mode 100644 deploy/adapters/cobbler/snippets/kickstart_pre_install_network_config (limited to 'deploy/adapters/cobbler/snippets/kickstart_pre_install_network_config') diff --git a/deploy/adapters/cobbler/snippets/kickstart_pre_install_network_config b/deploy/adapters/cobbler/snippets/kickstart_pre_install_network_config new file mode 100644 index 00000000..34d670f8 --- /dev/null +++ b/deploy/adapters/cobbler/snippets/kickstart_pre_install_network_config @@ -0,0 +1,99 @@ +#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 -- cgit 1.2.3-korg