advanced-routing units go into blocked status even if apply-changes action is run
Bug #1919933 reported by
Paul Goins
This bug affects 2 people
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
charm-advanced-routing |
Fix Released
|
Undecided
|
Unassigned |
Bug Description
This is related to https:/
From what I've seen, even if the apply-changes action is run, the units ultimately revert to a blocked state, claiming that there are "Changes pending via apply-changes action". This makes it impossible to tell via juju status which units have had routes applied versus which have not, and increases the likelihood of not running the action when it really is needed.
This was encounterd on cs:advanced-
Related branches
~vultaire/charm-advanced-routing:bug/1919933
- Xav Paice (community): Approve
- 🤖 prod-jenkaas-bootstack (community): Approve (continuous-integration)
- BootStack Reviewers: Pending requested
-
Diff: 33 lines (+5/-0)1 file modifiedsrc/actions/apply_changes.py (+5/-0)
Changed in charm-advanced-routing: | |
status: | New → Fix Released |
milestone: | none → 21.07 |
To post a comment you must log in.
I traced this down.
We thought we were saving the flag, but we neglected to explicitly call unitdata. kv().flush( ). It appears this is generally handled for us in hook environments (e.g. charms.reactive), but during actions we need to handle it ourselves.
As an example, look at charm-vault: it explicitly calls out the need to do this in the case of successfully executing an action. Reference: https:/ /git.launchpad. net/vault- charm/tree/ src/actions/ actions. py?id=fe95a83af b55733c01526e97 3c7f190632e3054 7#n230