Jump to: navigation, search

Sahara/SaharaCI

< Sahara
Revision as of 13:20, 17 June 2014 by Denis Egorenko (talk | contribs) (Sahara CI description)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

Sahara CI

Sahara CI infrastructure

Sahara CI containes from Jenkins, Zuul, Nodepool and VM with Devstack, where run 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 VM 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

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 next jobs with integration tests for all Sahara plugins:
- gate-sahara-integration-hdp1 / gate-saharaclient-integration-hdp1
- gate-sahara-integration-hdp2 / gate-saharaclient-integration-hdp2
- gate-sahara-integration-vanilla1 / gate-saharaclient-integration-vanilla1
- gate-sahara-integration-vanilla2 / gate-saharaclient-integration-vanilla2
- gate-sahara-integration-transient / gate-saharaclient-integration-transient
- gate-sahara-integration-heat-vanilla1 / gate-saharaclient-integration-heat-vanilla1

For openstack/sahara-dashboard repo will be triggered job with UI tests:
- gate-ui-tests

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
- diskimage-integration-vanilla-fedora
- diskimage-integration-vanilla-ubuntu

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