So we could make it so that constraints are actually 'exactly' for LXD,
which would then conform to both minimum and maximum, and would still be
actually useful for people deploying to containers. We could certainly
probe the host machine and say "you asked for 48 cores, and the host
machine doesn't have it".

However, note that explicit placement also takes precedence over
constraints anyway. If you do:
  juju deploy mysql --constraints mem=4G
today, and then do:
 juju add-unit --to 2
We don't apply the constraint limitations to that specific unit. Arguably
we should at *least* be warning that the constraints for the overall
application don't appear to be valid for this instance.

I guess I'd rather see constraints still set limits for containers, because
people really want that functionality, and that we warn any time you do a
direct placement and the constraints aren't satisfied. (but warn isn't
failing the attempt)


On Fri, Jan 13, 2017 at 10:09 AM, Stuart Bishop <
> wrote:

> On 13 January 2017 at 02:20, Nate Finch <> wrote:
> I'm implementing constraints for lxd containers and provider... and
>> stumbled on an impedance mismatch that I don't know how to handle.
>> I'm not really sure how to resolve this problem.  Maybe it's not a
>> problem.  Maybe constraints just have a different meaning for containers?
>> You have to specify the machine number you're deploying to for any
>> deployment past the first anyway, so you're already manually choosing the
>> machine, at which point, constraints don't really make sense anyway.
> I don't think Juju can handle this. Either constraints have different
> meanings with different cloud providers, or lxd needs to accept minimum
> constraints (along with any other cloud providers with this behavior).
> If you decide constraints need to consistently mean minimum, then I'd
> argue it is best to not pass them to current-gen lxd at all. Enforcing that
> containers are restricted to the minimum viable resources declared in a
> bundle does not seem helpful, and Juju does not have enough information to
> choose suitable maximums (and if it did, would not know if they would
> remain suitable tomorrow).
> --
> Stuart Bishop <>
> --
> Juju-dev mailing list
> Modify settings or unsubscribe at:
> mailman/listinfo/juju-dev
Juju-dev mailing list
Modify settings or unsubscribe at:

Reply via email to