Reg Juju Api

Mark Shuttleworth mark at ubuntu.com
Wed Feb 25 14:19:26 UTC 2015


On 25/02/15 11:30, Rajendar K wrote:
>           Quite new to this forum.

Welcome!

> I would like to know the details about the juju-API for communication to
> public clouds (Amazon, etc).(where i can download
> and start using)

There is code built into Juju that knows about each cloud; we call that
a "provider", it's like a driver for the cloud, and it maps what Juju
needs to the API of that particular cloud. Those are usually written in
Go and built into Juju core itself; the libraries can typically be
reused in your own Go project easily enough and we would take patches if
they were helpful for others too.

If you have a cloud that speaks an entirely new API, there is a
short-cut to getting up and running, which is called a plug-in. The
plug-in runs on the client, not the server, and basically allows you to
use shell scripts that talk to your cloud, and have Juju call those when
it needs to do things like start a new machine. The machines are started
by your shell script, then Juju remotely logs in to the machine and
"manually" configures it. There are a few sets of plug-ins for popular
clouds that don't yet have full providers built-in to Juju.

> I have my own cloud infrastructure, is it possible to call those APIs for
> managing VMs across Cloud platforms?

Yes, if your cloud talks a common API like AWS or OpenStack, then you
can probably use the native API support built in to Juju, otherwise I
would suggest you start with a plug-in and then write a Go provider when
you think it's time to do so.

> Also i would like to know about juju charms, especially the image
> management how it is being handled.?

Each charm starts with a "blank" machine, like "centos6" or "trusty" or
"windows8", and then does what it needs to do to add the service it
describes to that machine. So for each cloud you just need to know what
the "blank" machine image is for the OS versions your charms will use.
IN future we might support creating snapshots which can be reused for
faster startup of additional machines.

Does that answer your question?

Mark




More information about the Juju mailing list