"storage plugin involve changes on Hypervisor code" I know this is just an example, but at least on KVM side this is no longer true. Previously you had to implement a KVM-specific 'StorageAdaptor' that would run on the hypervisor, and register that with the agent code, but Mike and I added some reflection/annotation that allows for auto-detection of the adaptor upon Agent start up, so storage plugins can be completely self-contained now. They don't even have to be a part of our code base.
There may be other parts of the code where we can do similar things to decouple if we can identify those points. Ideally, if someone has to modify core code to add their plugin it should only be because they are adding some new functionality *that core cloudstack needs to be aware of*, and that functionality should be added in a way that other plugins can also provide/implement it. Otherwise, they can always add new APIs specific to their appliance or product and leveraging data from cloudstack's db, all via plugin. They can add new global/zone/cluster configs and UI tools via plugin as well. On Thu, Apr 16, 2015 at 3:49 PM, Pierre-Luc Dion <pd...@cloudops.com> wrote: > Today during the CloudStackdays we did a round table about Release > management targeting the next 4.6 releases. > > > Quick bullet point discussions: > > ideas to change release planning > > - Plugin contribution is complicated because often a new plugin involve > change on the core: > - ex: storage plugin involve changes on Hypervisor code > - There is an idea of going on a 2 weeks release model which could > introduce issue the database schema. > - Database schema version should be different then the application > version. > - There is a will to enforce git workflow in 4.6 and trigger simulator > job on PullRequest. > - Some people (I'm part of them) are concerned on our current way of > supporting and back porting fixes to multiple release (4.3.x, 4.4.x, > 4.5.x). But the current level of confidence against latest release is low, > so that need to be improved. > > > So, the main messages is that w'd like to improve the release velocity, and > release branch stability. so we would like to propose few change in the > way we would add code to the 4.6 branch as follow: > > - All new contribution to 4.6 would be thru Pull Request or merge request, > which would trigger a simulator job, ideally only if that pass the PR would > be accepted and automatically merged. At this time, I think we pretty much > have everything in place to do that. At a first step we would use > simulator+marvin jobs then improve tests coverage from there. > > Please comments :-)