[PATCH] (v2) Keep hostname when updating ksdata after GUI network configuration (#866516)

Radek Vykydal rvykydal at redhat.com
Thu Oct 18 12:31:35 UTC 2012


---
 pyanaconda/network.py               |    7 +++++--
 pyanaconda/ui/gui/spokes/network.py |    5 ++++-
 2 files changed, 9 insertions(+), 3 deletions(-)

diff --git a/pyanaconda/network.py b/pyanaconda/network.py
index 112259a..b4f3b16 100644
--- a/pyanaconda/network.py
+++ b/pyanaconda/network.py
@@ -557,11 +557,14 @@ def dracutBootArguments(ifcfg, storage_ipaddr, hostname=None):
 
     return netargs
 
-def kickstartNetworkData(ifcfg, hostname=None):
+def kickstartNetworkData(ifcfg=None, hostname=None):
 
     from pyanaconda.kickstart import NetworkData
     kwargs = {}
 
+    if not ifcfg and hostname:
+        return NetworkData(hostname=hostname, bootProto="")
+
     # ipv4 and ipv6
     if not ifcfg.get("ESSID"):
         kwargs["device"] = ifcfg.iface
@@ -893,5 +896,5 @@ def networkInitialize(ksdata):
 
     if ksdata.network.hostname is None:
         hostname = getHostname()
-        nd = NetworkData(hostname=hostname)
+        nd = kickstartNetworkData(hostname=hostname)
         ksdata.network.network.append(nd)
diff --git a/pyanaconda/ui/gui/spokes/network.py b/pyanaconda/ui/gui/spokes/network.py
index 39b320e..f7cb666 100644
--- a/pyanaconda/ui/gui/spokes/network.py
+++ b/pyanaconda/ui/gui/spokes/network.py
@@ -922,11 +922,14 @@ class NetworkSpoke(NormalSpoke):
         self.network_control_box = NetworkControlBox(self.builder)
 
     def apply(self):
+        hostname = self.data.network.hostname
         self.data.network.network = []
         for dev in self.network_control_box.listed_devices:
             network_data = getKSNetworkData(dev)
             if network_data is not None:
                 self.data.network.network.append(network_data)
+        nd = kickstartNetworkData(hostname=hostname)
+        self.data.network.network.append(nd)
 
     @property
     def completed(self):
@@ -1044,7 +1047,7 @@ def getKSNetworkData(device):
     if ifcfg_suffix:
         device_cfg = NetworkDevice(netscriptsDir, ifcfg_suffix)
         device_cfg.loadIfcfgFile()
-        retval = kickstartNetworkData(device_cfg)
+        retval = kickstartNetworkData(ifcfg=device_cfg)
         if device.get_iface() in getActiveNetDevs():
             retval.activate = True
 
-- 
1.7.4



More information about the anaconda-patches mailing list