移除角色元数据结构

bp remove-role-metadata

移除冗余的“角色元数据结构”和相关的驱动 API 调用。

问题描述

最初的分配驱动 API 用于获取和设置项目/域上的分配,需要构造一个元数据结构,该结构将给定项目/域的所有角色存储在一个字典中。这可能源于早期的 kvs 实现,该实现以这种形式存储分配。鉴于我们已经移除了 kvs 驱动程序,并且现在拥有更规范化的分配存储(例如,每个分配一行),这种过去遗留的问题没有任何优势,只会复制其他检索分配的路径,从而导致代码复杂和维护问题。

提议的变更

建议移除分配驱动程序中的此支持,并让使用它的两个管理器方法(get_roles_for_user_and_projectget_roles_for_user_and_domain)调用其他现有的驱动程序方法来提取相同的信息。

备选方案

数据模型影响

REST API 影响

安全影响

通知影响

其他最终用户影响

性能影响

其他部署者影响

开发人员影响

实现

负责人

  • Henry Nash (henry-nash)

工作项

  • 修改管理器方法以调用其他驱动程序方法

  • 移除 LDAP 和 SQL 驱动程序中的 _get_metadata 方法。

依赖项

为了获得最佳性能,这将利用已经正在进行的过滤器性能驱动程序改进,请参阅:bp list-role-assignments-performance <https://blueprints.launchpad.net/keystone/+spec/list-role-assignments-performance>)

测试

文档影响

参考资料