Spec Lite:重新思考我们的文件系统访问¶
- 项目:
glance
- 问题:
Glance 在许多地方使用文件系统,并采用各种机制。作为镜像导入工作流的一部分,任务和暂存操作通过覆盖配置并使用内部函数来初始化存储,从而消耗 glance_store。
- 解决方案:
在 Rocky 中,添加了多后端支持作为实验性功能。我们应该利用这一点为这些操作保留某些存储。作为其中的一部分,我们将弃用 work_dir 和 node_staging_uri 配置选项,并保留两个文件系统存储‘os_glance_tasks_store’和‘os_glance_staging_store’,这些存储可用于消除通过内部函数初始化存储的需求。这些存储在一段时间内将在 glance 中硬编码,并注入到 enabled_backends 配置选项中,以便在 glance-api 服务启动时初始化 glance_store 时加载。操作员需要确保这些存储不包含在 glance-api.conf 中的 enabled_backends 配置选项中。
只有在启用多后端的情况下,才会注入这些保留的存储,即 glance-api.conf 中定义了 enabled_backends 配置选项。如果未启用多后端,则 node_staging_uri 和 work_dir 配置选项将按原样工作。
示例代码展示了这些配置选项将如何注入和使用
reserved_stores = { 'os_glance_staging_store': 'file', 'os_glance_tasks_store': 'file' } enabled_backends = CONF.enabled_backends if enabled_backends: enabled_backends.update(reserved_stores)
然后,操作员需要确保在 glance-api.conf 中定义以下部分
[os_glance_tasks_store] filesystem_store_datadir = /var/lib/glance/tasks_work_dir [os_glance_staging_store] filesystem_store_datadir = /var/lib/glance/staging
注意:如果使用文件后端,则‘os_glance_tasks_store’和‘os_glance_staging_store’的 filesystem_store_datadir 路径应与实际路径不同。
os_glance_*前缀是 glance 保留的,操作员不能将其用于命名他们的存储。‘os_glance_tasks_store’和‘os_glance_staging_store’将从‘stores-info’调用中排除,并且不会在创建镜像调用中作为‘backend’选项接受。
- 替代方案:
无,继续使用当前机制。
影响: DocImpact
- 时间线:
包含在 Train 版本中。
- 链接:
无
- 负责人:
abhishekk