Machine id option to deploy

roger peppe roger.peppe at canonical.com
Mon Apr 8 20:09:57 UTC 2013


On 8 April 2013 19:05, Gustavo Niemeyer <gustavo.niemeyer at canonical.com> wrote:
> I'm moving the conversation from the CL:
>
>     https://codereview.appspot.com/8520043/
>
> in here, since this is bringing back into life an old discussion about
> per-machine ad-hoc assignments.
>
> I'm also including juju@ in case people want to chime in with use cases.
>
> On 2013/04/08 17:44:24, hazmat wrote:
>> Constraints at a service level would prevent add-unit from working
>> properly.  Are you referencing a unit level constraint independent of the
>> service?
>
> No, I'm really saying that service-level constraints are the way to
> handle this.  As we've discussed quite a few times before, this -to
> flag adds local knowledge to the specific instance of the deployed
> environment that isn't encoded on metadata anywhere. The reason why
> such unit was put onto a given machine is gone for good.

I think this is only a problem if units are ever recycled.
I think we're leaning towards the approach that a unit, once
added, lives once only and then dies forever.

If that's the case, then the service's metadata doesn't
matter so much - it's used once to work out where to put
the unit and then is irrelevant.

If we ever have some way of *moving* a unit  between
machines, I still believe this approach can still work ok.

I feel that deploy-to is possibly a first step towards placement, which
I think can be seen as largely orthogonal to constraints,
although naturally they will interact, and we will need to decide
how they should do so.

I see constraints as choosing the suitability of a machine
*in isolation* (that is, we can judge whether a machine satisfies
a constraint by looking at that one machine only), whereas placement
will have to deal with many possible machines (that is, it's potentially
a function of all the available machines and the network and
possibly physical topology too).

I believe constraints and placement are quite different problems,
with different algorithmic complexities,  and trying to pretend we can
implement placement with constraints
will make life harder than we need it to be.

These are just *my* ramblings though - they're just my internal
justifications as to why I think deploy-to is a reasonable
thing to do for the time being.



More information about the Juju-dev mailing list