High Availability command line interface - future plans.
Tim Penhey
tim.penhey at canonical.com
Wed Nov 6 21:54:22 UTC 2013
On 07/11/13 09:11, David Cheney wrote:
> +1 (million), this solution keeps coming up, and I still feel it is
> the right one.
>
> On Thu, Nov 7, 2013 at 7:07 AM, Kapil Thangavelu
> <kapil.thangavelu at canonical.com> wrote:
>>
>> instead of adding more complexity and concepts, it would be ideal if we
>> could reuse the primitives we already have. ie juju environments have three
>> user exposed services, that users can add-unit / remove-unit etc. they have
>> a juju prefix and therefore are omitted by default from status listing.
>> That's a much simpler story to document. how do i scale my state server..
>> juju add-unit juju-db... my provisioner juju add-unit juju-provisioner.
>>
>> -k
NOTE: removed juju at lists.ubuntu.com from the recipients;
PLEASE DON'T CROSS-POST
Seriously!
For future direction I agree with this. We talked about the idea behind
having the core parts of juju exposed as special services with units.
We talked about using namespaces.
I recall that Gustavo's point at the time is that we don't *need* this
to get HA, and that we can get HA much simpler to start with.
I fully support an approach where we have a simple command to get us
over the initial hump of managing support.
juju ensure-ha (note: not ensure-ha-state)
This brings up multiple manager nodes.
I like the idea that we treat manager nodes as special, and that
destroy-machine on them doesn't work the same way.
Consider this:
juju boostrap
juju ensure-ha
later machine-2 (a manager node goes down)
juju ensure-ha
removes machine-2, and brings up machine-x to take it's place. I was
talking with William, and I think we both agreed that we don't want to
restart manager nodes by magic, but wait for user intervention.
Now, looking to the future:
We would have services like:
juju:db
juju:api
juju:something-else (for the other manager worker tasks)
bootstrap would then give machine-0 with a unit of each of these.
ensure-ha would bring up new machines with units of each of these.
A user could add two more api servers by going:
juju add-unit juju:api -n 2
I think this gives us a clean, and understandable way of doing things,
but we SHOULD NOT do this first.
Tim
More information about the Juju-dev
mailing list