打开Openstack dashboard出现Internal Server Error

这次的问题是在openstack搭建好之后,dashboard本身是能用的,但是在某一天后,突然发现打开dashboard后出现Internal Server Error. 于是乎在网上找答案但是没有,那就自己动手解决吧。

首先打开dashboard的log文件,我的是:etc/httpd/logs/horizon_error.log.

发现下面的error 信息:

2015-04-28 01:39:55.380169 Traceback (most recent call last):
2015-04-28 01:39:55.380313   File "/opt/stack/horizon/openstack_dashboard/wsgi/django.wsgi", line 14, in <module>
2015-04-28 01:39:55.380466     application = get_wsgi_application()
2015-04-28 01:39:55.380557   File "/usr/local/lib/python2.7/dist-packages/django/core/wsgi.py", line 14, in get_wsgi_application
2015-04-28 01:39:55.380659     django.setup()
2015-04-28 01:39:55.380740   File "/usr/local/lib/python2.7/dist-packages/django/__init__.py", line 20, in setup
2015-04-28 01:39:55.380837     configure_logging(settings.LOGGING_CONFIG, settings.LOGGING)
2015-04-28 01:39:55.380939   File "/usr/local/lib/python2.7/dist-packages/django/conf/__init__.py", line 46, in __getattr__
2015-04-28 01:39:55.381056     self._setup(name)
2015-04-28 01:39:55.381140   File "/usr/local/lib/python2.7/dist-packages/django/conf/__init__.py", line 42, in _setup
2015-04-28 01:39:55.381250     self._wrapped = Settings(settings_module)
2015-04-28 01:39:55.381337   File "/usr/local/lib/python2.7/dist-packages/django/conf/__init__.py", line 94, in __init__
2015-04-28 01:39:55.381435     mod = importlib.import_module(self.SETTINGS_MODULE)
2015-04-28 01:39:55.381518   File "/usr/lib/python2.7/importlib/__init__.py", line 37, in import_module
2015-04-28 01:39:55.381665     __import__(name)
2015-04-28 01:39:55.381751   File "/opt/stack/horizon/openstack_dashboard/wsgi/../../openstack_dashboard/settings.py", line 263, in <module>
2015-04-28 01:39:55.381886     from local.local_settings import *  # noqa
2015-04-28 01:39:55.381977   File "/opt/stack/horizon/openstack_dashboard/wsgi/../../openstack_dashboard/local/local_settings.py", line 117, in <module>
2015-04-28 01:39:55.382078     os.path.join(LOCAL_PATH, '.secret_key_store'))
2015-04-28 01:39:55.382174   File "/opt/stack/horizon/openstack_dashboard/wsgi/../../horizon/utils/secret_key.py", line 63, in generate_or_read_from_file
2015-04-28 01:39:55.382377     raise FilePermissionError("Insecure key file permissions!")
2015-04-28 01:39:55.382494 FilePermissionError: Insecure key file permissions!

初步判断是文件的权限问题,根据os.path.join(LOCAL_PATH, '.secret_key_store') 找到/opt/stack/horizon/openstack_dashboard/local/.secret_key_store, 并发现对这个文件拥有所有的权限,很奇怪为啥会出现permission的问题 于是查看源码,发现没有这个文件,所以这个文件应该是新生成的,至于为什么会生成,不知道。

然后决定删除这个文件,再次刷新dashboard的url,很神奇的是work了,然后再次查看该文件夹,发现该目录下还是新产生了这个文件,并且权限和上图一样。

SECRET_KEY(New in version 2012.1(Essex)) 设置一个自定义的密钥:你可以将它设置为一个特定的值,或者你可以让horizon上生成一个默认的密钥在本机上,无论Python WSGI(如果使用在Apache + mod_wsgi)。在许多情况下,你会想把它设定,例如当多个dashboard实例分布在不同的机器上(通常在一个负载均衡器)。你必须确保会话获取所有请求路由到相同的dashboard实例或你为它们设置相同的secret_key。 From horizon.utils import secret_key:

SECRET_KEY = secret_key.generate_or_read_from_file(
os.path.join(LOCAL_PATH, '.secret_key_store'))

local_settings.py.example文件包括一个快速和容易的方法来生成一个单一的安装密钥。

转载于:https://my.oschina.net/guoba/blog/806617

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值