Jump to: navigation, search

Difference between revisions of "Sahara/SaharaCI"

(Sahara CI)
(Zuul triggers)
Line 20: Line 20:
  
 
==== Zuul triggers ====
 
==== Zuul triggers ====
Zuul triggers jobs on patch sets to the next repos: <br />
+
Sahara CI supports stable/juno and master branches. Zuul triggers jobs on patch sets to the next repos: <br />
 
- http://github.com/openstack/sahara <br />
 
- http://github.com/openstack/sahara <br />
 
- http://github.com/openstack/sahara-dashboard <br />
 
- http://github.com/openstack/sahara-dashboard <br />
Line 26: Line 26:
 
- http://github.com/openstack/sahara-image-elements <br />
 
- http://github.com/openstack/sahara-image-elements <br />
  
For openstack/sahara and openstack/python-saharaclient repos will be triggered next jobs with integration tests for all Sahara plugins: <br />
+
For openstack/sahara and openstack/python-saharaclient repos will be triggered jobs with integration tests for all Sahara plugins. Each job named based on network provider, Sahara infrastructure engine, plugin name, run mode and scenario test: <br />
- [https://sahara.mirantis.com/jenkins/view/sahara/ gate-sahara-integration-hdp1] / [https://sahara.mirantis.com/jenkins/view/python-saharaclient/ gate-saharaclient-integration-hdp1] <br />  
+
gate-project-network-plugin[-aio][-scenario] <br />
- [https://sahara.mirantis.com/jenkins/view/sahara/ gate-sahara-integration-hdp2] / [https://sahara.mirantis.com/jenkins/view/python-saharaclient/ gate-saharaclient-integration-hdp2] <br />
+
Basically all jobs run in distributed mode, but if suffix aio is specified, then job runs in all in one mode. Scenario tests are enabled only for master branch now.
- [https://sahara.mirantis.com/jenkins/view/sahara/ gate-sahara-integration-vanilla-1] / [https://sahara.mirantis.com/jenkins/view/python-saharaclient/ gate-saharaclient-integration-vanilla-1] <br />
+
 
- [https://sahara.mirantis.com/jenkins/view/sahara/ gate-sahara-integration-vanilla-2.3] / [https://sahara.mirantis.com/jenkins/view/python-saharaclient/ gate-saharaclient-integration-vanilla-2.3] <br />
+
- [https://sahara.mirantis.com/jenkins/view/sahara/ gate-sahara-nova-direct-hdp_1-aio] / [https://sahara.mirantis.com/jenkins/view/python-saharaclient/ gate-saharaclient-nova-direct-hdp_1-aio] <br />  
- [https://sahara.mirantis.com/jenkins/view/sahara/ gate-sahara-integration-vanilla-2.4] / [https://sahara.mirantis.com/jenkins/view/python-saharaclient/ gate-saharaclient-integration-vanilla-2.4] <br />
+
- [https://sahara.mirantis.com/jenkins/view/sahara/ gate-sahara-nova-heat-hdp_2] / [https://sahara.mirantis.com/jenkins/view/python-saharaclient/ gate-saharaclient-nova-heat-hdp_2] <br />
- [https://sahara.mirantis.com/jenkins/view/sahara/ gate-sahara-integration-transient] / [https://sahara.mirantis.com/jenkins/view/python-saharaclient/ gate-saharaclient-integration-transient] <br />
+
- [https://sahara.mirantis.com/jenkins/view/sahara/ gate-sahara-neutron-direct-vanilla_1-aio] / [https://sahara.mirantis.com/jenkins/view/python-saharaclient/ gate-saharaclient-neutron-direct-vanilla_1-aio] <br />
- [https://sahara.mirantis.com/jenkins/view/sahara/ gate-sahara-integration-heat_transient] / [https://sahara.mirantis.com/jenkins/view/python-saharaclient/ gate-saharaclient-integration-heat_transient] <br />
+
- [https://sahara.mirantis.com/jenkins/view/sahara/ gate-sahara-neutron-heat-vanilla_2.4] / [https://sahara.mirantis.com/jenkins/view/python-saharaclient/ gate-saharaclient-neutron-heat-vanilla_2.4] <br />
- [https://sahara.mirantis.com/jenkins/view/sahara/ gate-sahara-integration-spark] / [https://sahara.mirantis.com/jenkins/view/python-saharaclient/ gate-saharaclient-integration-spark] <br />
+
- [https://sahara.mirantis.com/jenkins/view/sahara/ gate-sahara-neutron-heat-vanilla_2.6-scenario] / [https://sahara.mirantis.com/jenkins/view/python-saharaclient/ gate-saharaclient-neutron-heat-vanilla_2.6-scenario] <br />
- [https://sahara.mirantis.com/jenkins/view/sahara/ gate-sahara-integration-cdh-centos] / [https://sahara.mirantis.com/jenkins/view/python-saharaclient/ gate-saharaclient-integration-cdh-centos] <br />
+
- [https://sahara.mirantis.com/jenkins/view/sahara/ gate-sahara-neutron-heat-transient] / [https://sahara.mirantis.com/jenkins/view/python-saharaclient/ gate-saharaclient-neutron-heat-transient] <br />
- [https://sahara.mirantis.com/jenkins/view/sahara/ gate-sahara-integration-cdh-ubuntu] / [https://sahara.mirantis.com/jenkins/view/python-saharaclient/ gate-saharaclient-integration-cdh-ubuntu] <br />
+
- [https://sahara.mirantis.com/jenkins/view/sahara/ gate-sahara-neutron-direct-transient] / [https://sahara.mirantis.com/jenkins/view/python-saharaclient/ gate-saharaclient-neutron-direct-transient] <br />
 +
- [https://sahara.mirantis.com/jenkins/view/sahara/ gate-sahara-neutron-direct-spark-aio] / [https://sahara.mirantis.com/jenkins/view/python-saharaclient/ gate-saharaclient-neutron-direct-spark-aio] <br />
 +
- [https://sahara.mirantis.com/jenkins/view/sahara/ gate-sahara-neutron-direct-spark-aio-scenario] / [https://sahara.mirantis.com/jenkins/view/python-saharaclient/ gate-saharaclient-neutron-direct-spark-aio-scenario] <br />
 +
- [https://sahara.mirantis.com/jenkins/view/sahara/ gate-sahara-nova-direct-cdh_centos-aio] / [https://sahara.mirantis.com/jenkins/view/python-saharaclient/ gate-saharaclient-nova-direct-cdh_centos-aio] <br />
 +
- [https://sahara.mirantis.com/jenkins/view/sahara/ gate-sahara-nova-direct-cdh_ubuntu-aio] / [https://sahara.mirantis.com/jenkins/view/python-saharaclient/ gate-saharaclient-nova-direct-cdh_ubuntu-aio] <br />
  
 
Sahara CI testing matrix:
 
Sahara CI testing matrix:
Line 68: Line 72:
 
For openstack/sahara-dashboard repo will be triggered job with UI tests:  <br />  
 
For openstack/sahara-dashboard repo will be triggered job with UI tests:  <br />  
 
- [https://sahara.mirantis.com/jenkins/view/sahara-dashboard/ gate-uitests-tests] <br />
 
- [https://sahara.mirantis.com/jenkins/view/sahara-dashboard/ gate-uitests-tests] <br />
 +
Sagara UI tests are disabled now.
  
 
For openstack/sahara-image-elements repo will be triggered jobs, which build image using disk-image-builder for each Sahara plugin at first and then run integration tests: <br />
 
For openstack/sahara-image-elements repo will be triggered jobs, which build image using disk-image-builder for each Sahara plugin at first and then run integration tests: <br />

Revision as of 17:26, 12 March 2015

Sahara CI

Sahara CI infrastructure

Sahara CI contains Jenkins, Zuul, Nodepool and server with Devstack, where running Jenkins slaves. Jenkins is controlled for the most part by Zuul which determines what jobs are run when. Nodepool deploys and manages a pool of slaves images on a Devstack server for use in Jenkins jobs.

Jenkins is available by address: https://sahara.mirantis.com/jenkins
Zuul status is available by address: https://sahara.mirantis.com/zuul
Auth using launchpad.net SSO.

For installing Sahara CI use Puppet scripts, which are placed in repo: https://github.com/savanna-project/savanna-ci/tree/master/config/deploy-ci
During installation you must specify some parameters for Jenkins, Zuul and Nodepool (see: https://github.com/savanna-project/savanna-ci/blob/master/config/deploy-ci/README.rst). After that will be run Puppet scripts, which install Jenkins, Zuul and Nodepool.

Sahara CI configuration

All configuration files and scripts are placed in repo: http://github.com/stackforge/sahara-ci-config

For configuring Jenkins jobs uses Jenkins Job Builder system with YAML files. Jobs should be created and reconfigured through Jenkins Job Builder to avoid conflicts and unexpected changes. JJB is installed in virtual environment on Sahara Jenkins server.

For Zuul and Nodepool use settings, which configured to VM with Devstack.

Zuul triggers

Sahara CI supports stable/juno and master branches. Zuul triggers jobs on patch sets to the next repos:
- http://github.com/openstack/sahara
- http://github.com/openstack/sahara-dashboard
- http://github.com/openstack/python-saharaclient
- http://github.com/openstack/sahara-image-elements

For openstack/sahara and openstack/python-saharaclient repos will be triggered jobs with integration tests for all Sahara plugins. Each job named based on network provider, Sahara infrastructure engine, plugin name, run mode and scenario test:
gate-project-network-plugin[-aio][-scenario]
Basically all jobs run in distributed mode, but if suffix aio is specified, then job runs in all in one mode. Scenario tests are enabled only for master branch now.

- 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 CI testing matrix:

Job name Sahara run mode Infrastructure engine Network provider
integration-hdp1 Stand alone Direct Nova-network
integration-hdp2 Distributed Heat Nova-network
integration-vanilla-1 Stand alone Direct Neutron
integration-vanilla-2.3 Stand alone Direct Neutron
integration-vanilla-2.4 Distributed Heat Neutron
integration-spark Stand alone Direct Neutron
integration-transient Stand alone Direct Neutron
integration-heat_transient Stand alone Heat Neutron
integration-cdh-centos Stand alone Direct Nova-network
integration-cdh-ubuntu Stand alone Direct Nova-network

Sahara Dashboard is integrated into Horizon now. So, for openstack/horizon repo will be triggered job:
- gate-ui-tests
For openstack/sahara-dashboard repo will be triggered job with UI tests:
- gate-uitests-tests
Sagara UI tests are disabled now.

For openstack/sahara-image-elements repo will be triggered jobs, which build image using disk-image-builder for each Sahara plugin at first and then run integration tests:
- diskimage-integration-hdp1
- diskimage-integration-hdp2
- diskimage-integration-spark
- diskimage-integration-vanilla-centos-1
- diskimage-integration-vanilla-fedora-1
- diskimage-integration-vanilla-ubuntu-1
- diskimage-integration-vanilla-centos-2.3
- diskimage-integration-vanilla-fedora-2.3
- diskimage-integration-vanilla-ubuntu-2.3
- diskimage-integration-vanilla-centos-2.4
- diskimage-integration-vanilla-fedora-2.4
- diskimage-integration-vanilla-ubuntu-2.4
- diskimage-integration-cdh-centos
- diskimage-integration-cdh-ubuntu

Additionally, openstackgerrit bot writes info about changes in gerrit to #savanna channel at freenode.