立即注册 登录
About云-梭伦科技 返回首页

pig2的个人空间 https://www.aboutyun.com/?61 [收藏] [复制] [分享] [RSS]

日志

openstack【juno】入门 【keystone篇】六::Keystone使用及遇到问题解决办法

已有 1439 次阅读2015-2-26 17:46

问题导读

1.keystone的ADMIN_TOKEN该如何填写?
2.如何查看keystone数据库?
3.同步数据库遇到问题,可能有哪些原因?
4.keystone创建demo租户,是否还需要创建user及role?




创建租户、用户、角色,网上资料还是比较多的。
这里参考管网,使用另外的方式 
配置环境变量

配置OS_SERVICE_TOKEN
这里的ADMIN_TOKEN是上篇产生的值
  1. export OS_SERVICE_TOKEN=ADMIN_TOKEN
复制代码
openstack juno(ubuntu14.04)安装5:Keystone部署及介绍

 


上面替换为:
  1. export OS_SERVICE_TOKEN=570f150cb897e793e58f
复制代码


配置 endpoint:

  1. export OS_SERVICE_ENDPOINT=http://controller:35357/v2.0
复制代码


创建租户、用户、角色


  1. 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用户


  1. keystone user-create --name admin --pass ADMIN_PASS --email EMAIL_ADDRESS
复制代码
 



创建admin角色

  1. keystone role-create --name admin
复制代码

 


创建Demo租户、用户、角色

  1. keystone tenant-create --name demo --description "Demo Tenant"
复制代码
 


  1. keystone user-create --name demo --tenant demo --pass DEMO_PASS --email EMAIL_ADDRESS
复制代码

 


至此demod用户完毕注意:在创建demo tenant的同时,demo  user,demo role会自动创建

 







遇到问题及解决办法:

问题1
aboutyun@controller:~$ keystone tenant-create --name admin --description "admin Tenant"
An unexpected error prevented the server from fulfilling your request. (HTTP 500)

原因1:
环境变量错误
记得重启后,执行下面命令
  1. export OS_SERVICE_TOKEN=570f150cb897e793e58f
  2. export OS_SERVICE_ENDPOINT=http://controller:35357/v2.0
复制代码



原因2:
查看日志:

 

  1. more keystone-all.log
复制代码


获取如下关键信息
  1. (OperationalError) no such table: project u'INSERT INTO project (id, name, domain_id, des
  2. cription, enabled, extra) VALUES (?, ?, ?, ?, ?, ?)' ('70c0487ba99743719d6721a34560fca2', u'admin', 'default', u'Admin Tenant', 1, '{}')
复制代码
意思是说表不存在,进入mysql

  1. mysql -uroot -p
复制代码

  1. use keystone
复制代码



 

  1. show tables;
复制代码
竟然是空的,也就是没有同步成功。

执行命令,再次同步。
  1. su -s /bin/sh -c "keystone-manage db_sync" keystone
复制代码
还需要输入密码,算了还是使用root。

再次运行命令,还是不成功。
为什么那?还是从配置入手。

编辑 /etc/keystone/keystone.conf

数据库明明连接上了,为什么会不成功,
  1. [database]
  2. ...
  3. connection = mysql://keystone:KEYSTONE_DBPASS@controller/keystone
复制代码
后来在配置文件中,发现了sqllite,注释掉即可


再次运行命令

  1. su -s /bin/sh -c "keystone-manage db_sync" keystone
复制代码




同步成功,表不在为空

 


路过

雷人

握手

鲜花

鸡蛋

评论 (0 个评论)

facelist doodle 涂鸦板

您需要登录后才可以评论 登录 | 立即注册

关闭

推荐上一条 /2 下一条