模块化配置文件¶
- 日期:
2015-05-08 00:00
- 标签:
配置, 配置文件, 模块化, 模块
模块化部署配置文件,以简化配置过程。
蓝图
https://blueprints.launchpad.net/openstack-ansible/+spec/modularize-config
问题描述¶
部署配置主要发生在相当单一的 openstack_user_config.yml 文件中。虽然向此文件添加文档可以帮助理解各个层级和选项,但它也会增加文件的大小和表观复杂度,尤其是在大型部署中。随着 swift 的添加,配置结构已经支持 conf.d 目录中的配置文件。将主要的单一配置文件拆分为包含类似组件的较小文件,有助于整体组织,尤其是在大型部署中。
提议的变更¶
类似于 swift,将配置文件的类似部分模块化,特别是 openstack_user_config.yml,拆分为 conf.d 目录中的以下单独文件。
hosts.yml
包含针对目标主机的配置,以及简单的选项。例如,
repo_hosts通常仅包含主机列表。相比之下,storage_hosts需要更多的选项,因此应使用单独的文件。包含以下层级
shared-infra_hostsrepo_hostsos-infra_hostsidentity_hostsnetwork_hostscompute_hostsstorage-infra_hostsswift_proxy-hostslog_hosts
注意
为了保持一致性,可以考虑将
swift_proxy-hosts更改为swift-proxy_hosts,并将swift_hosts更改为swift-storage_hosts。networking.yml
包含主机网络、库存生成器的 IP 地址黑名单、负载均衡器选项和提供商网络。
包含以下层级
cidr_networksused_ipsprovider_networks(来自global_overrides)internal_lb_vip_address、external_lb_vip_address、management_bridge和tunnel_bridge(来自global_overrides)
cinder_storage_hosts.yml
包含 cinder 存储目标主机的配置,以及用于后端的高级选项。
包含以下层级:*
storage_hosts
swift_storage_hosts.yml
包含 swift 存储目标主机的配置,以及高级选项。
包含以下层级:*
swift(来自global_overrides) *swift_hosts
备选方案¶
使用不同的策略来模块化配置文件,或者保留现有的单一结构。
Playbook 影响¶
无。
升级影响¶
可以选择在升级到支持此规范的版本之前或之后,根据此规范模块化配置文件。
安全影响¶
无。
性能影响¶
无。
最终用户影响¶
无。
部署者影响¶
简化配置过程。
开发人员影响¶
开发人员应在添加或更改配置项时考虑模块化配置。
依赖项¶
无。
实现¶
负责人¶
- 主要负责人
<ionosphere80> Sam-I-Am
工作项¶
根据需要,将现有的单一配置文件分解为包含相似项目组的较小文件,并将其放置在配置文件的结构内的
.d目录中。
测试¶
验证更改不会破坏 gating 过程。用于 gating 的 AIO 脚本可以继续使用单一文件或带有
.aio扩展名的模块化文件。
文档影响¶
更改引用单一配置文件的文档,以引用模块化配置文件。
参考资料¶
无。