Juju service provider for XCP

Kapil Thangavelu kapil.thangavelu at canonical.com
Mon Nov 14 22:16:48 UTC 2011

Excerpts from Mike McClurg's message of Sun Nov 13 16:07:21 -0500 2011:
> On Mon, Nov 7, 2011 at 3:12 PM, Kapil Thangavelu
> <kapil.thangavelu at canonical.com> wrote:
> > Hi Mike,
> >
> > Twas nice to meet you at the charm school session at uds. A xcp provider would
> > be great.
> >
> ...
> > Let us know if you have any more questions, the dev team also hangs out
> > regularly in #juju.
> >
> Hi Kapil,
> I was wondering if you could tell me what the process is for getting a
> new service provider included in the official Juju package. Is that
> something I should want? Or is it recommended that additional
> providers are installed separately? If an XCP provider is something
> that can be included in the main package, then what kind of deadline
> will there be for it to be included in Precise?
> Thanks for the help. I'll try #juju if I have any other quick questions.
> Mike

Hi Mike,

The process for getting code merged into the core 

 1. A branch on lp that has a complete test suite for the changes.

 2. The contributor has signed the Contributor license agreement [1]. 

 3. The branch goes through some code reviews. 

For larger feature branches (>1k lines), its helpful to split it up into 
a set of stacked smaller branches [2], which help keep reviews smaller, and 
provide early feedback to an implementor.

WRT to getting an XCP provider in the core, it would be great to have in the 
core, the xcp provider would be the first community contributed provider. As 
for being in the core it really comes out to a question of ongoing maintenance.  
Right now, none of the current core developers have access to an XCP platform, 
so in order to ensure that functional tests pass, we'll need to figure out how 
to get a testrunner access to an xcp system setup to run them. The functional 
test suite runs per commit on trunk atm.

The provider interface isn't quite set in stone yet, as the recent thread on 
resource constraints for machine placment attests. It would be nice if there was 
a commitment to keeping the provider up to date with the provider changes from 
other features going in for 12.04. The only pending provider change atm are 
those from the resource constraints/placement feature.

Wrt to dates, the code for the xcp provider should be on lp and available for 
review by the second week of january. We're trying to land all features 
for 12.04/precise by the end of January corresponding to the alpha 2 release. We 
can do some review/code change iteration on the xcp within that time frame. 
Although it would be nice to have something reviewed before january to make sure 
things are on the right track, and if the whole thing is done earlier that 
always works ;-). There will be time in the beta cycle (feb-march) to do bug 
fixes as needed. 

We don't currently have means of accomodating out of package plugins for 
providers. We could add a mechanism for it if needed, but the same problems wrt 
to ensuring quality (ftest runs) and feature compatibility for 12.04 exists.



[1] http://www.canonical.com/contributors
[2] The bzr pipeline plugin is helpful for managing a stack of feature branches.

More information about the Juju mailing list