Chapter 5. Obtaining Nova

Nova is distributed from several sources in many different packaging formats. As it is a relatively new project, it lacks the installation ease and universal portability of more established open source projects like Apache Web Server. As such, it is not easily installable on every operating system distribution without significant administrative configuration. In this chapter, we will help you decide which version of the OpenStack code base is best suited to your deployment needs and show you how to obtain that version in your preferred packaging.

As Nova is a fast-moving and relatively young project, we need to make some decisions about the codebase that we want to use. There are two major decisions here:

To adequately answer these questions, you need to ask yourself two tough questions:

To answer the proficiency question, you will need to honestly examine your skills across not just programming, but also system administration. If you don’t utilize the packaged versions of Nova, you will need to understand how Python applications are built and their dependent packages. If you want to use newer, non-production versions of the code, it is possible that you will run into bugs that you will need to troubleshoot or fix yourself. On the systems administration side, Nova has heavy dependencies of Linux networking and virtualization support. As stated earlier in the book, it is mostly a control framework for virtual machines, storage, and networks. To apply its advanced configurations or options, you will need to understand the trade-offs you will be making. Rules of thumb for classifying skill level could be as follows:

As noted earlier in the book, Nova is a rapidly moving project that changes daily. Having said that, there are still regular releases, as with any normal software project. For the purposes of this book, we will look at three possible code releases that you might want to deploy:

Table 5-1 provides some guidance on which version and packaging format you’ll be most successful at deploying depending on your proficiency and desired environment.

Several of the cells within this table have been labelled “N/A” to indicate that these choices are not advised for the complexity of installation and skill level of the installer.