Watcher 自动触发审计¶
https://blueprints.launchpad.net/watcher/+spec/automatic-triggering-audit
问题描述¶
该蓝图超越了“持续优化”蓝图,通过自动应用行动计划。https://blueprints.launchpad.net/watcher/+spec/continuously-optimization
Watcher 需要持续优化 OpenStack 云,以实现特定的策略或目标。Watcher 可以定期触发一些 审计,从而生成 行动计划。
不幸的是,在当前实现中,管理员必须手动启动推荐的行动计划才能将其应用于实际系统。
此规范与蓝图相关:https://blueprints.launchpad.net/watcher/+spec/automatic-triggering-audit
用例¶
作为管理员,每次都告诉审计触发行动计划对管理员来说是一件麻烦事,因此我们在此实现审计中的自动触发功能,该功能会触发行动计划。
项目优先级¶
Ocata-2 的必要功能
提议的变更¶
Watcher 系统使私有/公有云管理员能够在 OpenStack 集群上启动 审计,以便根据一个或多个目标对其进行优化。
- 我们需要在 AUDIT 中引入新的属性,
auto_trigger - 用于执行 AUDIT 的行动计划。
一个 审计 是一个优化请求,但在 auto_trigger 的情况下,当系统在 AUDIT 中发现 auto_trigger=True 时,它将触发该审计的行动计划。
AutoTriggerActionPlan 逻辑将在 watcher/decision_engine/audit/base.py 下实现。
AutoTriggerActionPlan 类将包含与触发审计的行动计划相关的所有逻辑。为了从 AutoTriggerActionPlan 触发行动计划,我们将使用 RPC 调用 launch_action_plan。
在 Applier 级别,当前只会执行一个行动计划。https://github.com/openstack/watcher/blob/master/watcher/applier/manager.py#L30 如果在执行当前行动计划时提出了新的行动计划,我们将通过适当的消息“当前正在运行一个行动计划”取消新的行动计划,并且行动计划的状态也应设置为 SUPERSEDED。
备选方案¶
使用 cronjob 为审计自动触发行动。
数据模型影响¶
我们需要在审计中引入新的属性 auto_trigger。
REST API 影响¶
预计没有
安全影响¶
由于系统可能会开始连续运行行动计划,从而严重损害集群的稳定性,因此可能存在安全影响。
通知影响¶
无预期。
其他最终用户影响¶
预计没有
性能影响¶
预计没有特定的性能影响。
其他部署者影响¶
预计没有特定的部署影响。
开发人员影响¶
这不会影响在 OpenStack 上工作的其他开发人员。
实现¶
负责人¶
- 主要负责人
Alexander Chadin <alexchadin>
- 其他贡献者
Digambar Patil <diga> Jean-Emile DARTOIS <jed56>
工作项¶
实现 AutoTriggerActionPlanHandler 类。
调整 API 以支持 auto_trigger 字段作为布尔值。
在 python-watcherclient 中添加 auto_trigger 到审计。
在 watcher-dashboard 中添加 auto_trigger 复选框。
实现适当的单元测试来测试各种场景。
依赖项¶
预计没有
测试¶
适当的单元测试将被调整以适应新的更改。
文档影响¶
需要添加与此更改相关的新内容。
参考资料¶
https://blueprints.launchpad.net/watcher/+spec/continuously-optimization
历史¶
没有历史记录。