Blueprint-evolution-of-autogenerate-config-docs
- Launchpad 条目: Evolve autogenerate 工具
- 创建者: Andreas Jaeger
- 贡献者: Tom Fifield
- 计划实现版本: Icehouse
概述
当前的自动生成工具存在一些限制,我们需要改进该工具以处理手册中的所有当前用途。我们还应该评估切换到 oslo-incubator 中的 generator.py - 并增强该工具。
蓝图
当前限制和问题
- 配置文件名以及其中的部分信息完全没有显示
- 我们需要能够为共享选项在不同的表格中显示相同的选项
- 在不同的表格中指定了相同名称的选项,将在表格中显示为重复条目。
- 依赖于在模块导入时加载的全局 CONF 对象
- 需要安装许多依赖项才能工作
- 文件的文件名用作生成表格的标题的一部分,这应该可配置
- 将运行机器的细节导入到表格中。目前发现:主机名、IP 地址、python 库的位置
- 不能正确处理空白字符。例如 instance_format 定义为 '[instance: %(uuid)s] ' (末尾有空白字符),并在示例 conf 文件中显示为:instance_format="[instance: %(uuid)s] " 但我们在表格中不显示额外的空白字符
- 并非所有标志都被提取
使用 oslo-incubator 中的 generator.py
generator.py 目前处理配置选项的解析和 "*.conf" 文件的写入,例如 OpenStack 代码仓库中提供的 "nova.conf" 作为示例。与其编写我们自己的工具并处理一些异常,我建议增强 generator.py 以便它为我们编写表格。
为此,我们需要确定我们的配置文件应该放在哪里。
生成表格的新格式
生成的表格应另外包含部分,例如 [DEFAULT] 和文件名,例如 nova.conf。