安装 OpenStack 基于 Web 的管理控制台
2011年07月6日 | 标签: cloud, openstack dashboard, openstack nova, ubuntu
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 功能还是有的:
