OpenStack Nova开发与测试环境搭建

工作要求搭建一个可以用来进行Openstack开发的环境,Openstack官方给了一套指导 http://docs.openstack.org/developer/nova/devref/development.environment.html 。我便开始按照这个指导搭建环境,但是最初希望在windows开发,所以尝试在windows中搭建,但经过实际的搭建,在windows上是不可行的。好吧,还是按指导上写的来,过程中间遇到很多问题,幸运的是现在都一一解决,在这里回顾和记录一下:

    系统要求:Ubuntu10.10-64 ~12.04(我是在12.04上搭建的,11版本应该也没有问题)

    其他的就没什么了,因为搭建过程中的脚本会将需要的软件都安装上。Ok,开始。在终端中执行:

 
<font face="Courier New">1</font><font face="Courier New">sudo</font> apt-get install <font face="Courier New">python-dev libssl-dev python-pip git-core</font>

下面的一步比较重要,我开始的时候没有注意,导致了很多问题也浪费了很多时间。就是一定要用Virtualenv建立一个虚拟的python环境,然后在这个虚拟环境中进行开发与测试,关于Virtualenv社区里就有比较详细的介绍,我这里仅仅简单说一下如何使用:

用easy_install或pip下载安装Virtualenv

 
<font face="Courier New">1</font><font face="Courier New">easy_install Virtualenv</font>

然后使用Virtualenv创建虚拟环境(需要在Virtualenv的安装路径中执行)

 
<font face="Courier New">1</font><font face="Courier New">virtualenv openTest</font>

 执行成功后会得到信息,然后使用刚创建的虚拟环境:

 
<font face="Courier New">1</font><font face="Courier New">cd</font> <font face="Courier New">openTest/ </font>
<font face="Courier New">2</font><font face="Courier New">source</font> <font face="Courier New">bin/activate</font>

执行完之后会发现终端的用户名之前多了个括号,括号里的内容就是当前的虚拟环境。

到这里之后开始跟Nova相关的内容,下载到nova的源代码:

 
<font face="Courier New">1</font><font face="Courier New">git clone https://github.com/openstack/nova.git </font>
<font face="Courier New">2</font><font face="Courier New">cd</font> <font face="Courier New">nova</font>

接下来官方给出的指导是执行:

 
<font face="Courier New">1</font><font face="Courier New">./run_tests.sh</font>

但是这个脚本没有很顺利的执行完过(多次测试)。不清楚是为什么,现在暂时把这个放在一边,还有别的路径:

 
<font face="Courier New">1</font><font face="Courier New">python tools/install_venv.py</font>

手动的安装nova需要的依赖包。这个我也尝试过多次,中间也失败过,至今已无法获知失败的原因了,但是现在确实执行成功了,见下图:

Nova development environment setup is complete.

OpenStack Nova开发与测试环境搭建

 

Ok ,开发环境就这样搭建好了,看起来很简单,但是这个过程我实验了不知道多少次,可能是我运气比较差吧,过程中间有一点特别重要:就是一定要在虚拟的环境中运行脚本,官方文档中也有明确说明:”Nova development uses virtualenv to track and manage Python dependencies while in development and testing. This allows you to install all of the Python package dependencies in a virtual environment or “virtualenv” (a special subdirectory of your nova directory), instead of installing the packages at the system level.“

这样做还有另外一个好处,就是虚拟环境可以创建很多个,一个实验不成功可以很轻松的换其他环境来实验,省去了很多麻烦。下面在运行测试的脚本就会得到有用的结果了

OpenStack Nova开发与测试环境搭建

相关推荐