[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]

Re: [PATCH 03/22] Use IfcfgFile class to back NetworkDevice objects (#520146)



-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Comments below.

On Tue, 27 Apr 2010, Radek Vykydal wrote:

---
network.py |   59 +++++++++++++++++++++++++++++++++++++++++++++++++++++------
1 files changed, 53 insertions(+), 6 deletions(-)

diff --git a/network.py b/network.py
index a2ca6bd..0a90800 100644
--- a/network.py
+++ b/network.py
@@ -34,7 +34,7 @@ import os
import time
import dbus
from flags import flags
-from simpleconfig import SimpleConfigFile
+from simpleconfig import IfcfgFile

import gettext
_ = lambda x: gettext.ldgettext("anaconda", x)
@@ -45,6 +45,7 @@ log = logging.getLogger("anaconda")
sysconfigDir = "/etc/sysconfig"
netscriptsDir = "%s/network-scripts" % (sysconfigDir)
networkConfFile = "%s/network" % (sysconfigDir)
+ifcfgLogFile = "/tmp/ifcfg.log"

class IPError(Exception):
    pass
@@ -237,7 +238,19 @@ def getActiveNetDevs():
    ret.sort()
    return ret

-class NetworkDevice(SimpleConfigFile):
+class NetworkDevice(IfcfgFile):
+
+    def __init__(self, dir, iface, logfile='/tmp/ifcfg.log'):
+        IfcfgFile.__init__(self, dir, iface)
+        self.logfile = logfile
+        if iface.startswith('ctc'):
+            self.info["TYPE"] = "CTC"

Why 'CTC' over 'ctc'?  Other system tools expect the NETTYPE variable in the
ifcfg file on s390x to contain 'ctc' or 'lcs' or 'qeth' (possibly other
values), so we should probably keep it lowercase.

+
+    def clear(self):
+        IfcfgFile.clear(self)
+        if self.iface.startswith('ctc'):
+            self.info["TYPE"] = "CTC"
+
    def __str__(self):
        s = ""
        s = s + "DEVICE=" + self.info["DEVICE"] + "\n"
@@ -263,10 +276,44 @@ class NetworkDevice(SimpleConfigFile):

        return s

-    def __init__(self, dev):
-        self.info = { "DEVICE" : dev }
-        if dev.startswith('ctc'):
-            self.info["TYPE"] = "CTC"
+    def loadIfcfgFile(self):
+        self.clear()
+        IfcfgFile.read(self)
+
+    def writeIfcfgFile(self, dir=None):
+        IfcfgFile.write(self, dir)
+
+    def log(self, header="\n"):
+        lf = open(self.logfile, 'a')
+        lf.write(header)
+        lf.close()
+        self.log_file()
+        self.log_write_file()
+        self.log_values()
+
+    def log_values(self, header="\n"):
+        lf = open(self.logfile, 'a')
+        lf.write(header)
+        lf.write("== values for file %s\n" % self.path)
+        lf.write(IfcfgFile.__str__(self))
+        lf.close()
+
+    def log_write_file(self, header="\n"):
+        lf = open(self.logfile, 'a')
+        lf.write(header)
+        lf.write("== file to be written for %s\n" % self.path)
+        lf.write(self.__str__())
+        lf.close()
+
+    def log_file(self, header="\n"):
+        f = open(self.path, 'r')
+        lf = open(self.logfile, 'a')
+        lf.write(header)
+        lf.write("== file %s\n" % self.path)
+        lf.write(f.read())
+        lf.close()
+        f.close()
+

class Network:
    def __init__(self):


Ack for the rest.

- -- David Cantrell <dcantrell redhat com>
Red Hat / Honolulu, HI

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.10 (GNU/Linux)

iEYEARECAAYFAkvfiLgACgkQ5hsjjIy1Vkl8vgCfcmyC+PJGcCS3G3fFAwzupIfB
5EAAoM+BYhTukDyGz08ekCyzxErLWoic
=z1ge
-----END PGP SIGNATURE-----


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]