fuel-library/deployment/puppet/cobbler/templates/snippets/ubuntu_network.erb

116 lines
4.7 KiB
Plaintext

#import ipaddr
#import late_command
#set $script = ""
##
##
#set ikeys = $interfaces.keys()
##################################
## configuring udev rules
##################################
#set $script += "### configuring udev rules ###\n"
#set $rules_file = "/etc/udev/rules.d/70-persistent-net.rules"
#set $script += "echo > %s\n" % $rules_file
#for $iname in $ikeys
#set $idata = $interfaces[$iname]
#set $imac = $idata.get("mac_address", "")
#if $imac == "":
#continue
#end if
#set $script += "MATCHADDR=%s INTERFACE=%s /lib/udev/write_net_rules\n" % ($imac.lower(), $iname)
#end for
#set $script += "\n"
#######################################
## configuring /etc/network/interfaces
#######################################
#set $script += "### configuring interfaces ###\n"
#set $interfaces_file = "/etc/network/interfaces"
#set $interfaces_dir = "/etc/network/interfaces.d"
#set $script += "echo source %s/* > %s\n" % ($interfaces_dir,$interfaces_file)
#set $script += "mkdir %s\n" % $interfaces_dir
#set $script += "echo auto lo >> %s/ifcfg-lo \n" % $interfaces_dir
#set $script += "echo iface lo inet loopback >> %s/ifcfg-lo\n" % $interfaces_dir
#set $script += "echo >> %s/ifcfg-lo\n" % $interfaces_dir
#for $iname in $ikeys
#set $idata = $interfaces[$iname]
#set $interface_file = "%s/ifcfg-%s" % ($interfaces_dir,$iname)
#set $onboot = $getVar("interface_extra_%s_onboot" % ($iname),"no")
#if $onboot == "yes"
#set $script += "echo auto %s >> %s\n" % ($iname, $interface_file)
#end if
#if $idata.get("static", "0") in ("1", True, "true")
#set $iip = $idata.get("ip_address", "")
#if $iip != ""
#set $script += "echo iface %s inet static >> %s\n" % ($iname, $interface_file)
#set $script += "echo address %s >> %s\n" % ($iip, $interface_file)
#set $inetmask = $idata.get("netmask", "")
#if $inetmask != ""
#set $script += "echo netmask %s >> %s\n" % ($inetmask, $interface_file)
#end if
#else
#set $script += "echo iface %s inet manual >> %s\n" % ($iname, $interface_file)
#set $script += "echo up ip l set %s up >> %s\n" % ($iname, $interface_file)
#set $script += "echo down ip l set %s down >> %s\n" % ($iname, $interface_file)
#end if
#set $nss = ""
#for $ns in $getVar("name_servers", [])
#set $nss += " %s" % $ns
#end for
#set $gateway = $getVar("gateway", "")
#if $gateway != ""
#if $iip !=""
#if $inetmask != ""
#set $network_address = ipaddr.IPv4Network("%s/%s" % ($iip, $inetmask))
#else
#set $network_address = ipaddr.IPv4Network("%s" % $iip)
#end if
#set $gateway_address = ipaddr.IPv4Address($gateway)
#if $gateway_address in $network_address
#set $script += "echo gateway %s >> %s\n" % ($gateway, $interface_file)
#end if
#end if
#end if
#else
#set $script += "echo iface %s inet dhcp >> %s\n" % ($iname, $interface_file)
#end if
#set $script += "echo >> %s\n" % $interface_file
#end for
#set $script += "\n"
#######################################
## configuring /etc/hosts
#######################################
#set $script += "### configuring /etc/hosts ###\n"
#set $hosts_file = "/etc/hosts"
#set $script += "echo > %s\n" % $hosts_file
#set $script += "echo 127.0.0.1 localhost >> %s\n" % $hosts_file
#for $iname in $ikeys
#set $idata = $interfaces[$iname]
#if $idata.get("static", "0") in ("1", True, "true")
#set $iip = $idata.get("ip_address", "")
#if $iip != ""
#set $idnsname = $idata.get("dns_name", "")
#if $idnsname != ""
#set $script += "echo %s %s >> %s\n" % ($iip, $idnsname, $hosts_file)
#end if
#end if
#end if
#end for
#######################################
## configuring domain name
#######################################
#set $script += "### configuring /etc/hosts ###\n"
#set $resolvconf = "/etc/resolv.conf"
#set $resolvhead = "/etc/resolvconf/resolv.conf.d/head"
#set $num_ns_search = $len($name_servers_search)
#if $num_ns_search > 0
#set $domdom = $name_servers_search[0]
#set $script += "echo domain %s >> %s\n" % ($domdom,$resolvconf)
#set $script += "echo domain %s >> %s\n" % ($domdom,$resolvhead)
#end if
#if $name_servers
#for $nameserver in $name_servers
#set $script += "echo nameserver %s >> %s\n" % ($nameserver, $resolvconf)
#set $script += "echo nameserver %s >> %s\n" % ($nameserver, $resolvhead)
#end for
#end if
in-target $late_command.late_command($script, source_method="content") \