上周吧keystone已经装上,估计这次应该可以顺利吧Folsom装完。利用ubuntu的ppa源,我们可以比较方便测试Folsom。
这个纯粹是为了记录我的安装过程,很多东西都去掉。具体的过程,可以参考Essex单节点的安装。
这篇文档,已经过时,存在很多问题。可以查看新的版本:http://www.chenshake.com/openstack-folsom-guide-for-ubuntu-12-04/
目前发现Essex和Folsom的区别
- keystone的 导入数据的时候,以前的user,和role,现在改成user_id 和role_id,这个需要调整一下导入的脚本就可以。
- glance,需要多安装一个python-glanceclient包才行。
2012年8月28日: nova服务无法正常启动。这个和nova.conf 文件有关。
我这次是装了一个devstack脚本,参考devstack脚本的配置来设置。
Contents
一:准备
添加PPA源
apt-get -y install python-software-properties add-apt-repository ppa:openstack-ubuntu-testing/folsom-trunk-testing
一定要记住,一定要运行apt-get update
apt-get update apt-cache policy keystone
NTP服务器
如果你是单节点测试,其实NTP服务器,就无所谓。我这里就不设置。
Iscsi和nova volume服务
由于nova volume服务不成熟,所以我这次安装也不打算测试这个服务。未来nova volume服务,将要被cinder替代。
Bridge和相关软件
apt-get -y install bridge-utils rabbitmq-server memcached python-memcache kvm libvirt-bin
二:mysql
apt-get install -y mysql-server python-mysqldb
设置运行远程访问
sed -i 's/127.0.0.1/0.0.0.0/g' /etc/mysql/my.cnf
重启服务
service mysql restart
创建数据库
mysql -uroot -ppassword CREATE DATABASE nova; GRANT ALL PRIVILEGES ON nova.* TO 'nova'@'%' IDENTIFIED BY 'password'; CREATE DATABASE glance; GRANT ALL PRIVILEGES ON glance.* TO 'glance'@'%' IDENTIFIED BY 'password'; CREATE DATABASE keystone; GRANT ALL PRIVILEGES ON keystone.* TO 'keystone'@'%'IDENTIFIED BY 'password'; CREATE DATABASE horizon; GRANT ALL PRIVILEGES ON horizon.* TO 'horizon'@'%'IDENTIFIED BY 'password'; quit
三:keystone
apt-get install -y keystone python-keystone python-mysqldb python-keystoneclient
编辑/etc/keystone/keystone.conf,需要修改
- keystone的默认token是ADMIN,我这里修改chenshake
- 默认是采用sqlite连接,我们需要改成mysql
配置文件和Essex的版本有点不一样.
[DEFAULT]
admin_token = chenshake
[sql]
#connection = sqlite:////var/lib/keystone/keystone.db
connection = mysql://keystone:password@10.1.199.7/keystone
重启服务
service keystone restart
同步keystone数据库
keystone-manage db_sync
keystone的数据库,需要导入数据和endpoint,你可以一步一步用命令行导入,可以参考keystone白皮书
为了方便,你可以直接使用下面2个脚本来进行全部的设置. 由于Folsom的keystone有点不一样,把以前的user,改成user_id, 所以导入的脚本,需要做一个调整,运行下面两个sed命令就可以。
wget http://www.chenshake.com/wp-content/uploads/2012/07/keystone_data.sh_.txt mv keystone_data.sh_.txt keystone_data.sh chmod +x keystone_data.sh sed -i 's/--user/--user_id/g' keystone_data.sh sed -i 's/--role/--role_id/g' keystone_data.sh
运行脚本
./keystone_data.sh
Endpoint 导入
wget http://www.chenshake.com/wp-content/uploads/2012/07/endpoints.sh_.txt mv endpoints.sh_.txt endpoints.sh chmod +x endpoints.sh
这个脚本运行,需要使用不少参数
./endpoints.sh -m 10.1.199.7 -u keystone -D keystone \ -p password -T chenshake -K 10.1.199.7 \ -R RegionOne -E "http://localhost:35357/v2.0" -S 10.1.199.7
这个时候,keystone就安装完成。
设置环境变量
export OS_TENANT_NAME=admin export OS_USERNAME=admin export OS_PASSWORD=chenshake export OS_AUTH_URL=http://localhost:5000/v2.0/
这个时候,你就可以开始测试
可以使用下面命令来查看结果
keystone tenant-list keystone user-list keystone role-list
四:glance
apt-get install -y glance glance-api \ glance-common glance-registry python-glance python-glanceclient
编辑 /etc/glance/glance-api-paste.ini,/etc/glance/glance-registry-paste.ini,两个文件,都是修改文档末尾
sed -i -e " s/%SERVICE_TENANT_NAME%/service/g; s/%SERVICE_USER%/glance/g; s/%SERVICE_PASSWORD%/chenshake/g; " /etc/glance/glance-api-paste.ini sed -i -e " s/%SERVICE_TENANT_NAME%/service/g; s/%SERVICE_USER%/glance/g; s/%SERVICE_PASSWORD%/chenshake/g; " /etc/glance/glance-registry-paste.ini
编辑/etc/glance/glance-registry.conf,改成使用mysql验证
#sql_connection = sqlite:////var/lib/glance/glance.sqlite sql_connection = mysql://glance:password@10.1.199.7/glance
编辑/etc/glance/glance-registry.conf 和 /etc/glance/glance-api.conf,都在文件末尾添加两行
[paste_deploy] flavor = keystone
或者运行下面命令,完成修改
cat <<EOF >>/etc/glance/glance-api.conf [paste_deploy] flavor = keystone EOF cat <<EOF >>/etc/glance/glance-registry.conf [paste_deploy] flavor = keystone EOF
重启glance服务
service glance-api restart && service glance-registry restart
同步glance数据库
# glance-manage version_control 0 # glance-manage db_sync /usr/lib/python2.7/dist-packages/glance/registry/db/migrate_repo/versions/003_add_disk_format.py:47: SADeprecationWarning: useexisting is deprecated. Use extend_existing. useexisting=True)
看到下面的输出,表示正常的。
Ubuntu官方image
下载image
wget http://cloud-images.ubuntu.com/precise/current/precise-server-cloudimg-amd64-disk1.img
上传image
glance add name="Ubuntu 12.04 cloudimg amd64" is_public=true container_format=ovf \ disk_format=qcow2 < /root/precise-server-cloudimg-amd64-disk1.img
这样时候,可以运行
glance index
glance show id
五:nova
1:安装
apt-get install -y nova-api nova-cert nova-common nova-objectstore \ nova-scheduler nova-consoleauth novnc python-nova python-novaclient \ nova-compute nova-compute-kvm nova-network
如果你希望控制节点,不安装计算服务,那么 nova-compute nova-compute-kvm nova-network 这3个包不安装就可以。
2:配置
编辑 /etc/nova/api-paste.ini , 修改末尾3行
#admin_tenant_name = %SERVICE_TENANT_NAME% #admin_user = %SERVICE_USER% #admin_password = %SERVICE_PASSWORD% admin_tenant_name = service admin_user = nova admin_password = chenshake
或者运行下面命令进行修改
sed -i -e " s/%SERVICE_TENANT_NAME%/service/g; s/%SERVICE_USER%/nova/g; s/%SERVICE_PASSWORD%/chenshake/g; " /etc/nova/api-paste.ini
编辑/etc/nova/nova.conf 文件,
感谢分享 看书看晕了 你这篇帖子讲的更加直观
讲的不错,对我学习搭建很有帮助!