Addon Packages Review


(Javi Fontán) #1

Hi,

First of all I want to thank all the addon developers for the effort creating them.

We’ve been reviewing the addons and there are some of them that are not up to date and probably they won’t work in the latest version. I know that maintaining software can be tough, sometimes doing work in the free time and some other times just losing interest or application for the project.

I’m making a call to addon maintainers that feel that can not keep maintaining the project or they need help doing that and people that can give a hand maintaining an addon that is not up to date.

We would love to have a updated list of addons that are actively maintained and work with current OpenNebula versions. At the end of this review we will somehow mark or delete repositories that have lost interest or are no longer applicable.

Can you please share here which are your plans for the addons?

For example, I am the maintainer of the addon that is receiving less love, not a single commit since 2013 :cry:

I am planning to delete it as it’s no longer usable or useful.

Cheers


(Anton Todorov) #2

Hi,

I am the maintainer of the addon for the StorPool storage software

The addon is in permanent development above and beyond the specs :wink:

Kind Regards,
Anton Todorov


(Javi Fontán) #3

Anton, yours is one of the most active addons and we are really grateful about that. :+1:


(Javi Fontán) #4

I’ve created a list with projects with more than a year since the last update. It would be great if the maintainers could step up and tell their plans. It will also be helpful to know if any other people is interested in maintaining or helping with one of these repositories:

I’ve created a new GitHub organization called OpenNebula-unmantained where the addons without maintainers will be moved. This means that the repositories won’t be deleted but also won’t be in the main OpenNebula organization.

These are some of the repositories I’ve already moved to this organization as I am the maintainer and won’t be working on them anymore:


#5

Hi Javi,

I’m still maintaining the addon-metadata.
It still runs on the current version, and still supports things like coreos.
If there is the need for changes I will most likelly do them as this addon is currently being used in our production environment.

Regards,
Ricardo


(Florian Heigl) #6

Hi,

please just mark them, deleting is overkill!

edit: saw that’s the way it’ll be :slight_smile:

VDC looks awesome and I never even noticed. weird weird.


(Florian Heigl) #7

@ricdgr could you update the readme to reflect what it actually does?
“addon-metadata is a metadata server” is kind of circular, can’t figure it out without knowing :slight_smile:


(Javi Fontán) #8

Thanks for the update! A change in the readme file, in compatibility, stating that it works with newer versions should be enough.


(Javi Fontán) #9

The idea is to move the unmaintained ones to another Organization:

https://github.com/OpenNebula-unmantained

This way people that go to OpenNebula organization does not find it cluttered with unmaintained projects.


(Florian Heigl) #10

Hi there,

I took a moment and wrote down the background what I told to Ruben at the Conf. I should’ve done that earlier, but I have somewhere between 2 and 12 weeks of lag in my life at the moment.

It’s probably not covering 100% but it’s all feedback I got.

Addon packages handling and Review

Let’s pretend we get a new package or look at an existing one and want to go through a unified process for that. We want to avoid them being dead forever, and maybe we even don’t want them to die at all. Especially we don’t want them to die just because the Readme was hard to understand. So, what could we do??

  • ONE team should, with help from the author, test each plugin that is submitted for the marketplace.
    A quick test of 1-3 hours.
    The only criteria are:

  • that they’ve seen that it works and fully understand the feature set it adds

  • that the description is good enough for users to easily understand what it does and what value that provides

  • A plugin should be ranked based on:

  • Feedback: multiple users reporting that it works -> a star

  • Maintainer: does something with the project at least quarterly -> a star

  • Compatibility matrix: if you have compatibility info for multiple releases -> a star

  • Testing: if you help integrate tests for this -> a star
    (vendor specific plugins will need to supply test results repeatedly)

Since OpenNebula has regular releases it’ll mean that projects can now go stale. Projects under a threshold of 2 stars would need to go to the sad valley.

  • There should be a single exception though: As long as someone reports that it’s WORKING + WORKING on a version not more than 2 years of age, it will not go to the sad valley, even if it IS unmaintained.

To easily achieve this, each ecosystem addon should have a standard document.
Either linked or directly contained in the Readme.md
I think the readme is better and simply put, you can only get in the marketplace if you have this piece of the text.

Users can then add PR’s to indicate i.e. that they use it.
We need to decide if it’s enough if the author vouches that it’s still working. I tend to think that this is fine as long as he also supports it.
Stale PRs of more than a year without discussion -> sad valley
Generally it’s a hard topic since as long as the plugin works people will probably not even once a year check the status.

A good example:

Please look at this ansible module:
http://docs.ansible.com/ansible/win_chocolatey_module.html

It has a status, and it has a supporter field.
This actually means one can’t just take the fame without the blame.
If you want to add a module, you need someone to support it.

Support channels for plugin authors

I would highly suggest ‘OpenNebula the company’ has a standard “we support it for you” offering that vendors can use for their plugin.
(i.e. custom plugins for a storage array, the vendor might deal with a lot of software, and rather pay someone to keep their code working & well-integrated than clock in to your release cycle)
Whereas for no-money community contributors each new release might be exciting so that they’ll probably like to work on it.
A smart move would be to dedicate 2 hours / year from your dev time to supporting them on request. So, 2 hours per addon in the ecosys,
It should pay back since they’ll be release quicker and won’t go stale if the author hits a wall.
I don’t mean this should also include all contributors on a plugin, but the ones who start it with a lot of energy and might not be able to resolve an issue 2 years later. So the current, finally responsible maintainer.

Any project you already flagged to be moved out to the sad valley should just go there.
If someone adds a “I use this and it works” commit that would be enough to bring it back.
If you like the idea of a standardized header in each project I think we should add that also to the ones that are moved now.

tl;dr

In summary, my suggestion is

  • to rank plugins (1-5)
  • to add a feedback/metadata area for each addon SUPER MEGA MOST IMPORTANT THING
  • to test each plugin with the author when it arrives
  • to budget a very minimal amount of time to support plugin authors
  • to put high positive value on the feedback if something works
  • to put high negative value on the compatibility matrix and bad care of PRs
  • to offer supporting the commercial authors of plugins

####Disclaimers:
Of course, these are just suggestions. I just wanted to write them down since I care. Pick whatever suits you, or none.
I mentioned Ansible. I use it. And I use other tools which I consider better at the same task. Just so we got that one straight :slight_smile:


(Javi Fontán) #11

We have been discussing internally these matters but we have found no time to approach the maintenance of the addon repositories as you describe. I agree that this can be done better but right now we don’t have the resources tho do it that way.

What I have just done is to move the listed repositories from which I didn’t have an answer to the new organization. I’ve also moved those repositories from the addon’s table to another one.


(Florian Heigl) #12

Hey, looks good to be honest, the most recent update to one of them had been 2 years ago.
If they wake up they can ask for revival :slight_smile: