That's right. Another tech blog.

Updating OpenStack using Mirantis Fuel

In my lab I’ve been using the Mirantis OpenStack distribution (most recently 5.0.1) since it has a deployment tool called Fuel which makes it really easy to deploy and configure. There’s even a virtualbox script to setup an entire environment on your laptop- Check out Masa’s post on it here.

Mirantis OpenStack 5.1 was released yesterday with some cool new features:

  • The Fuel Master Node can be upgraded from 5.0.x
  • Fuel 5.1 can update existing 5.0.x Mirantis OpenStack environments to 5.0.2 (Experimental)
  • Fuel is now protected by access control
  • Mirantis OpenStack now deploys the ML2 Open vSwitch plug-in for Neutron
  • Experimental features must be explicitly enabled for Mirantis OpenStack
  • The Fuel Master Node can now be backed up and restored
  • VMware NSX is now supported as a network option

You’ll see on the list one new experimental feature. That features is to use Fuel to update your OpenStack environment (in this case 5.0.1 to 5.0.2). That’s pretty cool. Let’s give it a try.

Upgrade the Fuel Master

The first step is upgrading the fuel master. Go to the Mirantis site and download the upgrade package and get it on your fuel master. (I did a wget right from it, but whatever works). Make sure you have enough disk space on your Fuel Master (mine has 60GB) and put the upgrade package in /var/tmp. Use lrzuntar to uncompress the package. Make sure you have at least 2GB of RAM or it will run out of memory before it finishes.
Next, run the upgrade script:

It will take a while to run. Hopefully at the end you’ll see "INFO 10769 (upgrade) *** UPGRADE DONE SUCCESSFULLY"

Once this is done, if we access the Fuel GUI at http://yourfuelipaddress:8000, you’ll see something you’ve never seen before- a login screen. This is part of the new access control system in 5.1. The default login is admin/admin.

Enable Experimental Features

Mirantis has focused their efforts on their distribution on making things production-grade. You’ll see native support for controller clustering, various hardening efforts, etc. Included in that approach is hiding new features that are deemed experimental. So we’ll have to enable support for experimental features (like this upgrade we want to try).
back to the fuel master CLI. We’ll need to edit a YAML file and restart some processes.

First step is to edit the YAML file at /etc/fuel/version.yaml and add a line for - experimental

after we save this file, we’ll need to restart a few processes:

At this point we’re ready to go.

Updating OpenStack

Now when I log into the Fuel GUI, select my existing environment, and select the actions tab, I see a new option:
When I select Update, I get the usual ‘Are you sure’ dialog, which I accepted. Now I’m taken back to the previous screen, with a progress bar:

After a few minutes (my environment is only 3 nodes), the update is reported as complete:

Now my Icehouse environment has been updated. Hopefully before long, they’ll support between family upgrades as well (Icehouse to Juno).