Constraints ignored when using add-unit
Bug #1905405 reported by
Simon Richardson
This bug affects 1 person
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Canonical Juju |
Won't Fix
|
High
|
Simon Richardson |
Bug Description
When doing the following we ignore the constraints:
$ juju bootstrap aws test
$ juju deploy redis
$ juju add-machine --series=trusty --constraints=
$ juju add-unit redis
Redis will land on the arm64 even though it's implied to work on amd64. This becomes more of a problem with charmhub architecture where you won't have a charm for arm64 and will fall on it's face.
Changed in juju: | |
status: | New → Confirmed |
importance: | Undecided → High |
milestone: | none → 3.0.0 |
Changed in juju: | |
milestone: | 3.0.0 → 3.0.1 |
Changed in juju: | |
milestone: | 3.0.1 → 3.0.2 |
Changed in juju: | |
milestone: | 3.0.2 → 3.0.3 |
Changed in juju: | |
assignee: | nobody → Simon Richardson (simonrichardson) |
Changed in juju: | |
status: | Confirmed → In Progress |
To post a comment you must log in.
It's not so much that we ignore constraints, but that there aren't any. Juju's algorithm to assign a unit to a machine is to pick the first unused machine, which here will be arm64. The disconnect is that if no constraints are specified and Juju needs to create a new machine, it will create an amd64 one. The implies there's an amd64 constraint by default, but no constraint is actually created. We should look at making selection of unused machines assume amd64 unless there's an actual constraint, to give behaviour consistent with create machine.