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 项目中进行更改

由于依赖项将在 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 检查任务依赖于许多地方的支持

在满足所有依赖项之前,当前的任务将仅部分为 v3。从身份 API v2 到 v3 的迁移策略将在 https://blueprints.launchpad.net/keystone/+spec/document-v2-to-v3-transition 的一部分中记录。