I need help running a python script. I am trying to run Scott's Batch loader
http://www.zenoss.com/community/docs/howtos/scotts-batch-loader I am running it
in /opt/zenoss as the zenoss user.
I get the following error:
File "do-add-devices.py", line 20, in ?
d.setManageIp(m.group('ipAddr'))
NameError: name 'd' is not defined
Here is the script I am trying to use:
#!/usr/bin/env python
import Globals, re, string
from Products.ZenUtils.ZenScriptBase import ZenScriptBase
from transaction import commit
dmd = ZenScriptBase(connect=True).dmd
rexDevInfo =
re.compile(r'^\s*(?P<devname>[^,]*),\s*(?P<devType>[^,]*),\s*(?P<ipAddr>[^,]*),\s*\"(?P<user>[^\"]*)\",\s*\"(?P<pass>[^\"]*)\",\s*\[(?P<g
roups>[^\]]*)\]$')
rexGroups = re.compile(r'^\s*\'(?P<group>[^\']*)\',*\s*(?P<rest>.*)$')
for line in file('devices-to-add.txt'):
m = rexDevInfo.match(line)
devname=m.group('devname')
if(m.group('devType') == 'Linux'):
d = dmd.Devices.Server.Linux.createInstance(devname)
if(m.group('devType') == 'Windows'):
d = dmd.Devices.Server.Windows.createInstance(devname)
d.setManageIp(m.group('ipAddr'))
d.setSystems(m.group('devType'))
d.zWinUser = m.group('user')
d.zWinPassword = m.group('pass')
grplist = []
if(bool(m.group('groups'))):
groups = rexGroups.match(m.group('groups'))
while(bool(groups.group('rest'))):
grplist.append(groups.group('group'))
groups = rexGroups.match(groups.group('rest'))
if(bool(groups.group('group'))):
grplist.append(groups.group('group'))
d.setGroups(grplist)
commit()
dmd.DeviceLoader.loadDevice(devname)
commit()
d=dmd.Devices.findDevice(devname)
d.collectDevice()
commit()
-------------------- m2f --------------------
Read this topic online here:
http://forums.zenoss.com/viewtopic.php?p=34111#34111
-------------------- m2f --------------------
_______________________________________________
zenoss-users mailing list
[email protected]
http://lists.zenoss.org/mailman/listinfo/zenoss-users