[PATCH master] (v2) Take over dhcp connection by NM for network root (eg nfs) (#883451, #893656)
Vratislav Podzimek
vpodzime at redhat.com
Tue Jan 15 13:43:38 UTC 2013
On Tue, 2013-01-15 at 11:20 +0100, Radek Vykydal wrote:
> We need to pass dhcp lease file to NM's dhclient also in case of
> kickstart installs. For non-kickstart case, this is done in dracut,
> modules.d/45ifcfg/write-ifcfg.sh.
> See dracut's commit 66666c670a462548df4ea4c8069d54b8c309ecf4
> ---
> dracut/parse-kickstart | 14 +++++++++++++-
> 1 file changed, 13 insertions(+), 1 deletion(-)
>
> diff --git a/dracut/parse-kickstart b/dracut/parse-kickstart
> index 333849b..7aeaecd 100755
> --- a/dracut/parse-kickstart
> +++ b/dracut/parse-kickstart
> @@ -13,6 +13,8 @@
>
> import sys, os
> import logging
> +import shutil
> +import uuid
> from pykickstart.parser import KickstartParser, preprocessKickstart
> from pykickstart.version import returnClassForVersion
> from pykickstart.errors import KickstartError
> @@ -267,7 +269,8 @@ def ksnet_to_ifcfg(net, filename=None):
> os.makedirs("/tmp/ifcfg")
> ifcfg['DEVICE'] = dev
> ifcfg['HWADDR'] = readsysfile("/sys/class/net/%s/address" % dev)
> - ifcfg['UUID'] = readsysfile("/proc/sys/kernel/random/uuid")
> + uuid = str(uuid.uuid4())
> + ifcfg['UUID'] = uuid
> # we set real ONBOOT value in anaconda, here
> # we use it to activate devcies by NM on start
> ifcfg['ONBOOT'] = "yes" if net.activate else "no"
> @@ -305,6 +308,15 @@ def ksnet_to_ifcfg(net, filename=None):
>
> # TODO: dhcpclass, ethtool, essid/wepkey/wpakay, etc.
>
> + if net.bootProto == 'dhcp':
> + srcpath = "/tmp/dhclient.%s.lease" % dev
> + dstdir = "/tmp/ifcfg-leases"
> + dstpath = "%s/dhclient-%s-%s.lease" % (dstdir, uuid, dev)
> + if os.path.exists(srcpath):
> + if not os.path.isdir(dstdir):
> + os.makedirs(dstdir)
> + shutil.copyfile(srcpath, dstpath)
> +
> try:
> log.info("writing ifcfg for %s", dev)
> outf = open(filename, "w")
Looks good to me.
--
Vratislav Podzimek
Anaconda Rider | Red Hat, Inc. | Brno - Czech Republic
More information about the anaconda-patches
mailing list