6配置OS_SERVICE_TOKEN
这里的ADMIN_TOKEN是上篇产生的值
export OS_SERVICE_TOKEN=ADMIN_TOKEN
复制代码
openstack juno ( ubuntu14.04 )安装 5 : Keystone 部署及介绍
上面替换为:
export OS_SERVICE_TOKEN=570f150cb897e793e58f
复制代码
配置 endpoint:
export OS_SERVICE_ENDPOINT=http://controller:35357/v2.0
复制代码
1创建租户、用户、角色
创建admin租户
keystone tenant-create --name admin --description "Admin Tenant"
复制代码
这里会遇到的问题
aboutyun@controller:~$ keystone tenant-create --name admin --description "admin Tenant"
An unexpected error prevented the server from fulfilling your request. (HTTP 500)
解决办法详细查看遇到问题及解决办法:
创建admin用户
keystone user-create --name admin --pass ADMIN_PASS --email EMAIL_ADDRESS
复制代码
创建admin角色
keystone role-create --name admin
复制代码
添加admin角色到admin用户和租户【修改内容】
keystone user-role-add --user admin --tenant admin --role admin
复制代码
2创建Demo租户、用户、角色
a.创建demo租户
keystone tenant-create --name demo --description "Demo Tenant"
复制代码
b.创建demo租户下的用户
keystone user-create --name demo --tenant demo --pass DEMO_PASS --email EMAIL_ADDRESS
复制代码
至此demod用户完毕注意:在创建demo tenant的同时,demo user,demo role会自动创建
3.创建service租户
keystone tenant-create --name service --description "Service Tenant"
复制代码
遇到问题及解决办法:
问题1
aboutyun@controller:~$ keystone tenant-create --name admin --description "admin Tenant"
An unexpected error prevented the server from fulfilling your request. (HTTP 500)
原因1:
环境变量错误
记得重启后,执行下面命令
export OS_SERVICE_TOKEN=570f150cb897e793e58f
export OS_SERVICE_ENDPOINT=http://controller:35357/v2.0
复制代码
原因2:
查看日志:
more keystone-all.log
复制代码
获取如下关键信息
(OperationalError) no such table: project u'INSERT INTO project (id, name, domain_id, des
cription, enabled, extra) VALUES (?, ?, ?, ?, ?, ?)' ('70c0487ba99743719d6721a34560fca2', u'admin', 'default', u'Admin Tenant', 1, '{}')
复制代码
意思是说表不存在,进入mysql
mysql -uroot -p
复制代码
use keystone
复制代码
show tables;
复制代码
竟然是空的,也就是没有同步成功。
执行命令,再次同步。
su -s /bin/sh -c "keystone-manage db_sync" keystone
复制代码
还需要输入密码,算了还是使用root。
再次运行命令,还是不成功。
为什么那?还是从配置入手。
编辑 /etc/keystone/keystone.conf
数据库明明连接上了,为什么会不成功,
[database]
...
connection = mysql://keystone:KEYSTONE_DBPASS@controller/keystone
复制代码
后来在配置文件中,发现了sqllite,注释掉即可
再次运行命令
su -s /bin/sh -c "keystone-manage db_sync" keystone
复制代码
同步成功,表不在为空
遇到问题2
错误表现1:
Unable to establish connection to http://controller:35357/v2.0/tenants
复制代码
错误表现2:
unknown insance
复制代码
错误表现3:
keystone启动后又挂掉
原因openstack安装问题
解决办法:
apt-get update
apt-get install ubuntu-cloud-keyring
echo "deb http://ubuntu-cloud.archive.canonical.com/ubuntu" \
"trusty-updates/juno main" > /etc/apt/sources.list.d/cloudarchive-juno.list
apt-get update && apt-get dist-upgrade