adding placement directives for ensure-availability
Nate Finch
nate.finch at canonical.com
Tue Feb 24 17:24:01 UTC 2015
Please note that this email is about a feature that needs to be
significantly finished by Friday, so if you think you might want to
comment, please do so ASAP.
There is currently a requirement
<https://docs.google.com/a/canonical.com/document/d/1YMn6WECWq3pPO3UKc5TvEZXvrGKRrdoNuWnROvMhnwM/edit>
to let ensure-availability create state servers in containers on existing
machines in a juju environment. The way this would work is just like the
standard placement directives, i.e. you'd use something like lxc:1 to put a
state server in a new container on machine 1.
There are a couple changes I'd like to propose to the requirements listed
(I'd add them in the doc itself, but it's read-only for me.... Ian or
whoever wrote it, could you make it writeable or at least comment-able?)
Ensure-availability may create multiple machines, so we need to support
multiple placement directives. Currently, the requirements doc says that
if you have fewer placements than machines that need to be created, any
remaining machines will be created using the default policy of grabbing a
new machine from the provider. However, in talking with John, we don't
think this is good behavior.
We would prefer that the placement be explicit, so that if you need 4 new
machines, you have to explicitly say where to place all of them. This way,
if you make a mistake and don't specify enough placements, we can give you
an error. We think this is preferable, because where your state machines
live is quite important, and very difficult to change, so helping a user
avoid mistakes is quite valuable.
Example: Bill has one state machine, and wants to go to HA with 3
machines. He runs the following command:
$ juju ensure-availability --to lxc:1
> Error: Two state servers need to be added, but only one placement
> specified.
To support this, we need a way to say "use the default placement policy".
For this, we propose the keyword "default". Thus, to fix the above
example, Bill would type this:
$ juju ensure-availability --to lxc:1,default
> <success output here>
Note that this change in no way fixes all of HA's UX problems, and that it
actually makes some of the problems a lot more obvious (such as the fact
that the number of placements you need can be different even for the same
command, depending on the state of the environment). This will be fixed
when we revamp the CLI, but for now we'll have to live with it.
-Nate
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.ubuntu.com/archives/juju-dev/attachments/20150224/4e0e39f9/attachment.html>
More information about the Juju-dev
mailing list