OpenStack to OpenStack Migration Series


At my previous workplace, we needed to transition to the new version of OpenStack, and we had to do this while having hundreds of virtual machines running on our cloud. In other words, we were going to install the new version somewhere and gradually migrate customers from the old version. If you're using RedHat, there's an open-source tool they support for doing this, see: os-migrate. If you're not using RedHat, there are some tools claiming to do this, but they are paid.

In this situation, the initial solution that comes to mind is to somehow solve this through OpenStack CLI commands one by one in the terminal. However, when the project and virtual machine count for this migration are very high, it's not a feasible method. During this process, we looked into openstacksdk to see if we could overcome this problem with it, and yes, our deployment type and the OpenStack features our customers use could be easily migrated with openstacksdk.

When we take a general look at OpenStack, we can think of it as a collection of APIs that use virtualization tools installed on the system. Of course, this thought might seem belittling to OpenStack, but since the migration we have at hand is problematic enough, we'll have to downplay things a bit to ease our minds. Approaching the problem in this way, we'll perform the migration tasks step by step.

I created a setup similar to the one at my previous workplace on my personal computer using QEMU/KVM (let's call it virt-manager) and kolla-ansible. I set up two different OpenStack installations. I will create a user and a project associated with it, and I will migrate each feature of this project one by one.

In this series of articles, I will explain how I performed this migration through independent scripts one by one. Below are our headings in order. I hope you don't have the need to migrate between OpenStack installations, but if you ever do, I hope this series of articles will be helpful for you.

OpenStack to OpenStack Migration:

  1. Article Series
  2. Deployment Info
  3. Preparation
  4. User Migration
  5. Project Migration
  6. Flavor Migration
  7. Security Migration
  8. Network Migration
  9. TBC

Next