允许检索默认域配置选项

bp domain-config-default

提供通过 API 检索域可配置选项的默认值的功能。

问题描述

通过 API 进行域特定选项配置是在 Kilo 版本中引入的: https://github.com/openstack/keystone-specs/blob/master/specs/kilo/domain-config-ext.rst

这提供了管理域特定选项的 CRUD 机制。然而,在不知道各种可配置选项的默认值的情况下,很难构建一个良好的用户界面。虽然可以通过加载配置文件并对其进行处理来实现这一点,但 REST API 方法更适合于这种界面。

提议的变更

本提案将扩展域配置 API,以允许检索可以在域基础上配置的选项的默认值,从而允许管理员决定是使用默认值还是覆盖它们。

值得说明的是,本提案提供设置默认值的功能——这些仍然只能通过主 keystone 配置文件进行更改。

备选方案

与其提供一个专门的 API 来检索默认值,我们可以修改当前的 API(标记为实验性)以简单地返回任何选项的当前值,无论它是默认值还是已被 API 为此域显式设置。虽然这对于仅仅读取选项值的人来说可能更简单,但它会使 API 的语义变得复杂,从而修改这些选项。例如,你需要以某种方式在 API 中表示这样一个事实:如果你删除了为域设置的选项,然后重新读取它,你仍然会得到一个值……它只是默认值。

数据模型影响

REST API 影响

确切的 API 规范将在审查 Identity API 的更改时定义。

安全影响

此功能向域的后端配置数据公开了一个新的 API。与其他 v3 API 一样,它将受到标准的 RBAC 权限模型的约束。

通知影响

其他最终用户影响

性能影响

其他部署者影响

开发人员影响

实现

负责人

主要负责人

henry-nash

工作项

  • 实现域配置代码

  • 为 keystoneclient 库添加支持

  • 为 openstack 客户端添加支持

将在 Horizon 中支持此 API 的工作将另行提出。

依赖项

测试

无,除了单元测试之外

文档影响

对 Identity API 和 configuration.rst 的更改。

参考资料