On Mon, Sep 21, 2015 at 5:53 AM Herman Bergwerf <hermanbergw...@gmail.com> wrote:
> I find it quite difficult to understand the semantics of a general juju > provider (so far juju/environs helped a bit to understand the general > principle). Is there a place where I can find what I need to write a very > minimal provider? I don't really have experience with juju, cloudstack or > cloud computing so I'm not sure if I'm the right person to write a > cloudstack integration for juju. I think I'll start using juju on a manual > cluster first or write the integration like > https://github.com/kapilt/juju-digitalocean (I'm not sure how this code > integrates with juju, is it just a wrapper around the juju cli?) > Hi Herman, In case you change you later want to write a fully integrated provider, I've just written some notes about implementing a provider here: https://github.com/juju/juju/wiki/Implementing-environment-providers. If you're interested, take a look and let me know if that helps, and what you're still unclear on. The approach I would take is: 1. Implement EnvironProvider and configuration handling first 2. Implement Environ and Instance, in the following order: a. StartInstance b. Bootstrap (probably just call common.Bootstrap) c. Destroy (probably just call common.Destroy) d Instances and StateServerInstances e. the rest; no-ops for the firewall-related (*Ports) methods for an MVP I'm working on a new Azure provider at the moment, so you can find a fairly minimal environment implementation here: https://github.com/axw/juju/tree/d921824ddd7064327c8eab884ecc2e303e9097f0/provider/azure <https://github.com/axw/juju/tree/azure-next/provider/azure>. It's not pretty, but it bootstraps. Cheers, Andrew Op za 19 sep. 2015 om 13:44 schreef Nate Finch <nate.fi...@canonical.com>: > >> Definitely look at the GCE provider, it's the newest and uses our current >> best practices. Some of the older providers are not quite as good examples >> (not that they're wrong, we've just figured out better ways to do structure >> the code). >> >> On Sat, Sep 19, 2015, 6:01 AM Mark Shuttleworth <m...@ubuntu.com> wrote: >> >>> On 18/09/15 17:27, Herman Bergwerf wrote: >>> > Hmm, ok. I'm quite surprised a pretty widely used virtualization stack >>> such >>> > as cloudstack is not implemented in juju at all. Are there maybe future >>> > plans to do this? >>> >>> Anybody can write a cloud provider and contribute it to Juju. Canonical >>> will usually write one as part of the certification process for a large >>> public cloud (like AWS, Google, Azure) but I'm not aware of any large >>> CloudStack clouds so it's not on our roadmap. Of course we'd gladly land >>> the work if someone else does it. >>> >>> > By the way, wouldn't it be easier to write a provider directly inside >>> the >>> > juju code? I'm not sure if there is any documentation to do this. >>> >>> Yes, a "proper" provider is built-in to juju-core and lives in the Go >>> code of Juju itself. >>> >>> As a limited workaround, you can use the Juju client plugin mechanism to >>> automate some of the "manual" provider work. Essentially, you use your >>> local cloud tools to launch machines, then register them with Juju >>> controller using the manual provider mechanisms. If you want to dig into >>> Go programming, then a cloudstack provider would be a good project. You >>> would be copying the structure of the OpenStack, GCE, Azure, or AWS >>> provider, then using the cloudstack operations to do what's necessary >>> there. A main question would be whether or not their is already an >>> implementation of the cloudstack API in Go. >>> >>> Mark >>> >>> >>> -- >>> 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