轻量级堆栈加载以实现收敛

包含您的 Launchpad 蓝图的 URL

https://blueprints.launchpad.net/heat/+spec/convergence-lightweight-stack

问题描述

当我们从数据库加载堆栈的资源时,我们会一次性加载所有资源。我们还假设资源名称在堆栈内是唯一的(即,每个资源只有一个版本)。在收敛中,同一堆栈将同时存在多个版本的每个资源,并且我们希望仅加载任何给定时间将要对其执行操作的版本。

提议的变更

允许堆栈在解析模板时,为所有 `get_resource` 和 `get_attr` 引用提供缓存值。当可用此缓存数据时,不要加载整个资源列表。

备选方案

继续在需要资源 ID 或属性数据时,从数据库加载每个资源。

实现

负责人

主要负责人

sirushtim

里程碑

完成目标里程碑

Kilo-3

工作项

  • 用从缓存读取代替加载资源来解析模板函数

依赖项

缓存值将由 https://blueprints.launchpad.net/heat/+spec/convergence-push-data 的代码获取