增强管理服务,使用 service-stack

https://blueprints.launchpad.net/heat/+spec/heat-manage-service-stack

检索给定 heat-engine 中正在处理的 IN_PROGRESS 堆栈,反之亦然。

问题描述

在收敛模式下,给定的堆栈由一个或多个 heat-engine 处理,反之亦然。 后一种情况也适用于非收敛模式。 这将帮助操作员跟踪给定 heat-engine 的 IN_PROGRESS 堆栈,反之亦然。 并且在操作员进行问题排查时也很有用。

提议的变更

要列出给定 heat-engine 的堆栈

使用以下方式更新 stack-list 命令的 filter 参数,添加额外的参数 engine-id

stack-list -f engine-id <engine-id>

这里,stack-list 已经支持多次提供 filter 参数。 因此,用户也可以为多个引擎过滤堆栈。

相应的 REST API 将是:GET on /v1/​{tenant_id}​/stacks?filter=engine_id:<engine-id>

这里,可以使用逗号分隔提供多个 engine-id。

要列出处理给定堆栈的 heat-engines

使用以下附加参数更新 heat CLI:service-list --stack-id <stack-id>

  • stack-id - 用于报告处理给定堆栈的 heat-engines 列表。

相应的 REST API 将是:GET on /v1/​{tenant_id}​/services?filter=stack_id:<stack-id>

GET on /v1/<tenant-id>/services

这里,可以使用逗号分隔提供多个 stack-id。

注意:此蓝图可以扩展,以提供给定 heat-engine 中的 IN_PROGRESS 资源。

备选方案

实现

负责人

主要负责人

Kanagaraj Manickam (kanagaraj-manickam)

里程碑

完成目标里程碑

liberty-1

工作项

  • DB API 变更

    • 添加新的 API ‘service_get_stacks_by’,包含两个参数,如解决方案部分所述。

  • 对象变更

    • 在 Service 对象方法中添加与 db api 变更相对应的变更

  • RPC API 变更

    • 为新的 DB API ‘service_get_stacks_by’ 添加相应的 RPC API

  • REST API 变更

    • 更新 ServiceController 和 StackController 以处理解决方案部分中定义的新的 REST API。

  • Heat CLI

    • 更新解决方案部分中定义的必需 CLI。

  • Heat-manage 命令

    • 添加在 CLI 中完成的类似增强(如果所有 heat-engines 都已关闭,则需要此功能)

  • 添加所需的测试用例

  • 文档

    • 更新 REST API、heat CLI 和 heat-manage 工具的文档

    • 更新 CLI 和 API 文档,说明 engine-id 参数仅供管理员使用。

依赖项

无。