中科院架构师,专注企业数字化各个方面,MES/ERP/CRM/OA、物联网、传感器、大数据、ML、AI、云计算openstack、Linux、SpringCloud。
分类: 云计算
2014-12-27 08:27:02
ADMIN_PASSWORD=${ADMIN_PASSWORD:-mypassword123}
export SERVICE_TOKEN="zhoubing"
export SERVICE_ENDPOINT=""
function get_id() {
echo `$@ | awk '/ id / { print $4 }'`
}
ADMIN_TENANT=$(get_id keystone tenant-create --name=acme)
ADMIN_USER=$(get_id keystone user-create --name=alice \
--pass="$ADMIN_PASSWORD" \
--email=admin@zhoubing.com)
ADMIN_ROLE=$(get_id keystone role-create --name=admin)
keystone user-role-add --user $ADMIN_USER --role $ADMIN_ROLE --tenant_id $ADMIN_TENANT
keystone service-create --name swift --type object-store --description 'OpenStack Storage Service'
执行这个脚本之后,再输入创建endpoint的命令,就创建了针对swift的鉴权和认证服务,其中SERVICE_TOKEN要跟keystone.conf中得admin_token一致。很简单但是对于了解keystone中得概念很有帮助。不论你要为nova,galnce,还是其他服务创建鉴权服务,只需要创建tenant user 和role 还有service ,其中最重要的一步是user-role-add,把user和role和tenant关联起来,而且需要主要的如果不export环境变量,keystone-keystoneclient是不会执行的。