Juju on CloudStack
Andrew Wilkins
andrew.wilkins at canonical.com
Mon Sep 21 04:03:29 UTC 2015
On Mon, Sep 21, 2015 at 5:53 AM Herman Bergwerf <hermanbergwerf at 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.finch at 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 <mark at 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 at lists.ubuntu.com
>>> Modify settings or unsubscribe at:
>>> https://lists.ubuntu.com/mailman/listinfo/juju
>>>
>> --
> Juju mailing list
> Juju at lists.ubuntu.com
> Modify settings or unsubscribe at:
> https://lists.ubuntu.com/mailman/listinfo/juju
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.ubuntu.com/archives/juju/attachments/20150921/28a4312a/attachment.html>
More information about the Juju
mailing list