So I did some digging and I've found some interesting stuff going on.

First off I try to view the "Templates" tab from my custom plugins view skin.

I get the error below


Code:
 Type: AttributeError
Value: isEditable

Traceback (innermost last):

    * Module ZPublisher.Publish, line 114, in publish
    * Module ZPublisher.mapply, line 88, in mapply
    * Module ZPublisher.Publish, line 40, in call_object
    * Module Shared.DC.Scripts.Bindings, line 311, in __call__
    * Module Shared.DC.Scripts.Bindings, line 348, in _bindAndExec
    * Module Products.CMFCore.FSPageTemplate, line 195, in _exec
    * Module Products.CMFCore.FSPageTemplate, line 134, in pt_render
    * Module Products.PageTemplates.PageTemplate, line 104, in pt_render
      <FSPageTemplate at /zport/objTemplates used for 
/zport/dmd/Devices/SAN/Pillar/devices/pilot1/PillarLUN/pillartest_002>
    * Module TAL.TALInterpreter, line 206, in __call__
    * Module TAL.TALInterpreter, line 250, in interpret
    * Module TAL.TALInterpreter, line 711, in do_useMacro
    * Module TAL.TALInterpreter, line 250, in interpret
    * Module TAL.TALInterpreter, line 426, in do_optTag_tal
    * Module TAL.TALInterpreter, line 411, in do_optTag
    * Module TAL.TALInterpreter, line 406, in no_tag
    * Module TAL.TALInterpreter, line 250, in interpret
    * Module TAL.TALInterpreter, line 711, in do_useMacro
    * Module TAL.TALInterpreter, line 250, in interpret
    * Module TAL.TALInterpreter, line 426, in do_optTag_tal
    * Module TAL.TALInterpreter, line 411, in do_optTag
    * Module TAL.TALInterpreter, line 406, in no_tag
    * Module TAL.TALInterpreter, line 250, in interpret
    * Module TAL.TALInterpreter, line 734, in do_defineSlot
    * Module TAL.TALInterpreter, line 250, in interpret
    * Module TAL.TALInterpreter, line 426, in do_optTag_tal
    * Module TAL.TALInterpreter, line 411, in do_optTag
    * Module TAL.TALInterpreter, line 406, in no_tag
    * Module TAL.TALInterpreter, line 250, in interpret
    * Module TAL.TALInterpreter, line 734, in do_defineSlot
    * Module TAL.TALInterpreter, line 250, in interpret
    * Module TAL.TALInterpreter, line 426, in do_optTag_tal
    * Module TAL.TALInterpreter, line 411, in do_optTag
    * Module TAL.TALInterpreter, line 406, in no_tag
    * Module TAL.TALInterpreter, line 250, in interpret
    * Module TAL.TALInterpreter, line 690, in do_defineMacro
    * Module TAL.TALInterpreter, line 250, in interpret
    * Module TAL.TALInterpreter, line 426, in do_optTag_tal
    * Module TAL.TALInterpreter, line 411, in do_optTag
    * Module TAL.TALInterpreter, line 406, in no_tag
    * Module TAL.TALInterpreter, line 250, in interpret
    * Module TAL.TALInterpreter, line 711, in do_useMacro
    * Module TAL.TALInterpreter, line 250, in interpret
    * Module TAL.TALInterpreter, line 426, in do_optTag_tal
    * Module TAL.TALInterpreter, line 411, in do_optTag
    * Module TAL.TALInterpreter, line 406, in no_tag
    * Module TAL.TALInterpreter, line 250, in interpret
    * Module TAL.TALInterpreter, line 734, in do_defineSlot
    * Module TAL.TALInterpreter, line 250, in interpret
    * Module TAL.TALInterpreter, line 426, in do_optTag_tal
    * Module TAL.TALInterpreter, line 411, in do_optTag
    * Module TAL.TALInterpreter, line 406, in no_tag
    * Module TAL.TALInterpreter, line 250, in interpret
    * Module TAL.TALInterpreter, line 653, in do_loop_tal
    * Module TAL.TALInterpreter, line 250, in interpret
    * Module TAL.TALInterpreter, line 426, in do_optTag_tal
    * Module TAL.TALInterpreter, line 411, in do_optTag
    * Module TAL.TALInterpreter, line 406, in no_tag
    * Module TAL.TALInterpreter, line 250, in interpret
    * Module TAL.TALInterpreter, line 477, in do_setLocal_tal
    * Module Products.PageTemplates.TALES, line 221, in evaluate
      URL: file:ZenModel/skins/zenmodel/objTemplates.pt
      Line 35, Column 4
      Expression: <PythonExpr temp.isEditable(here)>
      Names:

      {'container': <ZentinelPortal at /zport>,
       'context': <PillarLUN at 
/zport/dmd/Devices/SAN/Pillar/devices/pilot1/PillarLUN/pillartest_002>,
       'default': <Products.PageTemplates.TALES.Default instance at 0xb74a49ac>,
       'here': <PillarLUN at 
/zport/dmd/Devices/SAN/Pillar/devices/pilot1/PillarLUN/pillartest_002>,
       'loop': <Products.PageTemplates.TALES.SafeMapping object at 0x9c3c96c>,
       'modules': <Products.PageTemplates.ZRPythonExpr._SecureModuleImporter 
instance at 0xb74aaa0c>,
       'nothing': None,
       'options': {'args': ()},
       'repeat': <Products.PageTemplates.TALES.SafeMapping object at 0x9c3c96c>,
       'request': <HTTPRequest, 
URL=http://zenoss.neteng.polk.com:8080/zport/dmd/Devices/SAN/Pillar/devices/pilot1/PillarLUN/pillartest_002/objTemplates>,
       'root': <Application at >,
       'template': <FSPageTemplate at /zport/objTemplates used for 
/zport/dmd/Devices/SAN/Pillar/devices/pilot1/PillarLUN/pillartest_002>,
       'traverse_subpath': [],
       'user': admin}

    * Module Products.PageTemplates.ZRPythonExpr, line 47, in __call__
      __traceback_info__: temp.isEditable(here)
    * Module Python expression "temp.isEditable(here)", line 1, in <expression>

