移除角色元数据结构¶
移除冗余的“角色元数据结构”和相关的驱动 API 调用。
问题描述¶
最初的分配驱动 API 用于获取和设置项目/域上的分配,需要构造一个元数据结构,该结构将给定项目/域的所有角色存储在一个字典中。这可能源于早期的 kvs 实现,该实现以这种形式存储分配。鉴于我们已经移除了 kvs 驱动程序,并且现在拥有更规范化的分配存储(例如,每个分配一行),这种过去遗留的问题没有任何优势,只会复制其他检索分配的路径,从而导致代码复杂和维护问题。
提议的变更¶
建议移除分配驱动程序中的此支持,并让使用它的两个管理器方法(get_roles_for_user_and_project 和 get_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>)
测试¶
无
文档影响¶
无
参考资料¶
无