Machine id option to deploy
Mark Ramm
mark.ramm-christensen at canonical.com
Mon Apr 8 21:54:29 UTC 2013
On 04/08/2013 03:09 PM, roger peppe wrote:
> 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 think docker style containers open up a variety of possibilities
because they support moving containers between machines, as well as
visioning them --all without the overhead of virtual machines. And I
think we should be discussing if and how we want to integrate this kind
of stuff into Juju "Real Soon Now."
Having containers for co-located services is more complicated to
implement than the "hulk-smash" style of co-location contemplated in
this CL. And certainly isn't doable in the next couple of weeks.
But, fortunately, I don't think that force-machine stuff implemented
here makes the work around proper co-location with containers and
flexible constraints significantly more complex.
Obviously the two approaches would not be fully compatible, but if you
have a "scale out" capable service it seems to me you can add a unit
using the new constraints/container stuff and then kill the unit that
was --force-machined and "upgrade" to the new and better world. So, I
don't think anybody is trapped in a bad place by this CL.
--Mark Ramm
More information about the Juju
mailing list