OpenStack: Testing Upgrades with Tobiko

What is Tobiko?

Tobiko is an OpenStack upgrade testing framework. It aims to provide tooling and methods for easily developing upgrade type tests.

Note: At this moment it also provides you with several built-in networking tests.

If you are familiar with OpenStack you might wonder why the current OpenStack testing framework (Tempest) is not used for that purpose.

Continue reading “OpenStack: Testing Upgrades with Tobiko”

OpenStack: Neutron Service Code Deep Dive

This post is a dummy walkthrough of neutron services code. I recommend being familiar with the following modules (not a hard requirement, but will help you avoid jumping between this post and other docs):

I created the following drawing to make it easier to track several of the files and classes mentioned in this post.

Continue reading “OpenStack: Neutron Service Code Deep Dive”

TripleO: Debugging Overcloud Deployment Failure

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.

Continue reading “TripleO: Debugging Overcloud Deployment Failure”

OpenStack Infra: How to deploy Zuul

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.

Continue reading “OpenStack Infra: How to deploy Zuul”

OpenStack Infra: Understanding Zuul

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.

Continue reading “OpenStack Infra: Understanding Zuul”

OpenDaylight & OpenStack: How to run CSIT

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

Continue reading “OpenDaylight & OpenStack: How to run CSIT”

OpenStack Infra: Jenkins Jobs

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.

Continue reading “OpenStack Infra: Jenkins Jobs”

Openstack Neutron: troubleshooting and solving common problems

Important note: this post is based on the great sessions I Can’t Ping My VM! Learn How to Debug Neutron and Solve Common Problems of Rossella Sblendido & OpenStack Neutron Troubleshooting by Assaf Muller. So the credit goes to them. I simply gathered it here in a written form and added a little bit of description and examples.  Enjoy =)

Common problems classification

The problems you may experience can be divided into two categories:

  • Misconfiguration –  you may experience issues due to an inadequate configuration you put in the config files used by Neutron. Wrong usage of the configuration tools may also be relevant and cause some issues. In addition, a misconfigured underlying network will affect neutron functionality as every packet goes eventually through the physical. For example, it can be an external network that isn’t reachable or firewall rule that is blocking traffic from your VMs or to them. So if the underlying network isn’t working, Neutron will also fail to work properly.
  • Bug in the code – you may found a bug in the code. Good chances you are not the first to bump into this bug so it’s worth checking here if someone already reported it. If you can’t find the bug there, then you are probably the first one to catch it and you should report it so that the developers can start fixing it.
Continue reading “Openstack Neutron: troubleshooting and solving common problems”