X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=plnet.py;h=91479da2f151fbfd01fb10ca6d4258699f7fa6ee;hb=1b94abf88f49fe92146b3af4eaf0f7c5a4d2fb11;hp=06ac3d6cd0319dc7200a2af00c49f9d291a87fb4;hpb=954d2957572465fcf41ccf8482d8e9f91a2d99c0;p=pyplnet.git diff --git a/plnet.py b/plnet.py index 06ac3d6..91479da 100755 --- a/plnet.py +++ b/plnet.py @@ -23,6 +23,7 @@ def InitInterfaces(logger, plc, data, root="", files_only=False, program="NodeMa interfaces = {} interface = 1 hostname = data.get('hostname',socket.gethostname()) + gateway = None networks = data['networks'] failedToGetSettings = False for network in networks: @@ -55,6 +56,8 @@ def InitInterfaces(logger, plc, data, root="", files_only=False, program="NodeMa inter['BOOTPROTO'] = "static" inter['IPADDR'] = network['ip'] inter['NETMASK'] = network['netmask'] + if network['is_primary']: + gateway = network['gateway'] elif network['method'] == "dhcp": inter['BOOTPROTO'] = "dhcp" @@ -183,12 +186,19 @@ def InitInterfaces(logger, plc, data, root="", files_only=False, program="NodeMa if deletedSomething: time.sleep(2) - # Process ifcg-$dev changes / additions + # Write network configuration file + networkconf = file("%s/etc/sysconfig/network", "w") + networkconf.write("NETWORKING=yes\nHOSTNAME=%s\n" % hostname) + if gateway is not None: + networkconf.write("GATEWAY=%s\n" % gateway) + networkconf.close() + + # Process ifcfg-$dev changes / additions newdevs = [] for (dev, inter) in interfaces.iteritems(): (fd, tmpnam) = tempfile.mkstemp(dir=sysconfig) f = os.fdopen(fd, "w") - f.write("# Autogenerated by NodeManager/net.py.... do not edit!\n") + f.write("# Autogenerated by pyplnet... do not edit!\n") if 'DRIVER' in inter: f.write("# using %s driver for device %s\n" % (inter['DRIVER'],dev)) f.write('DEVICE="%s"\n' % dev)