Aug 282012
 

上周吧keystone已经装上,估计这次应该可以顺利吧Folsom装完。利用ubuntu的ppa源,我们可以比较方便测试Folsom。

这个纯粹是为了记录我的安装过程,很多东西都去掉。具体的过程,可以参考Essex单节点的安装。

这篇文档,已经过时,存在很多问题。可以查看新的版本:http://www.chenshake.com/openstack-folsom-guide-for-ubuntu-12-04/

目前发现Essex和Folsom的区别

  1. keystone的 导入数据的时候,以前的user,和role,现在改成user_id 和role_id,这个需要调整一下导入的脚本就可以。
  2. glance,需要多安装一个python-glanceclient包才行。

2012年8月28日: nova服务无法正常启动。这个和nova.conf 文件有关。

 

我这次是装了一个devstack脚本,参考devstack脚本的配置来设置。

一:准备

添加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 文件,

  2 Responses to “Openstack Folsom安装过程”

  1. 感谢分享 看书看晕了 你这篇帖子讲的更加直观

  2. 讲的不错,对我学习搭建很有帮助!

 Leave a Reply

(required)

(required)

This site uses Akismet to reduce spam. Learn how your comment data is processed.