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

Reply via email to