deploy charm uses cached copy even when all services are removed
Bug #1205466 reported by
David Britton
This bug affects 2 people
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
juju-core |
Invalid
|
Medium
|
Unassigned |
Bug Description
Steps to reproduce:
1) deploy charm from local checkout
2) destroy-service
3) deploy charm from local checkout (with changes)
You will get a cached copy of the charm from 1)
This seems like the wrong thing to do, and I'm nearly certain it's new behavior in juju-core. I understand the need for cached charms for add-unit, etc, but why are we spanning the service boundary with these caches? It leads to a lot of WTH moments when you go to the service and find your new changes are not out there.
Is it a simple one to fix?
Changed in juju-core: | |
assignee: | nobody → Michael Nelson (michael.nelson) |
status: | Triaged → In Progress |
Changed in juju-core: | |
assignee: | Michael Nelson (michael.nelson) → nobody |
To post a comment you must log in.
I'm not sure that's even a bug. If we only update the environment cache when explicitly requested by the user -- you remain in control of what charm updates happen . But if we change it you are not in control, which is not awesome.
That said, I think it would be probably be easy enough to fix if that's the right thing to do, and I can see how the current behavior will trip people up because owing the cache invalidation logic for charms themselves, is not something that will ever be natural to new users.
And the logic seems complicated -- for the local charm development case it seems like it might be surprising for the charm not to update when you deploy a new instance of that service. But for non-developers and people using the charm store -- having the version in the environment update without any action on their part is likely to be equally surprising.
And of course the worst case scenario for surprising behavior is likely to be have different behaviors for local and charm store deployments.