跳转到: 导航, 搜索

Sahara/SaharaCI

警告:该页面包含过时的信息。Mirantis 之前提供的 Sahara CI 自 Pike 版本起已被禁用,并且作业的结构和命名已经演变。

Sahara CI

Sahara CI 基础设施

Sahara CI 包含 Jenkins、Zuul、Nodepool 和带有 Devstack 的服务器,Jenkins 从服务器运行。Jenkins 在很大程度上由 Zuul 控制,Zuul 决定何时运行哪些作业。Nodepool 在 Devstack 服务器上部署和管理用于 Jenkins 作业的从服务器镜像池。

Jenkins 可通过以下地址访问:https://sahara.mirantis.com/jenkins
Zuul 状态可通过以下地址访问:https://sahara.mirantis.com/zuul
使用 launchpad.net SSO 进行身份验证。

要安装 Sahara CI,请使用放置在仓库中的 Puppet 脚本:https://github.com/savanna-project/savanna-ci/tree/master/config/deploy-ci
在安装过程中,您必须为 Jenkins、Zuul 和 Nodepool 指定一些参数(请参阅:https://github.com/savanna-project/savanna-ci/blob/master/config/deploy-ci/README.rst)。之后将运行 Puppet 脚本,安装 Jenkins、Zuul 和 Nodepool。

Sahara CI 配置

所有配置文件和脚本都放置在仓库中:http://github.com/stackforge/sahara-ci-config

要配置 Jenkins 作业,请使用 Jenkins Job Builder 系统和 YAML 文件。应通过 Jenkins Job Builder 创建和重新配置作业,以避免冲突和意外更改。JJB 安装在 Sahara Jenkins 服务器上的虚拟环境中。

对于 Zuul 和 Nodepool,使用配置到带有 Devstack 的 VM 的设置。

Zuul 触发器

Sahara CI 支持 stable/juno 和 master 分支。Zuul 触发器对以下仓库的补丁集上的作业
- http://github.com/openstack/sahara
- http://github.com/openstack/sahara-dashboard
- http://github.com/openstack/python-saharaclient
- http://github.com/openstack/sahara-image-elements

对于 openstack/sahara 和 openstack/python-saharaclient 仓库,将触发包含所有 Sahara 插件集成测试的作业。每个作业的命名基于网络提供程序、Sahara 基础设施引擎、插件名称、运行模式和场景测试
gate-project-network-plugin[-aio][-scenario]
基本上,Sahara 以分布式模式运行,但如果指定了后缀“aio”,则 Sahara 以一体化模式运行。场景测试目前仅针对 master 分支启用。

- gate-sahara-nova-direct-hdp_1-aio / gate-saharaclient-nova-direct-hdp_1-aio
- gate-sahara-nova-heat-hdp_2 / gate-saharaclient-nova-heat-hdp_2
- gate-sahara-neutron-direct-vanilla_1-aio / gate-saharaclient-neutron-direct-vanilla_1-aio
- gate-sahara-neutron-heat-vanilla_2.4 / gate-saharaclient-neutron-heat-vanilla_2.4
- gate-sahara-neutron-heat-vanilla_2.6-scenario / gate-saharaclient-neutron-heat-vanilla_2.6-scenario
- gate-sahara-neutron-heat-transient / gate-saharaclient-neutron-heat-transient
- gate-sahara-neutron-direct-transient / gate-saharaclient-neutron-direct-transient
- gate-sahara-neutron-direct-spark-aio / gate-saharaclient-neutron-direct-spark-aio
- gate-sahara-neutron-direct-spark-aio-scenario / gate-saharaclient-neutron-direct-spark-aio-scenario
- gate-sahara-nova-direct-cdh_centos-aio / gate-saharaclient-nova-direct-cdh_centos-aio
- gate-sahara-nova-direct-cdh_ubuntu-aio / gate-saharaclient-nova-direct-cdh_ubuntu-aio

Sahara Dashboard 现在集成到 Horizon 中。因此,对于 openstack/horizon 仓库,将触发作业
- gate-ui-tests
对于 openstack/sahara-dashboard 仓库,将触发带有 UI 测试的作业
- gate-uitests-tests
Sahara UI 测试现在已禁用。

对于 openstack/sahara-image-elements 仓库,将触发作业,该作业首先使用 disk-image-builder 为每个 Sahara 插件构建镜像,然后运行集成测试
- dib-nova-direct-hdp_1-aio
- dib-nova-heat-hdp_2
- dib-nova-direct-spark-aio
- dib-nova-direct-spark-aio-scenario
- dib-neutron-direct-vanilla_1-centos-aio
- dib-neutron-direct-vanilla_1-fedora-aio
- dib-neutron-direct-vanilla_1-ubuntu-aio
- dib-neutron-heat-vanilla_2.4-centos
- dib-neutron-heat-vanilla_2.4-fedora
- dib-neutron-heat-vanilla_2.4-ubuntu
- dib-neutron-heat-vanilla_2.6-centos-scenario
- dib-neutron-heat-vanilla_2.6-fedora-scenario
- dib-neutron-heat-vanilla_2.6-ubuntu-scenario
- dib-nova-direct-cdh-centos-aio
- dib-nova-direct-cdh-ubuntu-aio

此外,openstackgerrit bot 会将 gerrit 中的更改信息写入 freenode 的 #savanna 频道。