Friday, December 4, 2015

OpenStack Profile and Image Changes and Updates

We've updated both the OpenStack profile and the images it's based on, and wanted to point out some important changes -- and encourage you to migrate to this latest version insofar as possible.

First, we've changed the way OpenStack packages are installed and/or upgraded by the scripts.  Originally, for several reasons, we wrote the profile's setup scripts to always install the latest version of the OpenStack packages.  That no longer makes sense, because 1) the Ubuntu OpenStack packages are pretty stable right now; and 2) we can (and now do) provide a profile parameter that allows you to upgrade to the latest packages if you like.  However, by not updating the pre-installed packages by default, we can significantly reduce the load the scripts put on the Ubuntu package mirrors -- and more importantly, provide a more stable profile that isn't a moving target.  This more reasonable default is long overdue; thanks for waiting for it.  There are now three options that affect package installation on the nodes in your OpenStack experiments.  The first is new; the latter two were previously present.
  • Upgrade OpenStack packages and dependencies to the latest versions
    If a package is already installed, we don't try to upgrade it to the latest version unless this option is selected.  The default is false (unselected).
  • Install required OpenStack packages and dependencies
    If this option is false (unselected), the setup scripts assume all required OpenStack packages are installed, and it only installs critical dependencies that it absolutely requires for its own execution.  By default, of course, this option is true (selected).  If the "Upgrade" option detailed above is false, and OpenStack packages are already installed, nothing will happen.  If packages are not pre-installed, if this option is selected, they will be installed.
  • Update the Apt package cache before installing any packages
    This option gives you control over whether or not the scripts update the Apt package cache before doing any package installation/upgrades.  Typically, it's a bad idea to not update the cache, as you may end up trying to install packages that are no longer present on the mirrors; but this gives you that choice just in case.
Second, we've updated the Cloudlab software installed on the images the profile uses, to pull in some important updates.  When you pick Kilo as your OpenStack version, the Ubuntu 15 images your experiment will use now support swap partitions on x86 (most Cloudlab images have a swap partition in the standard partition layout, of course, but the right systemd helper services were not installed on Ubuntu 15).  The ARM-specific images (usable only at Cloudlab Utah, our ARM-based cluster) use our more modern partition layout, so instead of a whole-disk root partition, there is space for you to create partitions.  In particular, the setup scripts create a secondary partition as a backing store for an LVM physical volume.  The ARM-specific images now also have an important Cloudlab software update that allows the system boot initramfses to be properly regenerated (important if the kernel is upgraded, or if the installation of some package triggers the automatic rebuild of the initramfs).  Finally, all images have the most recent Ubuntu package versions of OpenStack Kilo and Juno pre-installed (unless you select the option to start "from scratch", which deliberately uses images that don't have the packages pre-installed).

Third, we've improved the profile's documentation a little bit.  When you swap in an experiment, you'll see a markdown rendering instead of the giant glob of text.  Hopefully this will make things more clear -- although we didn't attempt to document everything.

Finally, we've disabled non-current versions of this profile, meaning that you cannot instantiate nor copy those profile versions.  Please instantiate using the latest version.

Thanks for reading, and please report any problems to cloudlab-users@googlegroups.com (if you're not a member, you should join!).