创建和使用 glance-manage 配置文件¶
https://blueprints.launchpad.net/glance/+spec/create-glance-manage-conf
glance-manage 目前使用为 glance-registry 和 glance-api 准备的配置文件。这样做表面上是为了减少操作员需要添加、更新或删除设置的地方。我希望创建一个 glance-manage.conf 文件,以便可以独立配置 glance-manage。
问题描述¶
如果 glance-api 由一个用户(或服务)启动,但另一个用户尝试使用 glance-manage,如果 /var/log/glance/api.log 对尝试使用 glance-manage 的用户不可写,他们可能会遇到权限错误。虽然这是依赖于注册表和 API 配置文件的一个症状,但可能会很快出现更多症状。此外,拥有单独的配置文件将允许最终用户和部署者单独配置这些工具,并能够在没有 glance-api.conf 和 glance-registry.conf 的情况下在节点上使用 glance-manage。
另请参阅 bug 1391211。
提议的变更¶
我建议我们添加另一个配置文件,glance-manage.conf,以规避这个问题以及我们依赖于注册表和 API 配置文件引起的任何其他问题。
对于 Kilo 版本,我们将添加 glance-manage.conf 文件,并继续在 glance-manage 命令设置步骤中加载 glance-registry.conf 和 glance-api.conf 文件。目前配置文件的加载顺序(导致 glance-manage 使用 /var/log/glance/api.log)是
glance-registry.confglance-api.conf
我们将保留此顺序,然后加载 glance-manage.conf。我们只会默认在 glance-manage.conf 中设置 log_file,以防止覆盖来自其他两个文件的设置。我们还将发布弃用警告,指向此规范,以便操作员和最终用户知道要为后续周期配置 glance-manage.conf。在那个周期中,我们将停止依赖 glance-registry.conf 和 glance-api.conf。文档也应立即开始(从 K 周期开始)指导用户在 glance-manage.conf 中配置 glance-manage 的设置。
备选方案¶
一种解决此问题的方法是删除 Glance 配置文件的默认 log_file 值。如果这样做,所有日志文件都将命名为 /var/log/{{service}}/{{ command }}.log,例如,/var/log/glance/glance-api.log 将由 glance-api 使用。更改此设置不仅会破坏当前文档,还会破坏最终用户的期望。由于缺乏事先警告的行为差异很大,我们决定采取本规范中概述的方法,而不是使用与其他项目相同的约定。
数据模型影响¶
无
REST API 影响¶
无
安全影响¶
这将引入另一个需要由最终用户编辑的文件。在 glance-manage.conf 中配置的一些设置也可能存在于 glance-registry.conf 和 glance-api.conf 中。由于需要复制和同步三个文件之间的设置,可能产生的任何潜在安全问题也适用于此处。或者,由于现在可以单独配置 glance-manage,因此无需在节点上存在完整的 API 和注册表配置文件即可运行 glance-manage。
通知影响¶
无
其他最终用户影响¶
这将引入另一个带有配置选项的文件。常用的配置选项需要从文件到文件地复制和粘贴,并且需要注意保持同步。这可能会增加维护 Glance 安装的复杂性。
性能影响¶
无
其他部署者影响¶
部署者将能够从节点运行 glance-manage,而无需存在 glance-registry.conf 或 glance-api.conf。本规范确实引入了部署者需要了解和知道如何配置的另一个文件。
开发人员影响¶
无
实现¶
负责人¶
- 主要负责人
icordasc
- 其他贡献者
无
评审人员¶
- 核心评审人
nikhil-komawar
- 其他审核员
kragniz jokke_
工作项¶
生成上面描述的默认
glance-manage.conf开始在
glance-manage中加载它添加关于
glance-registry.conf和glance-api.conf的弃用消息。更新文档以描述如何使用
glance-manage.conf配置glance-manage。
依赖项¶
无
测试¶
我们可以通过确保为 glance-manage 生成一个单独的日志文件来测试这一点,即,在运行该命令后存在 /var/log/glance/manage.log。
文档影响¶
这将需要更改以描述如何配置 glance-manage 以继续像过去一样工作。