分类配置
跨项目规范 - https://review.openstack.org/#/c/295543 (进行中)
用户故事追踪器 - 无
问题描述
问题定义
操作员目前需要处理成百上千个配置选项,这些选项分布在数十个 OpenStack 服务和多个项目中。在许多情况下,他们还需要了解选项之间的关系。特别是,这使得初始部署成为一项非常艰巨的任务。
机会/理由
OpenStack 采用的主要障碍之一是其被认为的复杂性。这体现在尝试理解和正确设置初始部署的配置,以及升级后再次进行配置时。
需求规范
用例
本节使用了 OpenStack UX 人物。
- 作为 Rey 云操作员,我应该能够通过阅读文档来理解如何使用配置选项。无需阅读代码来理解应选择哪个值。
- 作为 Rey 进行初始部署时,我希望大多数选项都有有用的默认值,这样在系统初始配置期间就不需要考虑或指定它们。
- 作为 Rey 进行初始部署时,我应该能够快速识别我必须考虑的配置,以及如何确定其值才能使我的部署成功。
- 作为打包者,我应该能够快速识别打包必须设置的配置选项,以及操作员需要指定的选项。
- 作为 Rey 扩展部署时,所需的配置更改应该最少。对于必须更改的少量选项,应该清楚哪些值需要调整,错误的值会导致哪些症状,以及如何确定正确的值。
- 作为 Rey,文档应该清楚地说明配置选项之间的关系。例如,如果您通过设置配置选项 X 选择驱动程序 A,那么应该清楚地说明应该为同一项目中的任何依赖配置选项设置哪些值。
- 可能有一些选项很少被使用,除非是最高级的用户。默认情况下,这些高级选项应该被标记为高级选项,并以一种使文档不那么令人望而却步的方式呈现。虽然仍然可以发现,但这些选项可能需要 Rey 查看其他文档才能完全理解其影响。
- 作为 Rey 进行初始配置时,应该能够轻松检查您是否具有有效的配置文件。检查任何未识别的配置选项和任何无效值可以帮助找到拼写错误。
- 作为刚刚完成升级的 Rey,应该能够轻松检查您是否正在使用任何已弃用的配置选项,并确定在进行下一次升级之前必须进行哪些更改。
使用场景示例
- 初始配置和部署
- 部署者查看为选定部署服务的集中式配置文档
- 部署者快速找到在部署前需要设置的配置
- 部署者对配置进行调整并部署,留下大多数配置未设置,例如,使用它们的默认值
- 部署成功完成
- 扩展重新配置
- 部署者查看为选定扩展服务的集中式配置文档
- 部署者使用文档确定为未来规模的最佳性能所需的新的配置设置
- 部署者对配置进行适当的调整
- 部署者成功扩展部署
- 扩展故障排除
- 部署者扩展部署并开始在使用特定服务时遇到性能下降
- 部署者查阅配置文档,以确定症状是否由错误配置引起
- 部署者识别所需的配置调整
- 部署者进行所需的配置调整
- 部署者成功将部署恢复到最佳性能