安装 OpenStack 基于 Web 的管理控制台
2011年07月6日 | 标签: cloud, openstack dashboard, openstack nova, ubuntu | 作者:vpsee
OpenStack 基于 Web 的管理控制台 OpenStack Dashboard 是用 Python 和 Django 框架写的,部署到生产环境比较麻烦,没有基于 PHP 的 web 程序那么直观,不过 OpenStack Dashboard 项目正在快速开发中,还不稳定,一般不会用到生产环境,所以想试玩的话用 Django 自带的 web server 就可以了。如果想部署到生产环境建议用 apache + mod_wsgi 的方式,这也是 django 官方建议部署 django app 的方式。
安装版本控制工具和 python 虚拟环境:
$ sudo apt-get install -y git bzr $ sudo easy_install virtualenv
下载 openstack dashboard 源代码并运行 run_tests.sh:
$ git clone https://github.com/4P/openstack-dashboard.git $ cd openstack-dashboard $ sudo sh run_tests.sh
如果上面的最新 git 代码不好用,需要找旧版本的 openstack dashboard,需要使用 bzr 从 launchpad 下载(今年6月份 openstack dashboard 项目从 launchpad 移到 github)。最新的 64 版本使用了最新的 django 1.3,安装没问题但是访问的时候显示 ViewDoesNotExist 错误,所以 VPSee 建议使用旧的 46 版本(django 1.2.4):
$ bzr init-repo . $ bzr branch lp:openstack-dashboard $ cd openstack-dashboard $ bzr revert -r 46 $ sudo sh run_tests.sh
安装脚本里用到了 git,如果你的网络环境需要代理才能上网的话需要配置一下 git 使用 http 代理服务器。
对照 在 Ubuntu 上安装和配置 OpenStack Nova 一文并在 /home/vpsee/creds/novarc 文件里找到 NOVA_ACCESS_KEY, NOVA_SECRET_KEY 等相关信息填写以下参数:
$ vi openstack-dashboard/local/local_settings.py ... NOVA_DEFAULT_ENDPOINT = 'http://172.16.39.111:8773/services/Cloud' NOVA_DEFAULT_REGION = 'nova' NOVA_ACCESS_KEY = '22781cf0-b8b6-44e8-86c8-baf8d3827662:mycloud' NOVA_SECRET_KEY = '2dc4007f-3425-417b-a598-33a190d2f995' NOVA_ADMIN_USER = 'vpsee' NOVA_PROJECT = 'mycloud' ...
同步数据库的时候需要创建一个 superuser 访问 django web:
$ source .dashboard-venv/bin/activate $ sudo tools/with_venv.sh dashboard/manage.py syncdb Creating table auth_permission ... Creating table registration_registrationprofile You just installed Django's auth system, which means you don't have any superusers defined. Would you like to create one now? (yes/no): $ sudo tools/with_venv.sh dashboard/manage.py runserver 172.16.39.111:8000 Validating models... 0 errors found Django version 1.2.4, using settings 'dashboard.settings' Development server is running at http://172.16.39.111:8000/ Quit the server with CONTROL-C.
现在打开浏览器输入 http://172.16.39.111:8000/ 就应该可以看到登录界面,输入刚才创建的 superuser 的用户名和密码后就可以进入控制台了。控制台的功能有限,没有命令行那么丰富,不过基本的创建、查看、关闭 instance 功能还是有的:
@vpsee,我在做sudo tools/with_venv.sh dashboard/manage.py syncdb后,提示输入用户和密码后,结果是:
“> DEBUG:boto:Host: None
> DEBUG:boto:establishing HTTP connection
> DEBUG:boto:403 Forbidden
>
> Access was denied to this resource.
”
vpsee老师,这里的账户是新创建的吗?
@vpsee,dashboard搭建完成之后是不是就可以通过这个WEB Console进行对虚机的创建、删除、查看、启动、停止等操作呢?是否可以发表一篇关于Dashboard的一些介绍呢,呵呵,因为现在还没有在任何地方可以看到Dashboard的效果。
thanks for Vspee teacher.
@jankie
openstack web 界面可以创建、启动、停止云虚拟机等操作。还可以管理 volumes,dashboard 没啥可介绍的阿,界面很简单,网上有一些视频你可以找找看。
@vpsee,已在您的文档指导下完成了dashboardWEB console的配置,提示一下:sudo tools/with_venv.sdashboard/manage.py runserver 172.16.39.111:8000的.sdashboard应为 dashboard,:)其他OK。
谢谢vpsee。
@vpsee,再次感谢,现在我还没有部署nova-compute和虚机等等,所以在dashboard中还没有看到instance,请问,如果以后我有很多个nova-compute和虚机,是需要在dashboard中手工添加吗?还是说nova-compute节点和虚机会自动出现在实例里面呢?呵呵 :)
@vpsee 有办法将 VNC console 弄出来么? Chrome 打开的时候显示 Loading, 界面出不来, firefox 也不行。
非常简单的单机单节点结构,一个 project 对应一个 vlan-bridge-network,虚拟环境没有公网访问出口。
@jankie
不需要每次手动添加,登录 dashboard 后就会看见所有的 instances 和 images 等。
如何用openstack提供的API开发程序啊?就是openstack compute developer guide里提到的,怎么使用啊?? 谢谢楼主!
@agent
和开发一般的 python 程序一样,安装环境、导入 module 后就可以用 API 了。
我想问下自己怎么开发一个dashboard类似的界面?能提供点资料吗?谢谢~~
Hi, vpsee,
我在设置同步数据库设置super user的时候,设置错了,现在web页面无法登陆进去。有什么办法可以重来一遍吗?
@newton
到数据库里面手动改动密码试试。
同@newton,我在设置super user的时候设置错了。请问在数据库中如何修改密码?哪个表中存放用户名和密码?
@vpsee
我安装完web的控制台之后,一切都没问题,但当我把ssh断开重新链接以后,我的web服务启不来了.报错
root@clc:~/openstack-dashboard/openstack-dashboard/openstack-dashboard/dashboard# ./manage.py runserver 172.10.30.1:8000
Traceback (most recent call last):
File “./manage.py”, line 2, in
from django.core.management import execute_manager
ImportError: No module named django.core.management
知道了是环境变量.我的错.这么棉线的问题没看到
@vpsee 你好,请问我做到
openstack-dashboard/openstack-dashboard$ sudo tools/with_venv.sh 这步的时候出现下面的问题?请问是什么情况?
求帮忙解决一下。
(.dashboard-venv)chen@ubuntu:~/openstack-dashboard/openstack-dashboard$ sudo tools/with_venv.sh dashboard/manage.py syncdb
[sudo] password for chen:
ERROR:root:No module named local.local_settings
Traceback (most recent call last):
File “/home/chen/openstack-dashboard/openstack-dashboard/dashboard/settings.py”, line 123, in
from local.local_settings import *
ImportError: No module named local.local_settings
ERROR:root:No module named local.local_settings
Traceback (most recent call last):
File “/home/chen/openstack-dashboard/openstack-dashboard/dashboard/../dashboard/settings.py”, line 123, in
from local.local_settings import *
ImportError: No module named local.local_settings
Error: No module named django_openstack.templatetags
@babe 我也遇到你那种错误了
(.dashboard-venv)chen@ubuntu:~/openstack-dashboard/openstack-dashboard$ sudo tools/with_venv.sh dashboard/manage.py syncdb
[sudo] password for chen:
ERROR:root:No module named local.local_settings
Traceback (most recent call last):
File “/home/chen/openstack-dashboard/openstack-dashboard/dashboard/settings.py”, line 123, in
from local.local_settings import *
ImportError: No module named local.local_settings
ERROR:root:No module named local.local_settings
Traceback (most recent call last):
File “/home/chen/openstack-dashboard/openstack-dashboard/dashboard/../dashboard/settings.py”, line 123, in
from local.local_settings import *
ImportError: No module named local.local_settings
Error: No module named django_openstack.templatetags
有哪位同学碰到过这样的问题,可以给个参考的答案吗?
您好,我安装控制台的时候提示以下信息,管理页面登录进去也不知道用户名和密码:
# tools/with_venv.sh dashboard/manage.py syncdb
INFO:root:Running in debug mode without debug_toolbar.
INFO:root:Running in debug mode without debug_toolbar.
Creating tables …
Installing custom SQL …
Installing indexes …
No fixtures found.
@vpsee 你好,请问一下,装openstack-dashboard之前要装keystone么??
@teacherzhu
不是必须的,可以不装 keystone
@vpsee
你好,登陆dashboard时候,如下错误,请教如何解决,十分感谢!
Unexpected error: list indices must be integers, not str
@xuming
这个错误应该出现在diablo版本的dashboard。这个版本是出错的,当时我也碰上一样的问题。后来下载yz大侠的dashaboard版本就好了。我给出地址:
60.12.206.113网站的dashboard包:diablo-release.tar.bz2
@juno
感谢~ 可是您给的60.12.206.113这个地址用IE打开一片空白,请问应该用什么方式下载,多谢!
Creating tables …
Installing custom SQL …
Installing indexes …
No fixtures found.
请问dashboard登陆问题怎么解决的啊?
请加我QQ:437790370
谢谢!
@juno
dashboard已安装完成,但发现用图形化解决上传了Image文件,创建实例后,instance的状态一直处于build,卡在build,不知道是何种原因,求解!
有没有最新的git clone下来的版本的安装方式啊?我用的最新的git下来的安装,都很容易出错啊~
楼上各位谁有最新的安装方式,给个链接啊
我点击创建端口的时候提示
/opt/stack/horizon/openstack-dashboard/dashboard/templates/nova/networks/ports/_create.html: No such file or directory
发现没有ports目录是怎么回事呢?
我遇到和smallfish 一样的问题 请问怎么解决呢?QQ1601026644