juju deploy ./bundle.yaml on an existing model causes all units to run config-changed even with no changes
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Canonical Juju |
Fix Released
|
High
|
Ian Booth | ||
2.9 |
Fix Released
|
High
|
Ian Booth |
Bug Description
Juju 2.8.10 on Bionic.
Ran the following:
juju export-bundle --filename bundle.yaml
Remove an application and it's machines
juju deploy ./bundle.yaml --verbose --dry-run --map-machines existing
The bundle deploy marked a few changes that weren't expected,
Changes to deploy bundle:
- set application options for aodh
setting options:
action-
- set application options for ceilometer
setting options:
action-
- set application options for ceph-mon
setting options:
monitor-count: 3
- set application options for ceph-osd
setting options:
aa-
- set application options for ceph-radosgw
setting options:
restrict-
- set application options for cinder
setting options:
action-
- set application options for cinder-ceph
setting options:
restrict-
- set application options for designate
setting options:
action-
(etc, etc)
None of these options were changed.
When running without --dry-run this caused config-changed hooks to run where they shouldn't have. Though we're aware these should be idempotent and not do restarts unless needed, that's a separate issue to raise against each charm.
Changed in juju: | |
status: | Fix Committed → Fix Released |
Unless config has actually changed, we should not be running config-changed hooks.
Note though that config-changed is also run when:
trust changes
machine addresses change
So maybe the machines to which the units are assigned are somehow triggering an address change to be recorded and this a config change event.
Needs investigation.