1、创建keystone的user、tenants、roles。我们现在用之前的TOKEN访问keystone服务。你可以在keystone命令中用--os-token选项,也可以设置相应的环境变量。我们设置OS_SERVICE_TOKEN和 OS_SERVICE_ENDPOINT(指定keystone在哪里运行)两个变量
# export OS_SERVICE_TOKEN=之前的TOKEN
# export OS_SERVICE_ENDPOINT=http://controller:35357/v2.0
创建针对admin的租户和针对其他服务的tenant。
# keystone tenant-create --name=admin --description="Admin Tenant"
# keystone tenant-create --name=service --description="Service Tenant"
创建一个名叫admin的管理员并制定密码和邮箱
# keystone user-create --name=admin --pass=ADMIN_PASS --email=admin@example.com
创建admin角色,创建的角色要映射到policy.json指定的策略上。默认策略用admin角色访问大部分服务。
# keystone role-create --name=admin
将角色添加到用户身上,用户登录要指定tenant。将admin角色添加到admin用户身上,当admin用户使用admin tenant登录时。
# keystone user-role-add --user=admin --tenant=admin --role=admin
2、定义服务和API endpoints。
为了是认证服务track其他服务和感知其他服务在网络中的位置。需要将openstack的其他服务注册到keystone上。 为keystone自己注册。
# keystone service-create --name=keystone --type=identity --description="Keystone Identity Service"
会随机生成一个Service id。下面要用到。
定义API endpoint
# keystone endpoint-create --service_id=the_service_id_above \
--publicurl=http://controller:5000/v2.0 \
--internalurl=http://controller:5000/v2.0 \
--adminurl=http://controller:35357/v2.0
注意那个service_id是上一条命令生成的。安装玩其他服务后,也是用这样的方法进行注册。