首页 > OpenStack > OpenStack Step By Step(1) – setup keystone

OpenStack Step By Step(1) – setup keystone

介绍

关于 Keystone 的介绍, 网络上很多, 比如 What is this Keystone anyway?, 这里就不浪费口水了.

安装配置

为了方便, 在以下的安装过程中使用 sqlite3 作为数据库

安装

# apt-get install -y sqlite3 keystone python-keystone python-keystoneclient

配置

修改 admin 权限

首先修改 admin 的令牌, 这里我修改为 “geniux”

# emacsclient /etc/keystone/keystone.conf
# admin_token = geniux # 设置 admin_token 为 geniux

接下来, 创建需要的 tenant, user, roles 等 keystone 需要的元素, 这里使用 devstack 的 keystone_data.sh 脚本来创建, 我简单的把admin和 service 的token修改为上面设置的值. 具体见下表:

Tenant User Roles
admin admin admin
service glance admin
service nova admin, [ResellerAdmin (swift only)]
service quantum admin # if enabled
service swift admin # if enabled
demo admin admin
demo demo Member, anotherrole
invisible_to_admin demo Member

首先, 清空 apt-get 安装时默认创建的数据库, 手动创建一个

# rm -f /var/lib/keystone/keystone.db
   keystone-manage db_sync
   chown keystone:keystone /var/lib/keystone/keystone.db
   service keystone restart

然后, 用 keystone_data.sh 脚本创建上表的元素

# ./keystone_data.sh

最后一步, 是创建 endpoint(OpenStack 服务的 API 接口), 这里我使用一个由 hastexo 提供的脚本来实现, 因为原始的脚本是用 mysql 来搭建地, 所以我这里需要 将 mysql 的相关代码修改为 sqlite 的接口, 修改后的文件见附件.

# ./endpoints.sh

测试

# keystone --token geniux --endpoint http://127.0.0.1:35357/v2.0/ user-list
+----------------------------------+--------+---------+--------------------+
|                id                |  name  | enabled |       email        |
+----------------------------------+--------+---------+--------------------+
| c3ec029db5f5447c949fe36b8f1119a0 | admin  |   True  | admin@hastexo.com  |
| 2fcb4478f84a4a6d92b0aa62063fb320 |  demo  |   True  |  demo@hastexo.com  |
| 1c9c5d982c894f2ebb1edc70addebcf8 | glance |   True  | glance@hastexo.com |
| e0485d57f45744a58c3ac2d4cb9db137 |  nova  |   True  |  nova@hastexo.com  |
| ee73fbd4d3ee4c898ccb9aa5d4ec1b7c | swift  |   True  | swift@hastexo.com  |
+----------------------------------+--------+---------+--------------------+

分类: OpenStack 标签: