[master 1/1] Don't set BOOTPROTO= when it isn't set

josefbacik installerbot-noreply at redhat.com
Mon Oct 19 17:23:12 UTC 2015


From: Josef Bacik <jbacik at fb.com>

BOOTPROTO= is ipv4 specific, so if we don't have an ipv4 configuration this just
confuses network manager.  With the fix to pykickstart we no longer set
net.bootProto if we haven't specified one, so don't write out a blank one to the
ifcfg script.

Signed-off-by: Josef Bacik <jbacik at fb.com>
---
 dracut/parse-kickstart                     |  3 ++-
 tests/dracut_tests/parse-kickstart_test.py | 16 ++++++++++++++++
 2 files changed, 18 insertions(+), 1 deletion(-)

diff --git a/dracut/parse-kickstart b/dracut/parse-kickstart
index d9c66d3..7624c3a 100755
--- a/dracut/parse-kickstart
+++ b/dracut/parse-kickstart
@@ -414,7 +414,8 @@ def ksnet_to_ifcfg(net, filename=None):
     add_s390_settings(dev, ifcfg)
 
     # dhcp etc.
-    ifcfg['BOOTPROTO'] = net.bootProto
+    if net.bootProto != "":
+        ifcfg['BOOTPROTO'] = net.bootProto
     if net.bootProto == 'static':
         ifcfg['IPADDR'] = net.ip
         ifcfg['NETMASK'] = net.netmask
diff --git a/tests/dracut_tests/parse-kickstart_test.py b/tests/dracut_tests/parse-kickstart_test.py
index 5f8f8dd..81c6fc0 100644
--- a/tests/dracut_tests/parse-kickstart_test.py
+++ b/tests/dracut_tests/parse-kickstart_test.py
@@ -234,6 +234,22 @@ def network_bridge_test(self):
             self.assertEqual(bridge_lines[5], "TYPE=Ethernet\n", bridge_lines)
             self.assertTrue(bridge_lines[6].startswith("UUID="), bridge_lines)
 
+    def network_ipv6_only_test(self):
+        with tempfile.NamedTemporaryFile(mode="w+t") as ks_file:
+            ks_file.write("""network --noipv4 --hostname=blah.test.com --ipv6=1:2:3:4:5:6:7:8 --device lo --nameserver=1:1:1:1::,2:2:2:2::""")
+            ks_file.flush()
+            lines = self.execParseKickstart(ks_file.name)
+
+            ifcfg_lines = sorted(open(self.tmpdir+"/ifcfg/ifcfg-lo").readlines())
+            self.assertEqual(ifcfg_lines[1], "DEVICE=lo\n", ifcfg_lines)
+            self.assertEqual(ifcfg_lines[2], "DNS1=1:1:1:1::\n", ifcfg_lines)
+            self.assertEqual(ifcfg_lines[3], "DNS2=2:2:2:2::\n", ifcfg_lines)
+            self.assertEqual(ifcfg_lines[4], "IPV6ADDR=1:2:3:4:5:6:7:8\n", ifcfg_lines)
+            self.assertEqual(ifcfg_lines[5], "IPV6INIT=yes\n", ifcfg_lines)
+            self.assertEqual(ifcfg_lines[6], "IPV6_AUTOCONF=no\n", ifcfg_lines)
+            self.assertEqual(ifcfg_lines[7], "ONBOOT=yes\n", ifcfg_lines)
+            self.assertTrue(ifcfg_lines[8].startswith("UUID="), ifcfg_lines)
+
     def network_vlanid_test(self):
         with tempfile.NamedTemporaryFile(mode="w+t") as ks_file:
             ks_file.write("""network --device=link --bootproto=dhcp --activate


-- 
To view this commit on github, visit https://github.com/rhinstaller/anaconda/commit/39269c7e87422490919b496b905093525ab5680e


More information about the anaconda-patches mailing list