Rocky 项目优先级¶
Watcher 驱动程序团队在 Rocky 中优先处理的优先级列表。
优先级 |
负责人 |
|---|---|
使用 JSON 进行 Watcher API 验证¶
目前 Watcher 使用不同的方法来验证 API,这导致了许多错误,并且一些不应该允许的操作是可能的,例如云 管理员 可以删除“正在进行”的 行动计划 和 审计。为了对所有操作采用更清晰和统一的方法,我们应该有一种统一的 API 验证方式,这可以使用 JSON 来实现。
迁移到 Zuulv3¶
对于特定于特定项目的作业,团队应将自动转换的旧版作业移动到自己的仓库中,并对其进行修改以停止使用旧版接口。有两个基本步骤
将作业移动到您的仓库
修改作业以成为原生 v3 作业
计算 CDM 包含所有实例¶
在构建计算 CDM 时,我们将排除范围中排除的实例。这对 Watcher 产生可怕的影响。
对于某些策略,由于未计算排除的实例,因此会错误地获取计算节点的负载。
对于服务器整合,它将禁用运行了排除实例的节点。
建议在构建计算 CDM 时包含范围内的所有实例。但在迁移或模拟迁移时排除范围中排除的实例。
Watcher Planner 选择器¶
Watcher 策略选择器¶
对于给定的优化目标,可能有多个策略适用。目前,如果管理员未指定策略,Watcher 将选择列表中第一个可用的策略。如果 Watcher 打算在实际基础设施中使用,它需要一种更强大的方式来为给定的目标选择策略。策略选择器组件将使 Watcher 能够自动决定使用哪个策略。此蓝图的典型用例是
管理员从可用目标集合中选择一个目标。
策略选择器根据几个因素选择最大化策略“目标函数”的策略。
选择策略后,它将使用该策略触发 Watcher Optimizer (DefaultStrategyContext)。
按审计范围排除项目¶
作为管理员,我希望从 Watcher 优化中排除特定项目的实例。此 bp 建议将排除项目功能添加到审计 范围。我们需要以下任务
将 tenant_id 添加到计算 CDM
在审计范围内添加排除项目逻辑
定义工作负载特征的语法¶
由于我们在云中运行多个工作负载,因此我们应该能够将这些工作负载表征为 Watcher 的输入,以确保应用程序 QoS、放置和整合。
替换冷迁移以使用 Nova API¶
目前 Watcher 在迁移操作中通过不使用 Nova 迁移 API 来实现冷迁移,因为 Nova 迁移 API 无法指定目标主机。在 Queens 周期中,Nova 已经实现了指定冷迁移的目标主机。
JSONschema 用于验证功效指标¶
在此蓝图中,我们将用 JSONschema 替换 voluptuous 来验证功效指标。由于在 watcher 中,我们希望删除 voluptuous 并使用 JSONSchema 作为唯一的 JSON 验证工具以保持一致性。
支持 Watcher HA 主动-主动模式¶
只有一个决策引擎可以从 nova 消耗通知,我们需要同步 DE。可以通过在所有 DE 主机上调用方法来解决。
用于裸机 DM 的 Ironic 通知¶
通过 ironic 通知更新裸机数据模型
集群维护¶
有时我们需要维护计算节点,更新硬件和软件,等等。但我们不希望用户的应用程序中断。此问题导入了一个目标和一个策略,用于手动维护而不会中断用户的应用程序。
在 Watcher 仪表板中为审计添加名称¶
仅通过 uuid 很难让最终用户区分审计。如果我们为审计添加名称,对最终用户来说会更友好。此 bp 实现了在 Watcher 仪表板中为审计添加名称。
为 CONTINUOUS 审计添加开始/结束时间¶
目前我们只能设置审计执行间隔,但我们无法设置审计开始和结束时间。我们需要增加 审计 开始和结束时间以用于 CONTINUOUS 审计。
用于裸机数据模型的审计范围¶
由于添加了裸机数据模型,我们需要像计算数据模型一样为裸机数据模型提供审计范围。
增强 Watcher Applier 引擎¶
目前 Watcher 的 Applier 只能逐个或并行运行操作。我们需要根据前一个操作的结果来决定是否执行下一个操作,因此我们需要增强 applier。