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

Reply via email to