Nested stacks are still loaded into memory too often
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
OpenStack Heat |
Fix Released
|
High
|
Zane Bitter |
Bug Description
Loading nested stacks into memory at the same time as the parent stack concentrates memory use into a single engine, and tends to result in a high-water-mark effect. Since Kilo, when we split operations on nested stacks so that they happen over RPC in different engine worker processes, we've been endeavouring to eliminate loading of nested stacks using the StackResource.
https:/
https:/
which together reduced TripleO memory usage in the gate by >20%.[1]
However, there remain other places where nested() is still called - many hidden by the monstrosity that is grouputils. The following changes could further improve memory usage:
* StackResource.
* InstanceGroup.
* AutoscalingGroup, InstanceGroup, ResourceGroup, and ResourceChain should use outputs from the nested stack (added in Pike by https:/
* ResourceChain should add outputs to the nested stack to get reference IDs for nested resources, and only fall back on the grouputils functions when the outputs don't exist.
* grouputils.
[1] http://
Changed in heat: | |
importance: | Medium → High |
Changed in heat: | |
milestone: | none → queens-3 |
Changed in heat: | |
milestone: | queens-3 → queens-rc1 |
Changed in heat: | |
milestone: | queens-rc1 → rocky-1 |
Fix proposed to branch: master /review. openstack. org/529715
Review: https:/