For most competent system administrators, package installation is the preferred method of software installation. Like products or distributions, packages provide for easy and quick installations. However, unlike distributions, package installations tend to require more individual pieces (and dependencies) and do not provide assistance with configuration. On the other hand, they do provide more flexibility in that the administrator can pick and choose the pieces they would like to install. The sections below outline the methods to obtain packages for many of today’s popular server operating systems.
The source of all Nova packages is the code repository at Launchpad. If you want to closely follow the codebase, you should configure your system to obtain its packages from the PPA repositories at Launchpad.
Personal Package Archives (PPAs) is a Launchpad feature that builds Ubuntu packages from a user’s hosted source code and then distributes them to the public. OpenStack has taken advantage of this automated feature to produce several different repositories of Nova packages, each containing different snapshots of Nova code. We’ll talk about the Nova PPAs later, but you can learn more about creating your own PPAs at https://help.launchpad.net/Packaging/PPA.
If you want to run the latest release of Nova (2011.2 or “Cactus”) on Ubuntu, you can use the personal project archives (PPA) at Launchpad. You can enable packages from the PPAs by executing the following commands:
$ sudo apt-get install python-software-properties $ sudo add-apt-repository ppa:openstack-release/2011.2 $ sudo apt-get update
Replace the 2011.2 part of the add-apt-repository command above with any other OpenStack release designation to use that release. For example, you can access the “Bexar” packages with the sudo add-apt-repository ppa:openstack-release/2011.1 command.
These releases are production quality.
You can install slightly newer (which might provide additional functionality and bugs) by using development milestones that are released approximately every four weeks. You can enable those PPAs with the following commands:
$ sudo apt-get install python-software-properties $ sudo add-apt-repository ppa:nova-core/milestone $ sudo apt-get update
You can access the current development milestone schedule on the OpenStack Wiki. For example, the current “Diablo” milestone schedule is located at http://wiki.openstack.org/DiabloReleaseSchedule.
These packages are not production quality. They should be used for testing and development.
Just as you can get the last release or milestone packages, you can also get the latest trunk code as packages. This is the same command-line process as the release or milestone packages but specifies the trunk repository:
$ sudo apt-get install python-software-properties $ sudo add-apt-repository ppa:nova-core/trunk $ sudo apt-get update
As stated earlier in this chapter, trunk changes very rapidly and is the least stable of all the packages. It is prudent to review current bug reports on Launchpad before upgrading your packages on trunk, unless you’re actively trying to reproduce bugs.
These packages are not production quality and should only be used for development.
Ubuntu recently made the decision to include OpenStack (Nova, Glance, and Swift) as part of the official Ubuntu 11.04 “Natty” release. These packages are the latest release (2011.2 “Cactus”) at the time of Ubuntu 11.04 debut. You’ll find these packages in the Ubuntu universe repository. They can be installed just like the Launchpad packages.
A consulting company named Grid Dynamics provides Nova and Glance RPM packages for Red Hat Enterprise Linux. However, there are some differences between these packages and the Ubuntu versions. These are summarized as:
The packages use libguestfs instead of NBD for qcow2 image support.
Network injection code (configuration of the instances’ networking) was patched for a new path (/etc/sysconfig/network-scripts) and template.
Only KVM hypervisor has been tested.
Complete instructions and links to the development repositories can be found via the RHEL Packaging page on the OpenStack wiki or by going to their build page directly at http://yum.griddynamics.net/.
Another consulting company called Mirantis provides Nova Fedora packages based on the Red Hat Enterprise Linux packages. They provide both Cactus release and trunk packages.
Instructions for installing these RPMs and configuring them with a kickstart script are available at the Mirantis blog.
It is unlikely that you will be able to fully install Nova on Microsoft Windows. Microsoft Windows lacks many of the Nova-supporting Python libraries and is not supported by Nova orchestration features (which are mostly Linux operating system commands). While Microsoft Windows is not suitable for the core Nova daemons, Microsoft Hyper-V is supported as a compute host.
For more information on using Hyper-V as a virtualization technology on your compute hosts, be sure to consult the Hyper-V development wiki page.