Categories
Containers OpenStack OVS/OVN

Debugging ML2/OVN database discrepancies

Last week I had a customer with an issue in an OpenStack deployment running with ML2/OVN. Randomly, when creating a virtual machine, the Nova server returned a timeout during the VIF plugin. It took us some time to discover that the IP address assigned to the new port was already assigned to a rogue Logical_Switch_Port […]

Categories
L3/routing OpenStack OVS/OVN

Using a tunnelled network as router gateway in Neutron ML2/OVN

One symptom of narcissism is to make self-referring quotes; thus this is how I’ll start this post. Previously in this fantastic blog, we talked about the high availability router gateway ports in OVN. In this post we briefly commented that the gateway Logical Router Ports are scheduled across the gateway chassis, using any of the […]

Categories
OpenStack Tech

Testing Keepalived

Welcome back! I just finished my lethargic aestival period, emerging from the swimming pool like a manatee. Back to the (awaited) office routine, I had a clash with Keepalived; actually with around four hundred instances. Yes, 400 instances spawned to control the same number of high availability routers in OpenStack. The OpenStack L3 agent is […]

Categories
OVS/OVN

ovsdbapp, your library for Open vSwitch and OVN

The first thing you will notice reviewing the code of this library is a common pattern: Terry Wilson, one of the fathers of the creature. It has many other contributors, but he is the main maintainer. Thanks! This library provides a Python native implementation to access to the Open vSwitch database, using the OVSDB management […]

Categories
OpenStack

Database query testing in OpenStack Neutron

Welcome to the exciting world of databases! At least for the project in OpenStack I know best, which is Neutron. Neutron, and if I’m not wrong all the OpenStack projects, use SQLAlchemy as ORM library. Here you can read how this ORM was introduced in OpenStack to be the only API to talk to the […]

Categories
OpenStack Tech

Python multithreading

As commented in my introductory post, this blog pretends to be a kind of work diary, and sometimes will be the shoulder to cry on. In relation to threads, regardless of the programming language, a programmer needs to be mentally strong. Jokes aside, I would like first to introduce this post with some links to […]

Categories
OpenStack Tech

OpenStack local git mirror

If you are an OpenStack developer, you will know about devstack. This deployment tool, used only for testing and development, will retrieve all needed OpenStack projects from a defined git server; by default https://opendev.org. The “stacking” process (collect all needed projects, install all dependencies and start the projects as configured) usually takes around 10 minutes. […]