Tempest 场景测试客户端¶
https://blueprints.launchpad.net/tempest/+spec/tempest-client-scenarios
目前 Tempest 使用 2 种不同的 OpenStack 客户端进行测试。第一种是 Tempest 内部编写的客户端,用于可测试性和调试性。第二种是各种原生客户端。这给 Tempest 代码增加了负担,我们应该消除这种负担。
问题描述¶
随着 Tempest 的发展,我们编写了直接操作原始 API 的测试,也通过各个项目的原生客户端进行测试。随着测试数量的增加,以及 Tempest 中一些复杂性(如租户隔离)的出现,这种双客户端策略变得 problematic。
这意味着需要在客户端之上构建各种抽象层,以实现诸如等待资源创建、处理租户隔离和进行安全清理等功能。
根据失败的客户端不同,调试输出也大相径庭。我们可以修复并响应 Tempest 客户端中的调试问题。但解决像减少冗余 token 消息这样简单的问题,需要在 10 个树中分别进行提交才能在 tempest 运行中得到修复。
这会降低开发积极性。
提议的变更¶
我们将所有场景测试中的 openstack 客户端全部切换到 Tempest 客户端。
我们将移除仅为这些客户端构建的抽象层。
替代方案¶
保持现状。然而,这已经成为影响 gate 调试的主要问题。
实现¶
负责人¶
- 主要负责人
Masayuki Igawa <igawa@mxs.nes.nec.co.jp>
- 其他贡献者
Andrea Frittoli <andrea.frittoli@hp.com>
森田 大介 <morita.daisuke@lab.ntt.co.jp>
工作项¶
用 tempest 客户端替换 tempest/scenario 中的官方客户端
添加 hacking 规则以提供对官方客户端的使用
移除租户隔离抽象层
依赖项¶
无
参考¶
邮件列表讨论 - http://lists.openstack.org/pipermail/openstack-dev/2014-July/039879.html