I created a zenpack consisting of:
1 IP-Service
and a list of Process-Checkers
The Zenpack shows up as:
[ ] /zport/dmd/Processes/Oracle
[ ] /zport/dmd/Services/IpService/serviceclasses/Oracle-Listener
Exporting this Zenpack leads to the a file consisting of:
inflating: Oracle/__init__.py
inflating: Oracle/objects/objects.xml
with the content shown at the end of the post.
When I try to import the newly exportet Zenpack I get:
Traceback (most recent call last):
File "/opt/zenoss/Products/ZenUtils/zenpack.py", line 201, in ?
zp.run()
File "/opt/zenoss/Products/ZenUtils/zenpack.py", line 37, in run
self.install(packName)
File "/opt/zenoss/Products/ZenUtils/zenpack.py", line 69, in install
module = __import__('Products.' + packName, globals(), {}, [''])
File "/opt/zenoss/Products/Oracle/__init__.py", line 4, in ?
registerDirectory("skins", globals())
File "/opt/zenoss/Products/CMFCore/DirectoryView.py", line 318, in
registerDirectory
self.registerDirectoryByPath(filepath, subdirs, ignore=ignore)
File "/opt/zenoss/Products/CMFCore/DirectoryView.py", line 328, in
registerDirectoryByPath
info = DirectoryInformation(filepath, minimal_fp, ignore=ignore)
File "/opt/zenoss/Products/CMFCore/DirectoryView.py", line 99, in __init__
for entry in _filtered_listdir(self._filepath, ignore=self.ignore):
File "/opt/zenoss/Products/CMFCore/DirectoryView.py", line 66, in
_filtered_listdir
return [ name
OSError: [Errno 2] No such file or directory:
'/opt/zenoss/Products/Oracle/skins'
Ok - it is looking for Skins. But I don't wan't to fidle around with this
manually - any way to convince Zenoss to export a Zenpack with all needed for
an import "by default" ;)
###########################################
Oracle/__init__.py
import Globals
from Products.CMFCore.DirectoryView import registerDirectory
registerDirectory("skins", globals())
from Products.ZenModel.ZenPack import ZenPackBase
class ZenPack(ZenPackBase):
author = 'C.Brem'
organization = 'ANYWHERE COMP'
version = '0.1'
# register any other classes here
Oracle/objects/objects.xml
<?xml version="1.0"?>
<objects>
<!-- ('', 'zport', 'dmd', 'Processes', 'Oracle') -->
<object id='/zport/dmd/Processes/Oracle'
module='Products.ZenModel.OSProcessOrganizer' class='OSProcessOrganizer'>
<tomanycont id='osProcessClasses'>
<object id='Oracle AQ Coordinator' module='Products.ZenModel.OSProcessClass'
class='OSProcessClass'>
<property type="string" id="name" mode="w" >
Oracle AQ Coordinator
</property>
<property type="string" id="regex" mode="w" >
ora_qmnc
</property>
<property type="boolean" id="ignoreParameters" mode="w" >
False
</property>
<property type="int" id="sequence" mode="w" >
7
</property>
</object>
<object id='Oracle Checkpoint process'
module='Products.ZenModel.OSProcessClass' class='OSProcessClass'>
<property type="string" id="name" mode="w" >
Oracle Checkpoint process
</property>
<property type="string" id="regex" mode="w" >
ora_ckpt
</property>
<property type="boolean" id="ignoreParameters" mode="w" >
False
</property>
<property type="int" id="sequence" mode="w" >
1
</property>
</object>
<object id='Oracle DB writer' module='Products.ZenModel.OSProcessClass'
class='OSProcessClass'>
<property type="string" id="name" mode="w" >
Oracle DB writer
</property>
<property type="string" id="regex" mode="w" >
ora_dbw
</property>
<property type="boolean" id="ignoreParameters" mode="w" >
False
</property>
<property type="int" id="sequence" mode="w" >
2
</property>
</object>
<object id='Oracle Listener' module='Products.ZenModel.OSProcessClass'
class='OSProcessClass'>
<property type="string" id="name" mode="w" >
Oracle Listener
</property>
<property type="string" id="regex" mode="w" >
tnslsnr
</property>
<property type="boolean" id="ignoreParameters" mode="w" >
False
</property>
<property type="int" id="sequence" mode="w" >
10
</property>
</object>
<object id='Oracle Log Writer' module='Products.ZenModel.OSProcessClass'
class='OSProcessClass'>
<property type="string" id="name" mode="w" >
Oracle Log Writer
</property>
<property type="string" id="regex" mode="w" >
ora_lgwr
</property>
<property type="boolean" id="ignoreParameters" mode="w" >
False
</property>
<property type="int" id="sequence" mode="w" >
3
</property>
</object>
<object id='Oracle Memory Manager' module='Products.ZenModel.OSProcessClass'
class='OSProcessClass'>
<property type="string" id="name" mode="w" >
Oracle Memory Manager
</property>
<property type="string" id="regex" mode="w" >
ora_mman
</property>
<property type="boolean" id="ignoreParameters" mode="w" >
False
</property>
<property type="int" id="sequence" mode="w" >
4
</property>
</object>
<object id='Oracle Memory Monitor Light'
module='Products.ZenModel.OSProcessClass' class='OSProcessClass'>
<property type="string" id="name" mode="w" >
Oracle Memory Monitor Light
</property>
<property type="string" id="regex" mode="w" >
ora_mmnl
</property>
<property type="boolean" id="ignoreParameters" mode="w" >
False
</property>
<property type="int" id="sequence" mode="w" >
0
</property>
</object>
<object id='Oracle PMON process' module='Products.ZenModel.OSProcessClass'
class='OSProcessClass'>
<property type="string" id="name" mode="w" >
Oracle PMON process
</property>
<property type="string" id="regex" mode="w" >
ora_pmon
</property>
<property type="boolean" id="ignoreParameters" mode="w" >
False
</property>
<property type="int" id="sequence" mode="w" >
5
</property>
</object>
<object id='Oracle PSP Process' module='Products.ZenModel.OSProcessClass'
class='OSProcessClass'>
<property type="string" id="name" mode="w" >
Oracle PSP Process
</property>
<property type="string" id="regex" mode="w" >
ora_psp
</property>
<property type="boolean" id="ignoreParameters" mode="w" >
False
</property>
<property type="int" id="sequence" mode="w" >
6
</property>
</object>
<object id='Oracle RECO Process' module='Products.ZenModel.OSProcessClass'
class='OSProcessClass'>
<property type="string" id="name" mode="w" >
Oracle RECO Process
</property>
<property type="string" id="regex" mode="w" >
ora_reco
</property>
<property type="boolean" id="ignoreParameters" mode="w" >
False
</property>
<property type="int" id="sequence" mode="w" >
8
</property>
</object>
<object id='Oracle SMON Process' module='Products.ZenModel.OSProcessClass'
class='OSProcessClass'>
<property type="string" id="name" mode="w" >
Oracle SMON Process
</property>
<property type="string" id="regex" mode="w" >
ora_smon
</property>
<property type="boolean" id="ignoreParameters" mode="w" >
False
</property>
<property type="int" id="sequence" mode="w" >
9
</property>
</object>
</tomanycont>
</object>
<!-- ('', 'zport', 'dmd', 'Services', 'IpService', 'serviceclasses',
'Oracle-Listener') -->
<object id='/zport/dmd/Services/IpService/serviceclasses/Oracle-Listener'
module='Products.ZenModel.IpServiceClass' class='IpServiceClass'>
<property type="string" id="name" mode="w" >
Oracle-Listener
</property>
<property type="lines" id="serviceKeys" mode="w" >
['tcp_01521']
</property>
<property type="int" id="port" mode="w" >
1521
</property>
<property visible="True" type="boolean" id="zMonitor" >
True
</property>
</object>
</objects>
------------------------
Christian Brem
-------------------- m2f --------------------
Read this topic online here:
http://community.zenoss.com/forums/viewtopic.php?p=8521#8521
-------------------- m2f --------------------
_______________________________________________
zenoss-users mailing list
[email protected]
http://lists.zenoss.org/mailman/listinfo/zenoss-users