pig2 发表于 2014-4-4 17:00:18

keystone总结:如何重置keystone及keystone使用错误总结,openstack如何查找错误

1.openstack一般如何查找错误?
2. Connection refused一般错误的原因是什么?


我们在使用keystone的过程中,经常需要重置keystone。那么该如何重置。首先进入mysql数据库
mysql -u root -p
输入密码,进入mysql。
删除数据库(这里删除会和表一起全部删除)
mysql> drop database keystone;
然后创建数据库(这里只是创建一个数据名字,并没有实际的表)
mysql> create database keystone;
退出mysql
mysql> quit;
Bye

同步keystone;
root@controller1:~# keystone-manage db_sync;
重置完毕
----------------------------------------------------------------------------------------------------------
错误表现:
root@controller1:~# keystone user-list
Authorization Failed: Connection refused
root@controller1:~# service keystone status
keystone start/running, process 2672
root@controller1:~# keystone role-list
Authorization Failed: Connection refused
root@controller1:~# keystone tenant-list
Authorization Failed: Connection refused
root@controller1:~# keystone endpoint-list
Authorization Failed: Connection refused
root@controller1:~# service keystone status
keystone start/running, process 2672


解决方案:
错误一般情况是查看错误日志,那么在哪里可以错误日志那,如果你没有做任何改动的话,如下图所示:
http://www.aboutyun.com/data/attachment/album/201404/04/165115uu0cypekupumkcdu.png

我们会看到运行的日志。这里也可以帮助大家排除错误。
但是通过上面的log,并没有找到错误,没有办法了,只能靠猜了。对了,环境变量很重要,如果我们环境变量设置错误,那么要么每次都输入用户名密码,要么通信失败。
常犯错误1:
为什么会通信失败,很显然是因为我们在刚开始配置的时候,并不能理解其中ip的含义,直接把文档中ip给复制过来,但是这个ip确实不存在的,造成通信失败。这是一个很明显的错误。
错误2:
由于在使用过程中,通过某种改动,初始化keystone,但是却忘记查看环境变量等相关的配置。
http://www.aboutyun.com/data/attachment/album/201404/04/165741dzqgo3ll46n9oc6g.png

如上述,便是忘记查看OS_AUTH_URL的ip设置

pig2 发表于 2014-4-4 17:07:18

本帖最后由 pig2 于 2014-4-4 17:25 编辑

这里在补充一些类似的错误:
2012-07-19 12:45:03,998 - util.py: 'http://169.254.169.254/2009-04-04/meta-data/instance-id' failed : url error [ Connection refused]
2012-07-19 12:45:11,005 - DataSourceEc2.py: giving up on md after 121 seconds
原因分析:
计算节点的nova-api,没有启动。通过日志排除错误:
root@node18:~# tail /var/log/nova/nova-api.log
2012-07-19 20:21:29 CRITICAL nova [-] No module named keystone.middleware.auth_token
2012-07-19 20:27:10 CRITICAL nova [-] No module named keystone.middleware.auth_token
解决方案:
计算节点无法找到keystone。安装keystone client就可以了。
apt-get install python-keystone python-keystoneclient


参考:
陈克沙

slosh 发表于 2015-7-28 10:20:11

楼主:
# openstack user list
ERROR: openstack The request you have made requires authentication. (HTTP 401) (Request-ID: req-dc894a91-b867-4fc8-b336-0c88f91ec939)
这认证不通过问题让我纠结了很久,如何破?请指教,各种unset和重启相关服务,都这样。

NEOGX 发表于 2015-7-28 10:59:00

slosh 发表于 2015-7-28 10:20
楼主:
# openstack user list
ERROR: openstack The request you have made require ...

重置下keystone
也就是重新初始化下数据库。根据自己的版本来,参考
keystone总结:如何重置keystone及keystone使用错误总结,openstack如何查找错误
http://www.aboutyun.com/thread-7236-1-1.html



slosh 发表于 2015-7-28 11:18:09

本帖最后由 slosh 于 2015-7-28 11:19 编辑

感谢楼上回复。
我按照版主的帖操作:删除了keystone库,重新初始化的。里面没有数据,只有初始的表结构;
我unset了所有的变量,重启了相关openstask的服务;
这之后export了OS_TOKEN和OS_AUTH_URL;再然后就是悲剧重复。。通过不了认证。。。
就是不知道问题出在哪里。昨天上午没问题,不知道误操作了什么,突然就一直报错认证通不过。

NEOGX 发表于 2015-7-28 11:19:09

slosh 发表于 2015-7-28 11:18
感谢楼上回复。
我按照版主的帖操作:删除了keystone库,重新初始化的。里面没有数据,只有初始的表结构; ...

那版本的,是否有临时token

slosh 发表于 2015-7-28 11:24:30

本帖最后由 slosh 于 2015-7-28 11:57 编辑

openstack kilo,OS是centos 7.0 64bit
临时token是指:/usr/share/keystone/keystone-dist-paste.ini吗?我按照官方文档里删除admin_token_auth
# cat /usr/share/keystone/keystone-dist-paste.ini | grep admin_token_auth


附上keystone.log信息:
2015-07-28 11:55:22.123 8656 INFO keystone.common.wsgi [-] POST /tokens?
2015-07-28 11:55:22.240 8656 WARNING keystone.common.wsgi [-] Authorization failed. The request you have made requires authentication. from 10.24.XX.XX
2015-07-28 11:55:22.243 8656 INFO eventlet.wsgi.server [-] 10.24.XX.XX - - "POST /v2.0/tokens HTTP/1.1" 401 401 0.124573

slosh 发表于 2015-7-28 13:07:16

已经准备放弃,修正下上面说的OS版本,原来是Red Hat Enterprise Linux Server release 7.0 (Maipo)。。。
这次打算重新做centos 7.1。感谢NEOGX老兄的指点。
页: [1]
查看完整版本: keystone总结:如何重置keystone及keystone使用错误总结,openstack如何查找错误