Sorry for the confusion. Our ZenPack server is running 4.2.5. I tried to upgrade to Twisted 16.1.1, but it was complaining about missing a plugin. We are looking to migrate to another server for ZP development after this is done.
Do you know if there's anything published on how to make a 4.2.5 server to develop ZPs? The only thing I found is this, and it's for 5.X+ (possibly only .X):
Are you serious about upgrading the Zenoss Python? I thought you were opposed to it. Maybe I understood you wrong. The notes from my upgrade are below. I think I had to create some directories under /opt/zenoss as they were all linked previously.
Let me know if you try this and run into any issues.
Note: Upgrading Python higher than 2.7.10 required updating some other packages.
sudo yum install -y zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gdbm-devel db4-devel libpcap-devel xz-devel
Subject: |
RE: Custom ZenPack causing erratic data collection for other ZenPacks |
Author: |
Laurent Hemeryck |
Posted: |
2020-04-22 03:43 |
Hello Larry,
You don't need anything specific for a Development Zenoss 4.x. Just a Core edition, running on a single-hsot should be sufficient. The specs of the server don't need to be very high. Just follow the standard install procedure. After that, I have some recommandations:
- install just the ZenPacks you need
- remove the ZenPacks you don't need (be careful about this one, don't forget any dependency)
- Simply add the monitoring of the Zenoss server, just one device
- Run the zentoolbox checks and fix any possible error
- take a full backup or snapshot of the instance when it's running cleanly and correctly. So you can revert to this state whenever you have finished the development of a ZenPack or when you have messed up during the development. With Zenoss 5.X or 6.x, this is very easy, because you have a snapshot command within serviced.
- never monitor a ton of devices
Otherwise, in my environment, I'm not developing directly on the server. I'm using PyCharm on my laptop. I can push my code in a git repo and my code is also automatically synchronized with the code on the server, through SSH. This works, of course, with Zenoss 4.x and higher.
However, I would say that if you can upgrade to Zenoss 6.x, I would do it. All the new ZenPacks are only supported on 6.x. However, the migration effort is very high.
I would like to upgrade Python to Python 3.7 or 3.8, but I won't do it. Same for Twisted. I think it's more important to have a stable and supported environment rather than the latest release. My concerns with Python 2.7 is that there won't be any new patch now (final release 2.7.18 on 20/04/2020). So, what will happen with possible security issues ? How will they be fixed ? Secondly, it's a bit annoying to still code in Python 2.x when you're also used to Python 3.x.
Cheers,
Laurent
------------------------------
Laurent Hemeryck
Monitoring Engineer
FedNot
------------------------------
Subject: |
RE: Custom ZenPack causing erratic data collection for other ZenPacks |
Author: |
Jane Curry |
Posted: |
2020-04-22 03:53 |
Hi Larry,
Do you know about the ZenPack Developers' Guide that i wrote?
https://github.com/ZenossDevGuide/DevGuide .
I find development in a post-4.2.5 environment just too tedious and hard. I have successfully developed several ZenPacks in 4.2.5 and then just deployed them on a dockerised version. Obviously it needs testing there but the developmemnt and debugging is SO much easier on Zenoss 4.
Cheers,
Jane
------------------------------
Jane Curry
Skills 1st United Kingdom
jane.curry@skills-1st.co.uk
------------------------------
Subject: |
RE: Custom ZenPack causing erratic data collection for other ZenPacks |
Author: |
Ryan Matte |
Posted: |
2020-06-05 17:35 |
Hi Larry,
Zenoss installs are heavily dependent on the version of twisted that comes packaged with them. Any time we upgrade twisted to a newer version it requires extensive testing and often code changes to accommodate that. For instance for the upcoming 6.5.0 release we upgraded twisted to a newer version and it required significant effort to make sure the product didn't break from that. As other people in this thread mentioned, upgrading the Zenoss twisted library is just an all around bad idea, you can and will break Zenoss. If you're upgrading that library outside of the Zenoss environment where Zenoss won't be directly using it and then selectively importing it in to your own things that could work depending on how you're making use of it. I would advise extreme caution with that.
------------------------------
Ryan Matte
------------------------------