为收敛向 Stack 表添加额外数据

包含您的 Launchpad 蓝图的 URL

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

问题描述

收敛设计要求在 Stack 表的每一行中存储额外数据,以便管理并发更新。

提议的变更

向 Stack 表添加以下额外字段

  • prev_raw_template (一个 RawTemplate 键)

  • current_traversal (一个 UUID,每次更新时都会更改)

  • current_deps (依赖图中的边列表,存储为 JSON)

我们还需要确保对 Stack 表的修改相对于 current_traversal 字段是原子性的 - 如果新的遍历开始,则任何先前的遍历都应该停止更新堆栈数据。 这应该使用 “UPDATE … WHERE …” 形式实现,如 http://www.joinfu.com/2015/01/understanding-reservations-concurrency-locking-in-nova/ 中讨论的那样

备选方案

实现

负责人

主要负责人

unmesh-gurjar

里程碑

完成目标里程碑

Kilo-3

工作项

  • 添加数据库迁移

  • 确保更新相对于 current_traversal 是原子性的

依赖项