Rework Heat API to deal with set of patches instead of solid stack
Currently any MuranoPL class can change any part of Heat stack including resources belonging to other applications. Changes are merged into stack definition and later cannot be safely undone upon application removal. Because different applications are not aware of each other their changes may include resources with the same name and thus cause name collisions.
The proposed change is is to store patches in a patch-queue rather than merge them into stack. Patches are merged together only upon submission to Heat. Because patch remain as an entity it is always possible to remove patch from list and thus undo changes. Classes can access only patches they created. Patch list of one class must be isolated from patch list of another class either by automatic transparent resource rename and patch validation or by means of nested stacks/Heat environment + Resource Provider. Upon application removal all its stack patches must be automatically removed (unmerged from stack)
Blueprint information
- Status:
- Not started
- Approver:
- Serg Melikyan
- Priority:
- High
- Drafter:
- Stan Lagun
- Direction:
- Approved
- Assignee:
- Stan Lagun
- Definition:
- Discussion
- Series goal:
- Accepted for future
- Implementation:
- Not started
- Milestone target:
- None
- Started by
- Completed by