juju deploy --dry-run takes different decisions on multiple executions
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Canonical Juju |
Fix Released
|
High
|
Simon Richardson |
Bug Description
I have a juju model with an OpenStack deployment that was deployed with a
bundle[0], said bundle was modified to go from 3 nova-compute-kvm units to 6
units[1], when running the new bundle with --dry-run to verify the changes
will do what the operator expected it was noticed that the command will
produce different outputs on subsequent executions:
$ juju deploy -m foundations-
http://
$ juju deploy -m foundations-
http://
$ juju deploy -m foundations-
http://
$ juju deploy -m foundations-
http://
Some executions will decide this:
- add unit nova-compute-kvm/3 to existing machine 5
- add unit nova-compute-kvm/4 to new machine 12
- add unit nova-compute-kvm/5 to new machine 13
While others will decide this other thing:
- add unit nova-compute-kvm/3 to existing machine 4
- add unit nova-compute-kvm/4 to existing machine 5
- add unit nova-compute-kvm/5 to new machine 12
The expected is that juju will add nova-compute-
The logs can be found at
https:/
output of "juju dump-model" is at
https:/
finally a "juju status --format yaml" is at http://
[0] https:/
[1] https:/
Changed in juju: | |
milestone: | none → 2.8.1 |
importance: | Undecided → High |
status: | New → Triaged |
Changed in juju: | |
assignee: | nobody → Simon Richardson (simonrichardson) |
status: | Triaged → In Progress |
milestone: | 2.8.1 → 2.7.7 |
Changed in juju: | |
status: | In Progress → Fix Committed |
Changed in juju: | |
milestone: | 2.7.7 → 2.7.8 |
Changed in juju: | |
status: | Fix Committed → Fix Released |
Changed in juju: | |
status: | Fix Released → Fix Committed |
Changed in juju: | |
status: | Fix Committed → Fix Released |
Using a simpler bundle that @dnegreira wrote it's possible to see a similar issue:
$ juju deploy --dry-run ./reproducer- bundle- 2.yaml
Resolving charm: cs:memcached
Resolving charm: ubuntu
Changes to deploy bundle:
- add new machine 6 (bundle machine 21)
- add new machine 7 (bundle machine 22)
- add unit memcached/3 to new machine 6
- add unit memcached/4 to new machine 7
- add unit memcached/5 to new machine 8
Versus:
$ juju deploy --dry-run ./reproducer- bundle- 2.yaml
Resolving charm: cs:memcached
Resolving charm: ubuntu
Changes to deploy bundle:
- add unit memcached/3 to new machine 6
- add unit memcached/4 to new machine 7
- add unit memcached/5 to new machine 8
This bundle doesn't exhibit the message "add unit XXX to existing machine N", so it could be a different issue, but certainly part of the same category.
The full output of my terminal is at https:/ /pastebin. ubuntu. com/p/H42YGdRGR J/