make tags ; no svn-keywords
[pyplnet.git] / plnet.py
index 2aee4ec..129e5ba 100755 (executable)
--- a/plnet.py
+++ b/plnet.py
@@ -1,11 +1,11 @@
 #!/usr/bin/python /usr/bin/plcsh
-# $Id$
 
 import os
 import socket
 import time
 import tempfile
 import errno
+import struct
 
 import sioc
 import modprobe
@@ -43,7 +43,7 @@ def InitInterfaces(logger, plc, data, root="", files_only=False, program="NodeMa
     failedToGetSettings = False
 
     # NOTE: GetInterfaces/NodeNetworks does not necessarily order the interfaces
-    # returned.  Because 'interface'is decremented as each interface is processed,
+    # returned.  Because 'interface' is decremented as each interface is processed,
     # by the time is_primary=True (primary) interface is reached, the device
     # "eth%s" % interface, is not eth0.  But, something like eth-4, or eth-12.
     # This code sorts the interfaces, placing is_primary=True interfaces first.  
@@ -265,8 +265,8 @@ def InitInterfaces(logger, plc, data, root="", files_only=False, program="NodeMa
         
         # print the configuration values
         for (key, val) in details.iteritems():
-            if key not in ('IFNAME','ALIAS','CFGOPTIONS','DRIVER'):
-                f.write('%s=%s\n' % (key, val))
+            if key not in ('IFNAME','ALIAS','CFGOPTIONS','DRIVER','GATEWAY'):
+                f.write('%s="%s"\n' % (key, val))
 
         # print the configuration specific option values (if any)
         if 'CFGOPTIONS' in details:
@@ -279,7 +279,6 @@ def InitInterfaces(logger, plc, data, root="", files_only=False, program="NodeMa
                 val=val.strip()
                 f.write('%s="%s"\n' % (key,val))
         f.close()
-        os.close(fd)
 
         # compare whether two files are the same
         def comparefiles(a,b):
@@ -311,9 +310,8 @@ def InitInterfaces(logger, plc, data, root="", files_only=False, program="NodeMa
             os.close(fd)
             rule_dest = "%s/rule-%s" % (sysconfig, dev)
             if not comparefiles(rule_tmpnam, rule_dest):
-                os.unlink(rule_dest)
                 os.rename(rule_tmpnam, rule_dest)
-                os.chmod(0644, rule_dest)
+                os.chmod(rule_dest, 0644)
                 src_route_changed = True
             else:
                 os.unlink(rule_tmpnam)
@@ -331,9 +329,8 @@ def InitInterfaces(logger, plc, data, root="", files_only=False, program="NodeMa
             os.close(fd)
             route_dest = "%s/route-%s" % (sysconfig, dev)
             if not comparefiles(route_tmpnam, route_dest):
-                os.unlink(route_dest)
                 os.rename(route_tmpnam, route_dest)
-                os.chmod(0644, route_dest)
+                os.chmod(route_dest, 0644)
                 src_route_changed = True
             else:
                 os.unlink(route_tmpnam)
@@ -412,6 +409,7 @@ if __name__ == "__main__":
                       dest="program", default="plnet")
     (options, args) = parser.parse_args()
     if len(args) != 1 or options.root is None:
+        print sys.argv
         print >>sys.stderr, "Missing root or node_id"
         parser.print_help()
         sys.exit(1)