安装OpenStack(openSUSE) Step by Step - Image (Glance)
上一篇:安装OpenStack(openSUSE) Step by Step - Identity (Keystone)
OpenStack Image Service - Glance
跟随OpenStack Installation Guide for Ubuntu 12.04的节奏,我们遇到了Glance。简单地说,它提供磁盘镜像服务。
安装Glance
配置好OpenStack的源后,可以直接安装
配置Glance
配置MySQL
与Keystone相似,我们需要初始化一个数据库用于Glance服务。
修改glance-api配置
设置glance-api,配置文件为/etc/glance/glance-api.conf
打开两个版本的API
1
2
enable_v1_api=true
enable_v2_api=true
使用Keystone作为验证工具。
1
flavor=keystone
根据Keystone中有关Terent、User、Role的设置(参见上一篇:安装OpenStack(openSUSE) Step by Step - Identity (Keystone)) 配置其它参数
1
2
3
4
5
6
7
8
9
[keystone_authtoken]
auth_host = 127.0.0.1
auth_port = 35357
auth_protocol = http
admin_tenant_name = service
admin_user = glance
admin_password = glance
[paste_deploy]
config_file = /etc/glance/glance-api-paste.ini
配置数据库地址,并注释SQLite相关的内容
1
2
3
sql_connection = mysql://glance:[glance的数据库密码]@localhost/glance
# [sql]
# connection = sqlite:////var/lib/glance/glance.db
然后,重启glance-api
修改glance-registry配置
与glance-api类似,在/etc/glance/glance-registry.conf
中设置
1
2
3
4
5
6
7
8
9
10
[keystone_authtoken]
auth_host = 127.0.0.1
auth_port = 35357
auth_protocol = http
admin_tenant_name = service
admin_user = glance
admin_password = glance
[paste_deploy]
config_file = /etc/glance/glance-registry-paste.ini
flavor=keystone
数据库设置
1
2
3
sql_connection = mysql://glance:[glance的数据库密码]@localhost/glance
# [sql]
# connection = sqlite:////var/lib/glance/glance.db
再修改/etc/glance/glance-registry-paste.ini
,打开Keystone验证模块1
1
2
3
# Use this pipeline for keystone auth
[pipeline:glance-registry-keystone]
pipeline = authtoken context registryapp
重启glance-registry
初始化数据库
数据库初始化,再次重启所有的服务
注意,如果glance-manage version_control 0
命令没有在glance-manage db_sync
前执行的话,验证时执行任何glance
命令都会返回500错误。在api.log
中只是说glance-registry
返回了500 Internal Server Error
,而registry.log
中根本看不出错误在哪。2
这种错误的症状是数据库glance中只有一个table:migrate_version
解决方法:重建数据库
最后查看数据库glance:
验证安装
首先下载一个测试用的镜像,参考文档中的cirros镜像
1
http://download.cirros-cloud.net/0.3.1/cirros-0.3.1-x86_64-disk.img
或者Ubuntu的Cloud Image
wget太慢,可以用浏览器下。
环境变量
管理账户的home目录下可以新建一个openrc
文件,保存admin相关的环境变量
1
2
3
4
5
export OS_USERANME=admin
export OS_TENANT_NAME=demo
export OS_PASSWORD=[admin的密码]
export 0S_AUTH_URL=http://localhost:5000/v2.0/
export OS_REGION_NAME=RegionOne
新建镜像
参考文档
OpenStack Installation Guide for Ubuntu 12.04
脚注
实际上原本就有,不需要修改。 ↩
registry.log
中最后一句为数据库回滚ROLLBACK,没有任何错误,但就是因为数据库没有正确初始化造成的。笔者在这里卡了两天两夜,最后在https://bugs.launchpad.net/glance/+bug/1157347找到原因。 ↩