问题描述:
没有权限访问 /root/keystone-signing文件,这应该是由于运行swift的进程无法访问root文件夹下面的内容造成的,openstack bug report https://bugs.launchpad.net/keystone/+bug/1036847
解决方案:
修改/etc/swift/proxy-server.conf文件,在[filter:authtoken] 一节中指定signing_dir = /etc/swift,重启swift,重新验证,问题解决。
在安装完swift集群之后,使用swift stat查看状态,发现一直没有响应,初步判断是由于swift同keystone的认证环节出现问题,查看/opt/stack/data/swift/logs/proxy.error日志文件发现如下错误:
UNCAUGHT EXCEPTION#012Traceback (most recent call last):#012
File "/usr/local/bin/swift-proxy-server", line 7, in <module>#012 execfile(__file__)#012
File "/opt/stack/swift/bin/swift-proxy-server", line 22, in <module>#012 run_wsgi(conf_file, 'proxy-server', default_port=8080, **options)#012
File "/opt/stack/swift/swift/common/wsgi.py", line 187, in run_wsgi#012 run_server()#012
File "/opt/stack/swift/swift/common/wsgi.py", line 149, in run_server#012 global_conf={'log_name': log_name})#012
File "/usr/lib/python2.7/dist-packages/paste/deploy/loadwsgi.py", line 247, in loadapp#012 return loadobj(APP, uri, name=name, **kw)#012
File "/usr/lib/python2.7/dist-packages/paste/deploy/loadwsgi.py", line 272, in loadobj#012 return context.create()#012
File "/usr/lib/python2.7/dist-packages/paste/deploy/loadwsgi.py", line 710, in create#012 return self.object_type.invoke(self)#012
File "/usr/lib/python2.7/dist-packages/paste/deploy/loadwsgi.py", line 207, in invoke#012 app = filter(app)#012
File "/opt/stack/python-keystoneclient/keystoneclient/middleware/auth_token.py", line 981, in auth_filter#012 return AuthProtocol(app, conf)#012
File "/opt/stack/python-keystoneclient/keystoneclient/middleware/auth_token.py", line 252, in __init__#012 os.makedirs(self.signing_dirname)#012
File "/usr/lib/python2.7/os.py", line 157, in makedirs#012 mkdir(name, mode)#012
OSError: [Errno 13] Permission denied: '/root/keystone-signing'
没有权限访问 /root/keystone-signing文件,这应该是由于运行swift的进程无法访问root文件夹下面的内容造成的,openstack bug report https://bugs.launchpad.net/keystone/+bug/1036847
解决方案:
修改/etc/swift/proxy-server.conf文件,在[filter:authtoken] 一节中指定signing_dir = /etc/swift,重启swift,重新验证,问题解决。