Adding/Installing a ZenPack into Zenoss
From SysAdminWiki
Procedure
1. Switch to the zenoss user.
# su zenoss
2. Issue the zenpack --install <zipfile> command. The zip file is downloaded from here.
zenoss@zenoss:~/zenosszenpaks> zenpack --install MySqlMonitor-zenoss--1.1.0-el4.5-i686.zip INFO:zen.ZPLoader:Loading /usr/local/zenoss/Products/MySqlMonitor/objects/objects.xml WARNING:zen.AddToPack:Object /zport/dmd/Events/Perf/DB already exists skipping WARNING:zen.AddToPack:Object /zport/dmd/Manufacturers/MySQL already exists skipping WARNING:zen.AddToPack:Object MyODBC-2.50.39-19 already exists skipping WARNING:zen.AddToPack:Object MyODBC-2.50.39-19.1 already exists skipping WARNING:zen.AddToPack:Object MySQL-python-0.9.2-4 already exists skipping WARNING:zen.AddToPack:Object mysql-3.23.58-16.FC3.1 already exists skipping WARNING:zen.AddToPack:Object mysql-bench-3.23.58-16.FC3.1 already exists skipping WARNING:zen.AddToPack:Object mysql-debuginfo-3.23.58-16.FC3.1 already exists skipping WARNING:zen.AddToPack:Object mysql-devel-3.23.58-13 already exists skipping WARNING:zen.AddToPack:Object mysql-devel-3.23.58-16.FC3.1 already exists skipping WARNING:zen.AddToPack:Object mysql-server-3.23.58-16.FC3.1 already exists skipping WARNING:zen.AddToPack:Object /zport/dmd/Services/IpService/Registered/serviceclasses/mysql already exists skipping INFO:zen.AddToPack:End loading objects INFO:zen.AddToPack:Processing links INFO:zen.AddToPack:Loaded 58 objects into database INFO:zen.HookReportLoader:loading reports from:/usr/local/zenoss/Products/MySqlMonitor/reports
zenoss@atas1:~/zenosszenpaks> zenpack --install Squid.zip INFO:zen.ZPLoader:Loading /usr/local/zenoss/Products/Squid/objects/objects.xml INFO:zen.AddToPack:End loading objects INFO:zen.AddToPack:Processing links INFO:zen.AddToPack:Loaded 93 objects into database INFO:zen.HookReportLoader:loading reports from:/usr/local/zenoss/Products/Squid/reports
- To remove a zenpack use the --remove option.
zenoss@atas1:~/zenosszenpaks> zenpack --remove Squid.zip
Troubleshooting
- Permission errors:
You get something like this:
zenoss@zenoss:~/zenosszenpaks> zenpack --install DnsMonitor-zenoss--1.0.0-el4.5-i686.zip
Traceback (most recent call last):
File "/usr/local/zenoss/Products/ZenUtils/zenpack.py", line 287, in ?
zp.run()
File "/usr/local/zenoss/Products/ZenUtils/zenpack.py", line 38, in run
packName = self.extract(self.options.installPackName)
File "/usr/local/zenoss/Products/ZenUtils/zenpack.py", line 182, in extract
os.makedirs(fullname, 0750)
File "/usr/local/lib/python2.3/os.py", line 154, in makedirs
mkdir(name, mode)
OSError: [Errno 13] Permission denied: '/usr/local/zenoss/Products/DnsMonitor/modeler'
1. First thing check the permissions like its plainly telling you.
# ls -al /usr/local/zenoss/Products/DnsMonitor/
2. You notice its owned by root, most likely cause is someone tried running the zenpack install as root and it failed.
drwxr-x--- 9 root root 4096 Mar 18 09:59 . drwxrwxr-x 31 zenoss users 4096 Mar 18 10:06 .. -rw-r--r-- 1 root root 766 Mar 18 09:59 __init__.py -rw-r--r-- 1 root root 409 Mar 18 09:59 __init__.pyc -rw-r--r-- 1 root root 73 Mar 18 09:59 about.txt drwxr-x--- 2 root root 4096 Mar 18 09:59 daemons drwxr-x--- 2 root root 4096 Mar 18 09:59 datasources drwxr-x--- 2 root root 4096 Mar 18 09:59 migrate drwxr-x--- 3 root root 4096 Mar 18 09:59 modeler drwxr-x--- 2 root root 4096 Mar 18 09:59 objects drwxr-x--- 2 root root 4096 Mar 18 09:59 reports drwxr-x--- 3 root root 4096 Mar 18 09:59 skins
3. Use chown to fix the permissons.
chown -R zenoss:users /usr/local/zenoss/Products/DnsMonitor/
4. Try to reinstall.
zenoss@zenoss:~/zenosszenpaks> zenpack --install DnsMonitor-zenoss--1.0.0-el4.5-i686.zip INFO:zen.ZenPackCmd:Upgrading DnsMonitor INFO:zen.HookReportLoader:loading reports from:/usr/local/zenoss/Products/DnsMonitor/reports
5. Good to go.
