如何调试Openstack Dashboard?

时间:2015-08-05 10:25:29

标签: python django debugging openstack openstack-horizon

我正在运行Openstack云系统。我在服务器上成功安装并部署了kilo版本,但这只是Openstack的默认版本。所以,我希望在这个openstack源上进行一些修改,并为它添加更多功能。

我开始用Openstack Dashboard改变一些东西。但是,发生了一些问题。因此,我调试了这个django Web应用程序。我配置的所有内容都与openstack网站(http://docs.openstack.org)上的官方教程相同。

所以,我在我的服务器上搜索并找出有两个来源的地方:

  • 第一个是/ usr / share / openstack-dashboard /
  • 第二个是/usr/lib/python2.7/dist-packages/horizo​​n /
  • 配置文件是/etc/openstack-dashboard/local_settings.py

我在local_settings.py文件中设置了Debug = True选项。

在服务器上我输入了以下命令:

cd /usr/share/openstack-dashboard/
python manage.py runserver

这是输出:

RemovedInDjango18Warning: XViewMiddleware has been moved to django.contrib.admindocs.middleware.
WARNING:py.warnings:RemovedInDjango18Warning: XViewMiddleware has been moved to django.contrib.admindocs.middleware.
RemovedInDjango18Warning: XViewMiddleware has been moved to django.contrib.admindocs.middleware.
WARNING:py.warnings:RemovedInDjango18Warning: XViewMiddleware has been moved to django.contrib.admindocs.middleware.
Performing system checks...

System check identified no issues (0 silenced).
August 05, 2015 - 09:28:50
Django version 1.7.6, using settings 'openstack_dashboard.settings'
Starting development server at http://127.0.0.1:8000/
Quit the server with CONTROL-C.

但在浏览器中,它显示错误:

error

然后,在控制台上显示:

Starting development server at http://127.0.0.1:8000/                                                                                                                                                                                                                          
Quit the server with CONTROL-C.                                                                                                                                                                                                                                                
[05/Aug/2015 10:21:29] "GET / HTTP/1.1" 302 0                                                                                                                                                                                                                                  
Not Found: /horizon/auth/login/                                                                                                                                                                                                                                                
[05/Aug/2015 10:21:29] "GET /horizon/auth/login/?next=/ HTTP/1.1" 404 4237                                                                                                                                                                                                     
Not Found: /favicon.ico                                                                                                                                                                                                                                                        
[05/Aug/2015 10:21:29] "GET /favicon.ico HTTP/1.1" 404 4206  

请帮助我解决这个问题。如何正确调试Openstack Django网站。非常感谢你!

3 个答案:

答案 0 :(得分:2)

当您通过runserver命令运行服务器时,您应该转到根URL 127.0.0.1:8000/ 不 127.0.0.1:8000/horizo​​n

不同之处在于运行方法。 当您安装openstack_dashboard时,有一个apache配置可以监听地址http://host/horizon查看/ etc / apache2 / conf / sites-available /

目录

  

/usr/lib/python2.7/dist-packages/horizo​​n /

就像所有仪表板的框架

  

的/ usr /共享/开栈的仪表板/

是openstack的默认仪表板

  

/etc/openstack-dashboard/local_settings.py

仪表板的配置文件。您可以在此处应用默认短划线的更改,例如,附加修改或扩展默认短划线的项目

因此,如果您按照该链接http://127.0.0.1:8000/,您的问题就会得到解决 用于调试使用

使用集成调试器的pdb或ide

答案 1 :(得分:0)

请点击此链接。 http://docs.openstack.org/developer/horizon/quickstart.html

完成此操作后,将pdb语句添加到您要调试的代码中。进入horizo​​n文件夹并运行以下命令 ./run_tests.sh --runserver 127.0.0.1:port_number

您可以输入地平线正在运行的IP地址,而不是本地主机

答案 2 :(得分:0)

我已经使用PyCharm编写了用于调试仪表板的OpenStack文档 (适用于包括Horizo​​n在内的任何Openstack仪表板) http://docs.openstack.org/developer/mistral/developer/troubleshooting.html