Continuous Integration with Jenkins
===================================
Each change made to Sahara core code is tested with unit and integration tests and style checks flake8.
Unit tests and style checks are performed on public `OpenStack Jenkins `_ managed by `Zuul `_.
Unit tests are checked using python 2.7.
The result of those checks and Unit tests are +1 or -1 to *Verify* column in a code review from *Jenkins* user.
Integration tests check CRUD operations for Image Registry, Templates and Clusters.
Also a test job is launched on a created Cluster to verify Hadoop work.
All integration tests are launched by `Jenkins `_ on the internal Mirantis OpenStack Lab.
Jenkins keeps a pool of VMs to run tests in parallel. Even with the pool of VMs integration testing may take a while.
Jenkins is controlled for the most part by Zuul which determines what jobs are run when.
Zuul status is available by address: `Zuul Status `_.
For more information see: `Sahara Hadoop Cluster CI `_.
The integration tests result is +1 or -1 to *Verify* column in a code review from *Sahara Hadoop Cluster CI* user.
You can put *sahara-ci-recheck* in comment, if you want to recheck sahara-ci jobs.
Also, you can put *recheck* in comment, if you want to recheck both jenkins and sahara-ci jobs.