堆栈输出的 API 调用¶
包含您的 Launchpad 蓝图的 URL
https://blueprints.launchpad.net/heat/+spec/api-call-output
当前的编排 API 没有专门的调用来显示和列出堆栈输出。 此外,CLI 命令 output-show 和 output-list 需要调用 stack.get 来解析输出,这不正确。
问题描述¶
当前的 output-show 和 output-list CLI 命令仅在 heat 客户端中实现,它们需要请求 stack.get,这会从数据库加载堆栈并解析所有输出,这可能会减慢命令执行速度。 因此,需要添加获取所需输出而不解析所有输出的可能性。 可以通过在 heat 引擎中添加新方法来实现,这些方法将仅解析指定的输出。
提议的变更¶
变更涉及以下步骤
为 heat 服务添加新功能,该功能将实现显示和列出堆栈输出。 此外,输出显示应该仅解析指定的输出;
添加新的 API 调用来显示指定的堆栈输出和列出所有堆栈输出。
显示堆栈输出的 API 将如下所示
/stacks/{stack_name}/{stack_id}/outputs/{output_key}并且将返回以下响应
{ "output": { "output_key": <output_key>, "output_value": <output_value>, "description": <description> } }列出堆栈输出的 API 将如下所示
/stacks/{stack_name}/{stack_id}/outputs/并且将返回以下响应
{ "outputs": [ ... ] }更改 heat 客户端的 output-show 和 output-list,它们应该调用专门的 API 来显示输出和列出输出,而不是调用 stack.get 并从其响应中解析输出。
将新的 API 添加到 API 参考文档 (项目 api-site)。
在 tempest 和 heat 客户端功能测试中添加相应的 API 测试。
备选方案¶
无
实现¶
负责人¶
- 主要负责人
<prazumovsky> <ochuprykov>
里程碑¶
- 完成目标里程碑
mitaka-1
工作项¶
为堆栈添加 heat 服务中的新方法来显示和列出输出。
为堆栈添加新的 API 调用来显示和列出输出。
使用新的 API 更改 output-show 和 output-list heat 客户端方法。
将新的 API 添加到 API 参考文档。
在 tempest 和 heat 客户端功能测试中添加相应的 API 测试。
依赖项¶
无