Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP

Loading…

Removing Zenpack does not remove everything #7

Closed
mdesimone opened this Issue · 4 comments

3 participants

@mdesimone

If you do an uninstall on the ZenPack it leaves components on the device. If you click on a component a ribbon error is displayed. The template also remains on the system.

@cluther
Owner

Thanks for the report. I can easily replicate this. This kind of thing isn't a problem in most ZenPacks because they deliver their own device class which gets completely removed including any included devices if you remove the ZenPack. Because the RabbitMQ ZenPack just adds modeler plugins and monitoring templates to existing device classes, it doesn't benefit from the automatic cleanup.

Explicit cleanup needs to be added to the ZenPack's remove method.

@alienth

Would inheriting ZenPackPersistence on the component classes work here at all? Wouldn't that clean up the components on uninstall?

@cluther
Owner

I wasn't sure on the answer to that so I made inherited from ZenPackPersistence in RabbitMQComponent and implemented the contract. A quick test seems to indicate that it doesn't work. I haven't dug into why yet.

@alienth

I looked around at some other analogous ZenPacks. Looks like the community RDBMS ZenPack removes all components properly when being uninstalled. Its remove() in __init__.py isn't very different than what is in the RabbtiMQ ZenPack - except that the components there are a relation to OperatingSystem, rather than Device.

@cluther cluther was assigned
@cluther cluther closed this in f94bd95
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Something went wrong with that request. Please try again.