This work is licensed under a Creative Commons Attribution 3.0 Unported License.
http://creativecommons.org/licenses/by/3.0/legalcode
基于 Keystone v3 的检查和门禁任务¶
https://blueprints.launchpad.net/tempest/+spec/keystone-v3-jobs
使用 Keystone V3 的检查和门禁任务
问题描述¶
目前所有的检查和门禁任务都依赖于 keystone v2 作为身份服务。Blueprint multi-keystone-api-version-tests 在 tempest 中引入了仅依赖 keystone V3 API 运行测试的能力。要使用的 keystone API 版本通过配置标志控制。需要专门的任务来使用 V3 选项,为计划在 Juno 中弃用 keystone V2 做准备。
提议的变更¶
最初将 keystone v3 任务设置为仅供实验使用。然后它们将被提升到检查,最终到门禁。
仅靠 tempest 和基础设施无法运行完全的 v3 任务,因为它需要在其他 OpenStack 项目中进行更改
python 绑定,以支持 keystone v3 API 或使用 Keystone Client Session 对象(参见 http://www.jamielennox.net/blog/2014/02/24/client-session-objects/)
核心服务需要与 keystone v3 模型和 API 集成。这些更改在专门的蓝图中详细定义。
由于依赖项将在 Juno 中实现,因此无法在 Icehouse 上运行完整的 v3 任务。keystone v3 任务仍然可以用于 icehouse,但仅限于 tempest 客户端的身份验证以及隔离用户和项目的创建将基于 v3 API。
替代方案¶
可以并行通过 v2 和 v3 运行所有测试。但是,这将显著增加门禁持续时间。
实现¶
负责人¶
Andrea Frittoli <andrea.frittoli@hp.com>
里程碑¶
- 完成目标里程碑
Juno-final
工作项¶
在 devstack 中定义一个 localrc 变量 auth_version=v3
在 devstack-gate 中定义一个选项来设置 localrc 变量
在 tempest 的实验流水线中定义两个任务:dsvm-keystonev3-full 和 dsvm-neutron-keystonev3-full
跟踪依赖项的进度,并相应地增强任务
在所有问题修复且结果稳定之前,按需运行任务
将任务提升到 tempest 的检查
将任务提升到所有项目的检查
将任务提升到门禁
依赖项¶
完全的 v3 检查任务依赖于许多地方的支持
tempest 框架及其测试 https://blueprints.launchpad.net/tempest/+spec/multi-keystone-api-version-tests
官方 python 绑定和 CLI 工具
openstack 服务
在满足所有依赖项之前,当前的任务将仅部分为 v3。从身份 API v2 到 v3 的迁移策略将在 https://blueprints.launchpad.net/keystone/+spec/document-v2-to-v3-transition 的一部分中记录。