替换 Snet 配置为 Endpoint 配置

https://blueprints.launchpad.net/glance/+spec/replace-snet-config-with-endpoint-config

snet 选项强制部署者将所需的端点命名为公共端点之后。

问题描述

snet 选项强制部署者将所需的端点命名为公共端点之后。为了在多个内部网络之间切换,必须更改名称。

提议的变更

不要从 auth 返回的值构造带有前缀的 URL,而是通过配置指定完整的 URL(例如 https://www.example.com/v1/not_a_container)。通过将容器和对象附加到配置的 URL 来获取对象的地址。

备选方案

仅使用 auth v2。从目录中存储和检索多个内部端点。这是首选方法,需要将使用 v1 的代码迁移到 v2,这是一项更大且完全独立的任务。此外,可配置的端点仍然可以用于覆盖目录。

数据模型影响

REST API 影响

安全影响

通知影响

其他最终用户影响

性能影响

其他部署者影响

配置选项将会更改

  • 移除配置选项:“swift_enable_snet”。“swift_enable_snet”的默认值为 False [1]。注释表明除非您是 Rackspace [2],否则不要更改此默认值。

  • 添加配置选项“swift_store_endpoint”。“swift_store_endpoint”的默认值为 None,在这种情况下,将使用 auth 响应中的存储 URL。如果设置,将使用配置的端点。示例值:“swift_store_endpoint” = “https://www.example.com/v1/not_a_container

  1. https://github.com/openstack/glance/blob/fd5a55c7f386a9d9441d5f1291ff6a92f7e6cc1b/etc/glance-api.conf#L525

  2. https://github.com/openstack/glance/blob/fd5a55c7f386a9d9441d5f1291ff6a92f7e6cc1b/etc/glance-api.conf#L520

开发人员影响

实现

负责人

主要负责人

jesse-j-cook

评审人员

核心评审人

nikhil-komawar

其他审核员

johngarbutt ben-roble

工作项

  • 修改代码以使用端点配置

  • 移除 snet 前缀代码

依赖项

测试

  • 验证 auth 是否正常工作

  • 验证是否可以访问配置的端点

文档影响

  • 记录新的端点配置选项。

  • 移除 snet 配置选项的文档。

参考资料

https://review.openstack.org/#/c/139726/