StackResource updates can destroy more than is needed
Bug #1508115 reported by
Steven Hardy
This bug affects 2 people
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
OpenStack Heat |
Fix Released
|
High
|
Zane Bitter | ||
Kilo |
Fix Released
|
Undecided
|
Unassigned | ||
Liberty |
Fix Released
|
Undecided
|
Unassigned |
Bug Description
Because of the way we handle updates wrt changes in resource type, if you ever change either the name of a nested stack template (when doing type: foo.yaml), or the resource_registry alias (when mapping foo.yaml via the environment), the entire nested stack is deleted.
However, in some circumstances, this is undesirable, for example, if you change from type: foo.yaml to type: new_foo.yaml, it would be good to simply update the existing stack in-place, such that we destroy only resources that no longer exist in new_foo.yaml.
To fix this, we'll need to special case updates for StackResource resources. I'm not yet sure how practical this is.
Changed in heat: | |
status: | New → Triaged |
importance: | Undecided → High |
tags: | added: liberty-backport-potential |
Changed in heat: | |
assignee: | nobody → Steven Hardy (shardy) |
milestone: | none → mitaka-1 |
Changed in heat: | |
assignee: | Steven Hardy (shardy) → nobody |
Changed in heat: | |
status: | Triaged → In Progress |
Changed in heat: | |
assignee: | Steven Hardy (shardy) → Zane Bitter (zaneb) |
Changed in heat: | |
status: | Fix Committed → Fix Released |
To post a comment you must log in.
+1 for the concept
My best guess is that this would be feasible... we'd need to move where we check that the type is the same from before it is resolved with the environment to after.