#!/bin/bashfor tenant in admin demo servicedo tenantname= ' keystone tenant-list | awk "/${tenant}/ {print $4}" ' if [ -z "${tenantname}" ];then keystone tenant-create --name ${tenant} --description "Openstack ${tenant} tenant" else echo "${tenant} tenant have created" fidonerolename= ' keystone role-list | awk -f ' | '/admin/ {print $3} ' if [ -z ' ${rolename} ' ];then keystone role-create --name adminelse echo "${rolename} Role have created "fifor user in keystone glance nova neutron cinder swift heat admin demodo name=$ ( keystone user-list | awk "/${user}/ {print $4}") password= ' echo ${user} | tr ' [A-z] ' ' [A-z] ' _pass if [ -z "${name}" ];then case "${name}" in admin) keystone user-create -- Name ${name} --pass ${password} --email ${name} @example .com >/dev/null keystone user-role-add --user ${name} --role admin --tenant admin keystone user-role-add --user ${name} -- role _member_ --tenant admin ;; demo) keystone user-create --name ${name} --pass ${password} --email ${name} @example .com >/dev/null keystone user-role-add --user ${name} --role _member_ --tenant demo ;; *) keystone user-create - -name ${user} --pass ${password} --email ${user} @example .com >/dev/null keystone user-role-add --user ${user} --role _member_ --tenant service keystone user-role-add --user ${user} --role admin --tenant service ;; esac else echo "$user have created" fi keystone user-role-list --user $user --tenant servicedone
This article from "Happy Laboratory" blog, declined reprint!
OpenStack Keystone Creating user scripts