Skip navigation
965 Views 1 Reply Latest reply: Jun 1, 2012 5:15 PM by blewa RSS
blewa Rank: White Belt 6 posts since
May 5, 2011
Currently Being Moderated

Jun 1, 2012 1:55 PM

getDeviceCommands() exception for device

Hello,

I'm having an issue with some of my HTTP and NTP checks against modeled devices in Zenoss.  Here's what I see in zenhub.log right after a full zenoss restart: 

 

2012-06-01 10:44:54,905 INFO zen.ZenHub: Worker reports 2012-06-01 10:44:54,904 ERROR zen.hub: getDeviceCommands() exception for device fully.qualified.domain
Traceback (most recent call last):
  File "/opt/zenoss/Products/ZenHub/services/CommandConfig.py", line 140, in getDataSourceCommands
    cmdinfo = getDeviceCommands(dev)
  File "/opt/zenoss/Products/ZenHub/services/CommandConfig.py", line 88, in getDeviceCommands
    threshs = getComponentCommands(dev, cache, cmds, dev.getDmd())
  File "/opt/zenoss/Products/ZenHub/services/CommandConfig.py", line 75, in getComponentCommands
    cmd.command = ds.getCommand(comp)
  File "/opt/zenoss/ZenPacks/ZenPacks.zenoss.NtpMonitor-2.0.3-py2.6.egg/ZenPacks/zenoss/NtpMonitor/datasources/NtpMonitorDataSource.py", line 93, in getCommand
    cmd = RRDDataSource.RRDDataSource.getCommand(self, context, cmd)
  File "/opt/zenoss/Products/ZenModel/RRDDataSource.py", line 206, in getCommand
    res = compiled(getEngine().getContext(environ))
  File "/opt/zenoss/lib/python/zope/tales/expressions.py", line 261, in __call__
    v = var(econtext)
  File "/opt/zenoss/lib/python/zope/tales/expressions.py", line 217, in __call__
    return self._eval(econtext)
  File "/opt/zenoss/lib/python/Products/PageTemplates/Expressions.py", line 127, in _eval
    ob = self._subexprs[-1](econtext)
  File "/opt/zenoss/lib/python/zope/tales/expressions.py", line 124, in _eval
    ob = self._traverser(ob, element, econtext)
  File "/opt/zenoss/lib/python/Products/PageTemplates/Expressions.py", line 76, in boboAwareZopeTraverse
    object = object.restrictedTraverse(name)
  File "/opt/zenoss/lib/python/OFS/Traversable.py", line 310, in restrictedTraverse
    return self.unrestrictedTraverse(path, default, restricted=True)
  File "/opt/zenoss/lib/python/OFS/Traversable.py", line 293, in unrestrictedTraverse
    raise e
KeyError: 'getDeviceIp()'

 

I'm not sure why it'd fail to get the device's IP.  I'm able to resolve the IP by name (FQDN and short name since the domain is in the domain search path) on the Zenoss server.  The device also shows an IP in the Web UI.

 

Any help would be greatly appreciated!

More Like This

  • Retrieving data ...

Legend

  • Correct Answers - 4 points
  • Helpful Answers - 2 points