The Wednesday 07 May 2014 à 23:05:00 (+0400), John Meinel wrote :
> We certainly welcome more provider implementations to be part of core.
> We've been working with a couple of other people in doing just that (Joyent
> support was recently contributed by them, and there are a few others being
> worked on today).
> 
> Most of the provider implementations we have today are split into 2 code
> bases. 1 provides the basic exposure of a cloud (goamz for EC2, goose for
> Openstack, gomaasapi for MaaS), and then the actual Provider implementation
> binds our Juju interface into calls to the provider. If Outscale really
> does look like EC2, then it could certainly share the goamz library at the
> least.
> 
> If you want it to be "if you have Juju, you can control an Outscale
> environment" then you certainly would want to have the code in core. We
> don't yet have a way to have an external provider that looks the same as
> everything else. Kapil has done some interesting work in providing a plugin
> that looks a lot like the rest, but in the end it does still have to
> re-implement some of the commands (so you run 'juju PROVIDER command',
> instead of just 'juju command').
> 
> As for details on implementation, I would probably look to have another
> "provider/outscale" directory that would be the actual implementation of
> the bits we need. Where possible, you could pull out shared implementations
> from the provider/ec2 implementation, but because of things like not having
> s3 storage you'd probably be better off with a fully different provider.

Thanks for the great explanation.

I'll start writing code tomorow and combine your approach with Tim
http storage worker idea.

Best regards

Benoît

> 
> John
> =:->
> 
> 
> On Wed, May 7, 2014 at 9:23 PM, Benoît Canet <benoit.ca...@irqsave.net>wrote:
> 
> > The Wednesday 07 May 2014 à 13:11:14 (-0400), Nate Finch wrote :
> > > Two things:
> > > 1.) There's no inheritance in Go (though you can still reuse
> > functionality
> > > in a number of ways).
> > > 2.) Juju is open source.  There's no reason why the Outscale provider
> > can't
> > > use the ec2 implementation from an external repo.
> > >
> > > Being in core grants the provider code no special benefits other than
> > > ensuring that the code gets compiled and tested with the rest of the
> > code.
> > >  If we start having providers external to core, we'd work more carefully
> > to
> > > keep the provider interface stable, or at least backwards compatible.
> >
> > Aside from my fears of bitrot would an external provider be properly
> > packaged into Ubuntu ? (I really want the support to be as official as
> > possible)
> >
> > Best regards
> >
> > Benoît
> >
> > >
> > >
> > > On Wed, May 7, 2014 at 1:01 PM, Benoît Canet <benoit.ca...@irqsave.net
> > >wrote:
> > >
> > > > The Wednesday 07 May 2014 à 11:05:35 (-0400), Nate Finch wrote :
> > > > > There seems to be no compelling reason why we can't distribute more
> > than
> > > > > just juju and jujud.  However, I don't think there's anything to
> > gain by
> > > > > splitting out the providers we already have in core.  Adding code
> > that
> > > > > enables pluggable providers seems like a no-brainer to let people
> > provide
> > > > > their own interface for their own cloud (whether it's a private
> > cloud or
> > > > > simply one of the public ones we don't yet support).
> > > >
> > > > Would not it be better for the Outscale provider to be in core so it
> > can
> > > > inherit from the EC2 driver and only implement the differences ?
> > > >
> > > > Best regards
> > > >
> > > > Benoît
> > > >
> > > > >
> > > > > Yes, the manual provider sort of works now, but it is so incredibly
> > > > > *manual *that I hesitate to even call it a solution for all but the
> > most
> > > > > limited of use cases.
> > > > >
> > > > >
> > > > > On Wed, May 7, 2014 at 9:20 AM, Curtis Hovey-Canonical <
> > > > cur...@canonical.com
> > > > > > wrote:
> > > > >
> > > > > > On Tue, May 6, 2014 at 9:53 PM, Andrew Wilkins
> > > > > > <andrew.wilk...@canonical.com> wrote:
> > > > > > > A bit tangential now, but...
> > > > > > >
> > > > > > > Plugin-style was originally how I thought it would best work, but
> > > > that
> > > > > > > requires distribution with both jujud *and* the juju CLI. That
> > sounds
> > > > > > like a
> > > > > > > nightmare to me. OTOH, having a remote service means you can just
> > > > point
> > > > > > the
> > > > > > > CLI and jujud at that remote service with nothing to distribute.
> > It
> > > > does
> > > > > > > mean having a service, which brings its own set of issues.
> > > > > > >
> > > > > > > Of course, the two approaches are not mutually exclusive. As you
> > > > say, you
> > > > > > > could easily provide a plugin that talks to a remote service.
> > > > > >
> > > > > > Oh.  I think we already have this problem. Windows users cannot
> > > > > > backup, restore or generate metadata because they only have the
> > juju
> > > > > > CLI binary installed.
> > > > > >
> > > > > > OSX users may have the current plugins since juju was built by
> > brew,
> > > > > > but I have not tested they work.
> > > > > >
> > > > > > --
> > > > > > Curtis Hovey
> > > > > > Canonical Cloud Development and Operations
> > > > > > http://launchpad.net/~sinzui
> > > > > >
> > > > > > --
> > > > > > Juju mailing list
> > > > > > Juju@lists.ubuntu.com
> > > > > > Modify settings or unsubscribe at:
> > > > > > https://lists.ubuntu.com/mailman/listinfo/juju
> > > > > >
> > > >
> > > > > --
> > > > > Juju mailing list
> > > > > Juju@lists.ubuntu.com
> > > > > Modify settings or unsubscribe at:
> > > > https://lists.ubuntu.com/mailman/listinfo/juju
> > > >
> > > >
> >
> > --
> > Juju mailing list
> > Juju@lists.ubuntu.com
> > Modify settings or unsubscribe at:
> > https://lists.ubuntu.com/mailman/listinfo/juju
> >

-- 
Juju mailing list
Juju@lists.ubuntu.com
Modify settings or unsubscribe at: 
https://lists.ubuntu.com/mailman/listinfo/juju

Reply via email to