跳转到: 导航, 搜索

Heat/Blueprints/alarm-triggers-update

  • Launchpad 条目: HeatSpec:update-on-alarm-action
  • 创建时间: 2013年2月8日
  • 贡献者:

总结

为了使模板更强大(就像负载均衡器资源内部所做的那样),我们需要在 CloudWatch 警报操作(导致堆栈更改的操作)之后自动触发堆栈更新。

想法是,任何可能导致 Ref() 或 GetAttr() 发生变化的事件都会导致更新,因此您可以在实例上运行钩子脚本。

这类似于 juju 信号(我认为)。

发布说明

原理

赋予用户力量,哈哈哈(有人记得蒂姆·艾伦吗?)

用户故事

实现一个 HA 多实例堆栈。

  • 数据库在一个实例上
  • Web 服务器在另一个实例上
  • 如果数据库实例重启,Web 服务器需要知道(重新加载它的配置)

这是一个使用 OS::Heat::Restarter 资源的情况

实现您自己的负载均衡器

  • 自动伸缩组
  • CloudWatch 用于增加/减少实例数量
  • 负载均衡器需要使用新的服务器列表重新加载其配置

这是一个使用自动伸缩增长操作的情况。

前提条件

设计

  1. 在任何可能导致更改的非用户操作之后,我们调用更新堆栈来解析堆栈。
  2. 更新堆栈将发布实例可以拉取并运行其钩子脚本的新元数据

实现

UI 变更

模板无需更改。

代码变更

迁移

测试/演示计划

这不必在规范接近 Beta 之前添加或完成。

未解决的问题

BoF 议程和讨论

在 BoF 期间使用此部分进行笔记;如果将其保留在批准的规范中,请使用它来总结讨论的内容并记录被拒绝的选项。