AttributeError: isEditable



Now this "invalid" object which zenoss thinks is a template is whats throwing 
these zenhub errors when zencommand tries to fetch the list of commands.

So this error is in Zenhub

Code:

2008-06-05 11:05:39 ERROR zenhub: device pilot1
Traceback (most recent call last):
File "/usr/local/zenoss/Products/ZenHub/services/CommandConfig.py", line 39, in 
getDataSourceCommands
cmdinfo = dev.getDataSourceCommands()
File "/usr/local/zenoss/Products/ZenModel/Device.py", line 652, in 
getDataSourceCommands
c, t = o.getDataSourceCommands()
File "/usr/local/zenoss/Products/ZenModel/RRDView.py", line 332, in 
getDataSourceCommands
dataSources = templ.getRRDDataSources('COMMAND')
AttributeError: getRRDDataSources





Now I started digging around with dmd and came up with this

Here I will drill down to the actual "PillarLUN" relation and show you the 
invalid template which is actually a relation being returned from 
getRRDTemplates()

yet on my functional relationship "PillarFile" things work as expected. The 
difference being that getRRDTemplates() does not return a relation but instead 
the template.


Code:
>>> MyDevice = find("pilot1")
>>> SubObjects = MyDevice.getSubObjects()
>>> for subObject in SubObjects:
...     if subObject.id == "PillarLUN":
...         Relation = subObject
... 
>>> Relation
<ToManyContRelationship at 
/zport/dmd/Devices/SAN/Pillar/devices/pilot1/PillarLUN>
>>> Relation.objectValuesAll()
[<PillarLUN at 
/zport/dmd/Devices/SAN/Pillar/devices/pilot1/PillarLUN/pillartest_001>, 
<PillarLUN at 
/zport/dmd/Devices/SAN/Pillar/devices/pilot1/PillarLUN/pillartest_002>, 
<PillarLUN at 
/zport/dmd/Devices/SAN/Pillar/devices/pilot1/PillarLUN/test001_000>]
>>> Relation.objectValuesAll()[0].getRRDTemplates()
[<ToManyContRelationship at 
/zport/dmd/Devices/SAN/Pillar/devices/pilot1/PillarLUN used for 
/zport/dmd/Devices/SAN/Pillar/devices/pilot1/PillarLUN/pillartest_001>]



And here is the functional relation where clicking "Templates" doesnt throw UI 
errors.

Code:

>>> MyDevice = find("pilot1")
>>> SubObjects = MyDevice.getSubObjects()
>>> for subObject in SubObjects:
...     if subObject.id == "PillarFile":
...         Relation = subObject
... 
>>> Relation
<ToManyContRelationship at 
/zport/dmd/Devices/SAN/Pillar/devices/pilot1/PillarFile>
>>> Relation.objectValuesAll()
[<PillarFilesystem at 
/zport/dmd/Devices/SAN/Pillar/devices/pilot1/PillarFile/CIFS-TEST>, 
<PillarFilesystem at 
/zport/dmd/Devices/SAN/Pillar/devices/pilot1/PillarFile/ftp-qa>, 
<PillarFilesystem at 
/zport/dmd/Devices/SAN/Pillar/devices/pilot1/PillarFile/ftp-t-001>]
>>> Relation.objectValuesAll()[0].getRRDTemplates()
[<RRDTemplate at /zport/dmd/Devices/SAN/Pillar/rrdTemplates/PillarFilesystem>]




I think this is a Zenoss bug..... Tell me what you think. Working on a fix 
currently.




-------------------- m2f --------------------

Read this topic online here:
http://community.zenoss.com/forums/viewtopic.php?p=20936#20936

-------------------- m2f --------------------



_______________________________________________
zenoss-users mailing list
[email protected]
http://lists.zenoss.org/mailman/listinfo/zenoss-users

Reply via email to