扩展计算 CDM 中的节点状态

https://blueprints.launchpad.net/watcher/+spec/extend-node-status

问题描述

我们可以在 watcher 中通过 CDM(集群数据模型)获取节点状态。大多数策略依赖于节点的状态。但现有的状态仅满足现有策略。我们需要扩展节点状态描述以支持新的策略。此外,在用法上存在一些潜在问题。例如,激活一个并非由 watcher 禁用的计算节点,将会发生冲突。

用例

作为最终用户,我希望 watcher 能够启用由 watcher 禁用而非由其他原因禁用的计算节点。

提议的变更

现在我们仅使用四个词(up/down/enabled/disabled)来描述一个计算节点。这不够。

本规范将在 ‘ComputeNode’ 资源中添加 ‘disabled_reason’ 字段。如果我们将由 Watcher 禁用的节点和并非由 Watcher 禁用的节点区分开来,这将避免潜在的用法问题。如果一个节点被 Watcher “disabled”(带有 “disabled_reason” “watcher_disabled”),则它在优化范围内。如果一个节点并非由 Watcher “disabled”(没有特定的 “disabled_reason”),则它超出优化范围,Watcher 不应该对其进行任何优化。

备选方案

数据模型影响

REST API 影响

安全影响

通知影响

其他最终用户影响

性能影响

其他部署者影响

开发人员影响

实现

负责人

主要负责人:sue

工作项

  • 为 ‘ComputeNode’ 资源添加 ‘disabled_reason’ 字段,以区分由 Watcher 禁用的节点和并非由 Watcher 禁用的节点。

依赖项

测试

单元测试

文档影响

参考资料

历史