X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=plnet.py;h=129e5bad09438c5da7351395403ae57b6f16ddfc;hb=b6b71094bb22b2ae358fb6e65396df9b151c3cdc;hp=2aee4ec6388ec75df707fd9e67edbf1aa87fa97e;hpb=a8363e940f827d613b687592558898b77bcd9a64;p=pyplnet.git diff --git a/plnet.py b/plnet.py index 2aee4ec..129e5ba 100755 --- 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)