|
Harald Hoyer |
ee76a0 |
From 66666c670a462548df4ea4c8069d54b8c309ecf4 Mon Sep 17 00:00:00 2001
|
|
Harald Hoyer |
ee76a0 |
From: Will Woods <wwoods@redhat.com>
|
|
Harald Hoyer |
ee76a0 |
Date: Wed, 7 Mar 2012 17:21:54 -0500
|
|
Harald Hoyer |
ee76a0 |
Subject: [PATCH] write-ifcfg.sh: add UUID=.. and save the lease files with
|
|
Harald Hoyer |
ee76a0 |
the same uuid
|
|
Harald Hoyer |
ee76a0 |
|
|
Harald Hoyer |
ee76a0 |
As described in https://bugzilla.redhat.com/show_bug.cgi?id=541410#c2,
|
|
Harald Hoyer |
ee76a0 |
if you want NetworkManager to take over an interface that you're using
|
|
Harald Hoyer |
ee76a0 |
for NFS root (or other network root device), you need to:
|
|
Harald Hoyer |
ee76a0 |
|
|
Harald Hoyer |
ee76a0 |
a) set UUID=<uuid> in ifcfg-<iface>, and
|
|
Harald Hoyer |
ee76a0 |
b) save the lease file as /var/lib/dhclient-<uuid>-<iface>.lease
|
|
Harald Hoyer |
ee76a0 |
|
|
Harald Hoyer |
ee76a0 |
This patch should make write-ifcfg handle both these things.
|
|
Harald Hoyer |
ee76a0 |
---
|
|
Harald Hoyer |
ee76a0 |
modules.d/45ifcfg/write-ifcfg.sh | 7 +++++++
|
|
Harald Hoyer |
ee76a0 |
1 files changed, 7 insertions(+), 0 deletions(-)
|
|
Harald Hoyer |
ee76a0 |
|
|
Harald Hoyer |
ee76a0 |
diff --git a/modules.d/45ifcfg/write-ifcfg.sh b/modules.d/45ifcfg/write-ifcfg.sh
|
|
Harald Hoyer |
ee76a0 |
index 0f431e3..fe986df 100755
|
|
Harald Hoyer |
ee76a0 |
--- a/modules.d/45ifcfg/write-ifcfg.sh
|
|
Harald Hoyer |
ee76a0 |
+++ b/modules.d/45ifcfg/write-ifcfg.sh
|
|
Harald Hoyer |
ee76a0 |
@@ -18,11 +18,13 @@ if [ -e /tmp/bridge.info ]; then
|
|
Harald Hoyer |
ee76a0 |
fi
|
|
Harald Hoyer |
ee76a0 |
|
|
Harald Hoyer |
ee76a0 |
mkdir -m 0755 -p /tmp/ifcfg/
|
|
Harald Hoyer |
ee76a0 |
+mkdir -m 0755 -p /tmp/ifcfg-leases/
|
|
Harald Hoyer |
ee76a0 |
|
|
Harald Hoyer |
ee76a0 |
for netif in $IFACES ; do
|
|
Harald Hoyer |
ee76a0 |
# bridge?
|
|
Harald Hoyer |
ee76a0 |
unset bridge
|
|
Harald Hoyer |
ee76a0 |
unset bond
|
|
Harald Hoyer |
ee76a0 |
+ uuid=$(cat /proc/sys/kernel/random/uuid)
|
|
Harald Hoyer |
ee76a0 |
if [ "$netif" = "$bridgename" ]; then
|
|
Harald Hoyer |
ee76a0 |
bridge=yes
|
|
Harald Hoyer |
ee76a0 |
elif [ "$netif" = "$bondname" ]; then
|
|
Harald Hoyer |
ee76a0 |
@@ -35,10 +37,12 @@ for netif in $IFACES ; do
|
|
Harald Hoyer |
ee76a0 |
echo "DEVICE=$netif"
|
|
Harald Hoyer |
ee76a0 |
echo "ONBOOT=yes"
|
|
Harald Hoyer |
ee76a0 |
echo "NETBOOT=yes"
|
|
Harald Hoyer |
ee76a0 |
+ echo "UUID=$uuid"
|
|
Harald Hoyer |
ee76a0 |
if [ -f /tmp/net.$netif.lease ]; then
|
|
Harald Hoyer |
ee76a0 |
strstr "$ip" '*:*:*' &&
|
|
Harald Hoyer |
ee76a0 |
echo "DHCPV6C=yes"
|
|
Harald Hoyer |
ee76a0 |
echo "BOOTPROTO=dhcp"
|
|
Harald Hoyer |
ee76a0 |
+ cp /tmp/net.$netif.lease /tmp/ifcfg-leases/dhclient-$uuid-$netif.lease
|
|
Harald Hoyer |
ee76a0 |
else
|
|
Harald Hoyer |
ee76a0 |
echo "BOOTPROTO=none"
|
|
Harald Hoyer |
ee76a0 |
# If we've booted with static ip= lines, the override file is there
|
|
Harald Hoyer |
ee76a0 |
@@ -135,9 +139,12 @@ done
|
|
Harald Hoyer |
ee76a0 |
|
|
Harald Hoyer |
ee76a0 |
# Pass network opts
|
|
Harald Hoyer |
ee76a0 |
mkdir -m 0755 -p /run/initramfs/state/etc/sysconfig/network-scripts
|
|
Harald Hoyer |
ee76a0 |
+mkdir -m 0755 -p /run/initramfs/state/var/lib/dhclient
|
|
Harald Hoyer |
ee76a0 |
echo "files /etc/sysconfig/network-scripts" >> /run/initramfs/rwtab
|
|
Harald Hoyer |
ee76a0 |
+echo "files /var/lib/dhclient" >> /run/initramfs/rwtab
|
|
Harald Hoyer |
ee76a0 |
{
|
|
Harald Hoyer |
ee76a0 |
cp /tmp/net.* /run/initramfs/
|
|
Harald Hoyer |
ee76a0 |
cp /tmp/net.$netif.resolv.conf /run/initramfs/state/etc/
|
|
Harald Hoyer |
ee76a0 |
cp -a -t /run/initramfs/state/etc/sysconfig/network-scripts/ /tmp/ifcfg/*
|
|
Harald Hoyer |
ee76a0 |
+ cp /tmp/ifcfg-leases/* /run/initramfs/state/var/lib/dhclient
|
|
Harald Hoyer |
ee76a0 |
} > /dev/null 2>&1
|