分享

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

pig2 发表于 2015-1-28 14:13:18 [显示全部楼层] 只看大图 回帖奖励 阅读模式 关闭右栏 37 322003
本帖最后由 pig2 于 2015-3-26 20:30 编辑
问题导读

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部署及介绍

18.png


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


配置 endpoint:

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


1创建租户、用户、角色


创建admin租户
  1. keystone tenant-create --name admin --description "Admin Tenant"
复制代码


创建租户.png

这里会遇到的问题

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



创建admin角色

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

adminrole.png


添加admin角色到admin用户和租户【修改内容】
  1. keystone user-role-add --user admin --tenant admin --role admin
复制代码



2创建Demo租户、用户、角色

a.创建demo租户
  1. keystone tenant-create --name demo --description "Demo Tenant"
复制代码
demo.png

b.创建demo租户下的用户
  1. keystone user-create --name demo --tenant demo --pass DEMO_PASS --email EMAIL_ADDRESS
复制代码

demouser.png


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

shili.png


3.创建service租户
  1. 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:
环境变量错误
记得重启后,执行下面命令
  1. export OS_SERVICE_TOKEN=570f150cb897e793e58f
  2. export OS_SERVICE_ENDPOINT=http://controller:35357/v2.0
复制代码



原因2:
查看日志:

查看日志.png

  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
复制代码



showtables.png

  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
复制代码




同步成功,表不在为空

keystone.png


遇到问题2

错误表现1:
  1. Unable to establish connection to http://controller:35357/v2.0/tenants
复制代码

错误表现2:
  1. unknown insance
复制代码
错误表现3:
keystone启动后又挂掉

原因openstack安装问题

解决办法:
  1. apt-get update
  2. apt-get install ubuntu-cloud-keyring
  3. echo "deb http://ubuntu-cloud.archive.canonical.com/ubuntu" \
  4.   "trusty-updates/juno main" > /etc/apt/sources.list.d/cloudarchive-juno.list
  5. apt-get update && apt-get dist-upgrade
复制代码


相关内容:

openstack【juno】入门 【准备篇】零:整体介绍

openstack【juno】入门 【准备篇】一: Ubuntu14.04远程连接(ssh安装)

openstack【juno】入门 【准备篇】二::NTP安装

openstack【juno】入门 【准备篇】三:mysql(MariaDB)安装

openstack【juno】入门 【准备篇】四::RabbitMQ 安装

openstack【juno】入门 【keystone篇】五::Keystone部署及介绍

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

openstack【juno】入门 【keystone篇】七:创建 service entity 和 API endpoint

openstack【juno】入门 【keystone篇】八:新手操作篇(验证操作篇)

openstack【juno】入门 【keystone篇】九:创建openstack客户端环境变量脚本

openstack【juno】入门 【glance 篇】十:glance初步介绍

openstack【juno】入门 【glance 篇】十一:glance安装配置

openstack【juno】入门 【glance 篇】十二:glance安装配置验证及相关操作

openstack【juno】入门 【nova 篇】十三(1):nova简单介绍

openstack【juno】入门 【nova 篇】十三(2):安装配置计算服务

openstack【juno】入门 【网络篇】十四:neutron介绍

openstack【juno】入门 【网络篇】十五:neutron安装部署(控制节点)

openstack【juno】入门 【网络篇】十六:neutron安装部署(网络节点)

openstack【juno】入门 【网络篇】十七:neutron安装部署(计算节点)

openstack【juno】入门 【网络篇】十八:创建实例化网络

openstack【juno】入门 【dashboard篇】十九:添加dashboard

openstack【juno】入门 【cinder篇】二十:cinder介绍及安装配置【控制节点】

openstack【juno】入门 【cinder篇】二十一:安装配置块存储节点(cinder)

openstack【juno】入门 【swift篇】二十二:对象存储安装配置【控制节点】

openstack【juno】入门 【swift篇】二十三:安装配置swift节点

openstack【juno】入门 【swift篇】二十四:创建初始rings

openstack【juno】入门 【swift篇】二十五:验证安装(控制节点)

openstack【juno】入门 【实例篇】二十六:创建实例(neutron)

openstack【juno】入门 【总结篇】二十七:openstack排除故障及常见问题记录

openstack【juno】入门 【总结篇】二十八:keystone及网络总结





已有(37)人评论

跳转到指定楼层
gswwjm 发表于 2019-3-15 14:31:56
艰难的过程
回复

使用道具 举报

gswwjm 发表于 2019-3-13 16:18:29
需要系统学习,有帮助,感谢楼主
回复

使用道具 举报

Hercwey 发表于 2016-7-22 10:05:47
yingfeijiuji 发表于 2016-1-6 13:02
谢谢回复!已经解决了!

既然解决了,就通报一下解决办法,这是做为IT人的基本素质。
回复

使用道具 举报

yingfeijiuji 发表于 2016-1-6 13:02:11
谢谢回复!已经解决了!
回复

使用道具 举报

pig2 发表于 2015-12-25 19:16:27

keystone安装有问题,如果不熟悉,建议重新部署,找个可靠的文档



回复

使用道具 举报

yingfeijiuji 发表于 2015-12-25 10:17:10
版主你好!我安装完keystone后,重启发现再往下安装就一直报The resource could not be found. (HTTP 404),按照你的这个操作,把环境变量添加了,检查数据库表时发现没有表,继而又发现keystone.conf这个文件里你标明的sqllite这一行也没有,路径的keystone.db也没有!我就试着重新创建keystone,但是就报错the request you have made requires authentication(HTTP 401),请问我该怎么办?我是在centOS7redhat环境上配置的

回复

使用道具 举报

yingfeijiuji 发表于 2015-12-25 10:16:34
版主你好!我安装完keystone后,重启发现再往下安装就一直报The resource could not be found. (HTTP 404),按照你的这个操作,把环境变量添加了,检查数据库表时发现没有表,继而又发现keystone.conf这个文件里你标明的sqllite这一行也没有,路径的keystone.db也没有!我就试着重新创建keystone,但是就报错the request you have made requires authentication(HTTP 401),请问我该怎么办?我是在centOS7redhat环境上配置的
回复

使用道具 举报

Jason_ZTbhU 发表于 2015-10-26 20:08:59
张小强 发表于 2015-5-22 18:28
搞定了,建议不要用这些工具,手动改。

张工:         您好! 我这边建立tenant用户报如错误:
WARNING: Bypassing authentication using a token & endpoint (authentication credentials are being ignored).
Unable to establish connection to http://localhost:35357/v2.0/tenants



变量:export 操作如下
root@OpenStack:/var/lib/keystone# export OS_SERVICE_TOKEN=e6504e86cbba88ad3c59
root@OpenStack:/var/lib/keystone# export OS_SERVICE_ENDPOINT=http://localhost:35357/v2.0   

1,其中: http://controller:35357/v2.0     我修改成 http://localhost:35357/v2.0 ,原因: 在初始化keystone 数据库时报错。修改为localhost 后OK,
2,vi /etc/keystone/keystone.conf     
      admin_token= e6504e86cbba88ad3c59        #这个不知怎么来的?  使用#openssl rand -hex 10 >~/admin_token  生成,但没明白它如何生成?
      connection = mysql://keystone:Test166@localhost/keystone    #其中的controller 修改为localhost  。


是否按上面说得得重新安装了?  
回复

使用道具 举报

恋凡小悠 发表于 2015-9-13 13:55:57
pig2 发表于 2015-9-13 13:23
核实注释掉内容

这个我设置好了的  但是还是失败 还是无法同步
回复

使用道具 举报

1234下一页
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

推荐上一条 /2 下一条