git://git.onelab.eu
/
pyplnet.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (parent:
013344e
)
Fix some basics...
author
Daniel Hokka Zakrisson
<dhokka@cs.princeton.edu>
Tue, 7 Dec 2010 21:26:20 +0000
(16:26 -0500)
committer
Daniel Hokka Zakrisson
<dhokka@cs.princeton.edu>
Tue, 7 Dec 2010 21:26:20 +0000
(16:26 -0500)
plnet.py
patch
|
blob
|
history
diff --git
a/plnet.py
b/plnet.py
index
b817463
..
b79f916
100755
(executable)
--- a/
plnet.py
+++ b/
plnet.py
@@
-60,8
+60,8
@@
def InitInterfaces(logger, plc, data, root="", files_only=False, program="NodeMa
interfaces.reverse()
for interface in interfaces:
interfaces.reverse()
for interface in interfaces:
- logger.verbose('net:InitInterfaces interface %d: %r'%(device_id,interface))
- logger.verbose('net:InitInterfaces macs = %r' % macs)
+
logger.verbose('net:InitInterfaces interface %d: %r'%(device_id,interface))
+
logger.verbose('net:InitInterfaces macs = %r' % macs)
logger.verbose('net:InitInterfaces ips = %r' % ips)
# Get interface name preferably from MAC address, falling back
# on IP address.
logger.verbose('net:InitInterfaces ips = %r' % ips)
# Get interface name preferably from MAC address, falling back
# on IP address.
@@
-74,9
+74,9
@@
def InitInterfaces(logger, plc, data, root="", files_only=False, program="NodeMa
else:
orig_ifname = None
else:
orig_ifname = None
- if orig_ifname:
+
if orig_ifname:
logger.verbose('net:InitInterfaces orig_ifname = %s' % orig_ifname)
logger.verbose('net:InitInterfaces orig_ifname = %s' % orig_ifname)
-
+
details = {}
details['ONBOOT']='yes'
details['USERCTL']='no'
details = {}
details['ONBOOT']='yes'
details['USERCTL']='no'
@@
-106,18
+106,16
@@
def InitInterfaces(logger, plc, data, root="", files_only=False, program="NodeMa
if not interface['is_primary']:
details['DHCLIENTARGS'] = "-R subnet-mask"
if not interface['is_primary']:
details['DHCLIENTARGS'] = "-R subnet-mask"
- try:
- plc.GetInterfaceTags()
+ if 'interface_tag_ids' in interface:
version = 4.3
version = 4.3
- except AttributeError:
- version = 4.2
-
- if version == 4.3:
interface_tag_ids = "interface_tag_ids"
interface_tag_id = "interface_tag_id"
interface_tag_ids = "interface_tag_ids"
interface_tag_id = "interface_tag_id"
+ name_key = "tagname"
else:
else:
+ version = 4.2
interface_tag_ids = "nodenetwork_setting_ids"
interface_tag_id = "nodenetwork_setting_id"
interface_tag_ids = "nodenetwork_setting_ids"
interface_tag_id = "nodenetwork_setting_id"
+ name_key = "name"
if len(interface[interface_tag_ids]) > 0:
try:
if len(interface[interface_tag_ids]) > 0:
try:
@@
-127,16
+125,11
@@
def InitInterfaces(logger, plc, data, root="", files_only=False, program="NodeMa
settings = plc.GetNodeNetworkSettings({interface_tag_id:interface[interface_tag_ids]})
except:
logger.log("net:InitInterfaces FATAL: failed call GetInterfaceTags({'interface_tag_id':{%s})"% \
settings = plc.GetNodeNetworkSettings({interface_tag_id:interface[interface_tag_ids]})
except:
logger.log("net:InitInterfaces FATAL: failed call GetInterfaceTags({'interface_tag_id':{%s})"% \
- interface[
'interface_tag_ids'
])
+ interface[
interface_tag_ids
])
failedToGetSettings = True
continue # on to the next interface
for setting in settings:
failedToGetSettings = True
continue # on to the next interface
for setting in settings:
- # to explicitly set interface name
- name_key = "name"
- if version == 4.3:
- name_key = "tagname"
-
settingname = setting[name_key].upper()
if settingname in ('IFNAME','ALIAS','CFGOPTIONS','DRIVER'):
details[settingname]=setting['value']
settingname = setting[name_key].upper()
if settingname in ('IFNAME','ALIAS','CFGOPTIONS','DRIVER'):
details[settingname]=setting['value']
@@
-181,19
+174,22
@@
def InitInterfaces(logger, plc, data, root="", files_only=False, program="NodeMa
logger.log("net:InitInterfaces WARNING: interface alias (%s) not matched to an interface"% details['ALIAS'])
device_id -= 1
else:
logger.log("net:InitInterfaces WARNING: interface alias (%s) not matched to an interface"% details['ALIAS'])
device_id -= 1
else:
- if ('IFNAME' not in details) and not orig_ifname:
- ifname="eth%d" % (device_id-1)
- # should check if $ifname is an eth already defines
+ if 'IFNAME' in details:
+ ifname = details['IFNAME']
+ device_id -= 1
+ elif orig_ifname:
+ ifname = orig_ifname
+ device_id -= 1
+ else:
+ while True:
+ ifname="eth%d" % (device_id-1)
+ if ifname not in devices_map:
+ break
+ device_id += 1
if os.path.exists("%s/ifcfg-%s"%(sysconfig,ifname)):
logger.log("net:InitInterfaces WARNING: possibly blowing away %s configuration"%ifname)
if os.path.exists("%s/ifcfg-%s"%(sysconfig,ifname)):
logger.log("net:InitInterfaces WARNING: possibly blowing away %s configuration"%ifname)
- else:
- if ('IFNAME' not in details) and orig_ifname:
- ifname = orig_ifname
- else:
- ifname = details['IFNAME']
- device_id -= 1
devices_map[ifname] = details
devices_map[ifname] = details
-
+ device_id += 1
m = modprobe.Modprobe()
try:
m.input("%s/etc/modprobe.conf" % root)
m = modprobe.Modprobe()
try:
m.input("%s/etc/modprobe.conf" % root)
@@
-286,7
+282,7
@@
def InitInterfaces(logger, plc, data, root="", files_only=False, program="NodeMa
# compare whether two files are the same
def comparefiles(a,b):
try:
# compare whether two files are the same
def comparefiles(a,b):
try:
- logger.verbose("net:InitInterfaces comparing %s with %s" % (a,b))
+
logger.verbose("net:InitInterfaces comparing %s with %s" % (a,b))
if not os.path.exists(a): return False
fb = open(a)
buf_a = fb.read()
if not os.path.exists(a): return False
fb = open(a)
buf_a = fb.read()