工作要求搭建一个可以用来进行Openstack开发的环境,Openstack官方给了一套指导 。我便开始按照这个指导搭建环境,但是最初希望在windows开发,所以尝试在windows中搭建,但经过实际的搭建,在windows上是不可行的。好吧,还是按指导上写的来,过程中间遇到很多问题,幸运的是现在都一一解决,在这里回顾和记录一下:
系统要求:Ubuntu10.10-64 ~12.04(我是在12.04上搭建的,11版本应该也没有问题)
其他的就没什么了,因为搭建过程中的脚本会将需要的软件都安装上。Ok,开始。在终端中执行:
1
sudo apt-get install Python-dev libssl-dev python-pip git-core
下面的一步比较重要,我开始的时候没有注意,导致了很多问题也浪费了很多时间。就是一定要用Virtualenv建立一个虚拟的python环境,然后在这个虚拟环境中进行开发与测试,关于Virtualenv社区里就有比较详细的介绍,我这里仅仅简单说一下如何使用:
用easy_install或pip下载安装Virtualenv
1
easy_install Virtualenv
然后使用Virtualenv创建虚拟环境(需要在Virtualenv的安装路径中执行)
1
virtualenv openTest
执行成功后会得到信息,然后使用刚创建的虚拟环境:
1
cd openTest/
2
source bin/activate
执行完之后会发现终端的用户名之前多了个括号,括号里的内容就是当前的虚拟环境。
到这里之后开始跟Nova相关的内容,下载到nova的源代码:
1
git clone https://github.com/openstack/nova.git
2
cd nova
接下来官方给出的指导是执行:
1
./run_tests.sh
但是这个脚本没有很顺利的执行完过(多次测试)。不清楚是为什么,现在暂时把这个放在一边,还有别的路径:
1
python tools/install_venv.py
手动的安装nova需要的依赖包。这个我也尝试过多次,中间也失败过,至今已无法获知失败的原因了,但是现在确实执行成功了,见下图:
Nova development environment setup is complete.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.“
这样做还有另外一个好处,就是虚拟环境可以创建很多个,一个实验不成功可以很轻松的换其他环境来实验,省去了很多麻烦。下面在运行测试的脚本就会得到有用的结果了