操作系统准备好后,接下来就应该进行各组件的安装了,在这一篇里我将介绍怎么在一台机器上安装keystone、glance、nova、horizon、swift。大致安装步骤如下,下载源代码,下载并安装各组件的依赖库,安装各组件。
1.下载源代码并解压
从官方网站下载源代码,地址如下:
https://launchpad.net/nova/
https://launchpad.net/glance/
https://launchpad.net/keystone/
https://launchpad.net/horizon/
https://launchpad.net/swift/
我的文件夹结构如下:
[ugyn@cc install]$ ls -l
total 5984
-rw-r--r--. 1 ugyn ugyn 298898 Apr 8 14:18 glance-2012.1.tar.gz
-rw-r--r--. 1 ugyn ugyn 606289 Apr 10 19:15 horizon-2012.1.tar.gz
-rw-r--r--. 1 ugyn ugyn 186851 Apr 10 19:15 keystone-2012.1.tar.gz
-rw-r--r--. 1 ugyn ugyn 4359338 Apr 8 14:15 nova-2012.1.tar.gz
-rw-r--r--. 1 ugyn ugyn 95197 Mar 27 18:26 pip-1.1.tar.gz
-rw-r--r--. 1 ugyn ugyn 48335 Apr 10 19:15 Python-keystoneclient-2012.1.tar.gz
-rw-r--r--. 1 ugyn ugyn 85322 Apr 8 14:16 python-novaclient-2012.1.tar.gz
-rw-r--r--. 1 ugyn ugyn 421496 Apr 8 14:20 swift-1.4.8.tar.gz
-rw-r--r--. 1 ugyn ugyn 202 Apr 13 16:10 test
解压:
[ugyn@cc install]$ tar zxpf keystone-2012.1.tar.gz
[ugyn@cc install]$ tar zxpf glance-2012.1.tar.gz
[ugyn@cc install]$ tar zxpf nova-2012.1.tar.gz
[ugyn@cc install]$ tar zxpf python-novaclient-2012.1.tar.gz
[ugyn@cc install]$ tar zxpf python-keystoneclient-2012.1.tar.gz
[ugyn@cc install]$ tar zxpf horizon-2012.1.tar.gz
[ugyn@cc install]$ tar zxpf swift-1.4.8.tar.gz
2.安装pip:
pip是一个安装python库的好工具,总的来说源代码安装OpenStack还是比较简单的,每个组件具有类似的结构,在各个安装包下有个tools/pip-requires文件,列举了该组件所依赖的python库,因此安装该组件前先要用pip安装所依赖的python库。
下载pip:
安装:
[ugyn@cc install]$ tar zxpf pip-1.1.tar.gz
[ugyn@cc install]$ cd pip-1.1 && sudo python setup.py install
3.整合pip-requires文件下载相关python库文件:
我的目标是即使在没有网络的环境下也能安装OpenStack,所以我希望把所有相关库文件下载下来然后通过本地安装。为此我打算把各组件的pip-requires文件整合到一个文件,去除其中的重复部分,然后用pip工具下载所有库文件,我会提供一个所有文件的下载,如果你使用我提供的下载文件的话就可以跳过这步。
[ugyn@cc pip-1.1]$ cd ..
[ugyn@cc install]$ cat keystone-2012.1/tools/pip-requires glance-2012.1/tools/pip-requires nova-2012.1/tools/pip-requires horizon-2012.1/tools/pip-requires python-novaclient-2012.1/tools/pip-requires python-keystoneclient-2012.1/tools/pip-requires | grep "^[a-zA-Z]" | sort -u > pip-requires
编辑pip-requires去除重复的库,原则上重复的库只留下满足要求的版本号最确定的那一个,去除我们要在这里安装的glance,swift等我们要在这里安装的组件。
下载依赖包以供多次使用:
[ugyn@cc install]$ mkdir pipdowns
[ugyn@cc install]$ pip install -r pip-requires -d pipdowns --no-install
4.安装依赖库文件:
以下几个要先安装,因为有其它库的安装依赖于他们
[ugyn@cc install]$ sudo pip install ./pipdowns/Markdown-2.1.1.tar.gz ./pipdowns/nose-1.1.2.tar.gz ./pipdowns/pycrypto-2.3.tar.gz ./pipdowns/six-1.1.0.tar.gz ./pipdowns/Tempita-0.5.1.tar.gz
安装其它库:
[ugyn@cc install]$ sudo pip install ./pipdowns/*
测试是否已全部安装好,这是我自己写的简单脚本,没有输入即表示正常,否则会显示未安装的库名,到时候我会将所有软件打包供大家下载,我的目标是在完全没有网络的机器上也能正常安装OpenStack
[ugyn@cc install]$ ./test
5.安装各组件:
[ugyn@cc install]$ cd keystone-2012.1 && sudo python setup.py install
[ugyn@cc keystone-2012.1]$ cd ../glance-2012.1 && sudo python setup.py install
[ugyn@cc glance-2012.1]$ cd ../nova-2012.1 && sudo python setup.py install
[ugyn@cc nova-2012.1]$ cd ../python-novaclient-2012.1 && sudo python setup.py install
[ugyn@cc python-novaclient-2012.1]$ cd ../python-keystoneclient-2012.1 && sudo python setup.py install
[ugyn@cc python-keystoneclient-2012.1]$ cd ../horizon-2012.1 && sudo python setup.py install
[ugyn@cc horizon-2012.1]$ cd ../swift-1.4.8 && sudo python setup.py install
安装到这里就结束了,接下来我将介绍各组件的配置,运行,测试。。。