You run ‘openstack overcloud deploy’ and after a couple of minutes you find out it failed and if that’s not enough, then you open the deployment log just to find a very (very!) long output that doesn’t give you an clue as to why the deployment failed. In the following sections we’ll see how can we get to the root of the problem.
This is the second post on Zuul, which focuses on deploying it and its services. To learn what is Zuul and how it works, I recommend to read the previous post.
Methods of deployment
I’ll introduce two ways to deploy Zuul. Both are basically the same, but in one you will have this nice Ansible role which you can execute really quickly, while using the other way will require you to execute each command manually.
For a quick deployment, use the Ansible way. To learn how exactly the deployment is done, step by step, use the manual way.
Recently I had the time to explore Zuul. I decided to gather everything I learned here in this post. Perhaps you’ll find it useful for your understanding of Zuul.
I split it into two posts. This post will focus on understanding what is Zuul and how it works. The second post will focus on how to deploy it along with common failures in the process.
What is Zuul?
In the beginning there was only Jenkins. The infra was unformed and broken , darkness and sadness was among developers. So the wise infra people decided to create Zuul.
What is CSIT?
Continuous System Integration Tests. Basically, Suites of integration tests for testing OpenDaylight components (alone or with other projects as OpenStack for example).
If you are familiar with OpenStack testing, then you can say it’s very similar to Tempest scenario tests.
The tests are executed automatically by OpenDaylight’s Jenkins on the lab provided by the Linux Foundation and can also be executed manually be any user, using Robot framework the integration/test repository.
This post should help you to execute the tests in your environment and publish the results with Jenkins Robot plugin.
You can also find small section of common failures in the bottom of this post.
To obtain the tests, run:
git clone https://git.opendaylight.org/gerrit/integration/test
A few days ago, while adding a new job to OpenStack Infra, I realized how difficult it must be for newcomers ( to OpenStack) to understand how OpenStack CI works and make new changes. The OpenStack Infra documentation coverage of each project is great and very detailed , but connecting the dots, which assembles the complete work-flow can be a complex task for anyone.
Hopefully this post can help for those who unfamiliar with OpenStack Infra. This is written in a form of ‘Q & A’. If you read this and find yourself still wondering about additional subjects, please let me know and I’ll make sure to add it here.