介绍奥斯陆的 cliff 作为 Barbican 的 cli 框架¶
将 cliff 作为 python-barbicanclient 的 cli 框架引入,并因此推广使用通用的 OpenStack 库。
问题描述¶
目前 Barbican 的 cli 工具(例如迁移脚本甚至 python-barbicanclient 本身)依赖于 argparse 库,但其当前实现并未提供足够的信息以供在生产环境中使用。应鼓励使用“标准”库,以便更容易地集成 Barbican。另一方面,子命令帮助信息不足,输入验证也不正确。
提议的变更¶
建议采用 Oslo 引入的 cliff 框架,用于构建命令行程序。这将使 Barbican 的脚本具有更标准的输出(类似于其他 OpenStack 项目),同时在将代码迁移到新框架的过程中,将更好地文档添加到命令中作为工作的一部分。
备选方案¶
argparse 库仍然可以使用,但需要添加更多的输入验证和文档。
数据模型影响¶
无。
REST API 影响¶
无。
安全影响¶
对于 Barbican 服务器来说,没有影响。但是,Barbican 客户端输入应该作为工作的一部分进行适当的验证。
通知影响¶
无。
其他最终用户影响¶
这有望对客户端的可用性产生积极影响,因为这项工作的主要重点是使其更好。
性能影响¶
无。
其他部署者影响¶
此更改在合并后立即生效,并为 python-barbicanclient 添加依赖项(即 cliff)。
开发人员影响¶
如果其他开发人员正在使用客户端,这可能会影响他们的工作,因为这些更改可能很大。
工作项¶
将 python-barbicanclient 的当前功能(包括帮助消息和子命令)复制到新框架。
在新框架上完成缺失的子命令帮助信息。
测试¶
假定有单元测试。
文档影响¶
无。