使用 OpenStack 运行您自己的 Ceph 集成测试

loic

注意:这已被 使用 OpenStack 简化 Ceph 集成测试 所取代

Ceph 实验室拥有 数百台机器,持续运行 集成和升级测试。例如,当 pull request 修改 Ceph 核心时,它会经过 rados 套件 的运行,然后才能合并到 master 分支。Ceph 实验室的队列中始终有 100 到 3000 个作业,因此能够在独立的 infrastructure 上运行集成测试,以便

  • 运行失败的作业并验证补丁是否修复了它
  • 在提交复杂的修改之前运行完整的套件
  • 验证从给定 Ceph 版本到另一个版本的升级路径
  • 等等

如果无法使用 OpenStack 帐户(在 OpenStack 术语中为 tenant),则可以 租用一个(只需几分钟)。例如,OVH 提供一个 horizon 仪表板,显示用于运行集成测试的实例数量

OpenStack 的使用情况按月计费,累积成本显示在客户仪表板上

遵循安装说明 后,应运行集成测试以验证它是否实际有效。

teuthology workers 处理作业。一个 teuthology worker 可以运行单个作业,并使用三到五个虚拟机。在 OVH 提供的默认 OpenStack 配额(10 个实例)下,并行运行两个 worker 是最大数量。

teuthology-worker --tube openstack -l /tmp --archive-dir /usr/share/nginx/html

然后可以使用以下命令运行 firefly 升级套件:

teuthology-suite \ --filter=ubuntu_14.04 \ --suite upgrade/firefly \ --suite-branch firefly \ --machine-type openstack \ --ceph firefly \ ~/src/ceph-qa-suite_master/machine_types/vps.yaml \ $(pwd)/teuthology/test/integration/archive-on-error.yaml

vps.yaml 文件具有适合虚拟机的设置。archive-on-error.yaml 文件使只有失败的作业才会被存档,这可以节省每个成功作业的约 500MB 磁盘空间(当磁盘空间不足时很有用)。“screen”实用程序可用于使用运行套件的 shell 将 worker 分组在一起。