OpenStack版本升级之Horizon
安装依赖库
对照下面E版和F版的pip-requires比较并运行pip freeze查看已经安装的包,然后安装缺少的依赖包,另外F版还需要有nodejs支持:
- [ugyn@localhost horizon]$ git diff origin/stable/essex:tools/pip-requires origin/stable/folsom:tools/pip-requires
- diff --git a/origin/stable/essex:tools/pip-requires b/origin/stable/folsom:tools/pip-requires
- index cd7e275..08d53a6 100644
- --- a/origin/stable/essex:tools/pip-requires
- +++ b/origin/stable/folsom:tools/pip-requires
- @@ -1,23 +1,14 @@
- # Horizon Core Requirements
- -Django>=1.3
- -python-cloudfiles
- -python-dateutil
- -django-nose
- +Django>=1.4
- +django_compressor
- +django_openstack_auth
- +python-cinderclient
- +python-glanceclient<2
- +python-keystoneclient
- +python-novaclient
- +python-quantumclient>=2.0
- +python-swiftclient>1.1,<2
- +pytz
- -# Glance Requirements
- -PasteDeploy
- -eventlet
- -kombu
- -paste
- -pycrypto==2.3
- -routes
- -sqlalchemy
- -sqlalchemy-migrate
- -webob==1.0.8
- -xattr
- -iso8601
- -
- -# Horizon Non-pip Requirements
- --e git+https://github.com/openstack/python-novaclient.git#egg=python-novaclient
- --e git+https://github.com/openstack/python-keystoneclient.git#egg=python-keystoneclient
- --e git+https://github.com/openstack/glance@stable/essex#egg=glance
- +# Horizon Utility Requirements
- +lockfile # for SECURE_KEY generation
- [root@stackcc update_horizon]# pip install django_compressor django_openstack_auth python-cinderclient pytz
- [root@stackcc update_horizon]# wget http://nodejs.org/dist/v0.8.14/node-v0.8.14-linux-x64.tar.gz
- [root@stackcc update_horizon]# tar -zxf node-v0.8.14-linux-x64.tar.gz
- [root@stackcc update_horizon]# cp node-v0.8.14-linux-x64/bin/node /usr/bin/
下载Horizon
- [root@stackcc update_horizon]# git clone git://github.com/openstack/horizon.git
- [root@stackcc update_horizon]# cd horizon
- [root@stackcc horizon]# git checkout -b folsom origin/stable/folsom
配置
我这里采用memcached来作为session的存储不再采用数据库,各种session存储方式的比较见这里
- [root@stackcc horizon]# cd openstack_dashboard/local/
- [root@stackcc local]# cp local_settings.py.example local_settings.py
- [root@stackcc local]# diff -u local_settings.py.example local_settings.py
- --- local_settings.py.example 2012-11-21 19:01:00.551430262 +0800
- +++ local_settings.py 2012-11-21 21:07:11.299613374 +0800
- @@ -34,11 +34,20 @@
- # for all of them.
- # from horizon.utils import secret_key
- # SECRET_KEY = secret_key.generate_or_read_from_file(os.path.join(LOCAL_PATH, '.secret_key_store'))
- +SECRET_KEY = 'qiweufsaldfalsduifalodefhalsdfh'
- # We recommend you use memcached for development; otherwise after every reload
- # of the django development server, you will have to login again. To use
- # memcached set CACHE_BACKED to something like 'memcached://127.0.0.1:11211/'
- -CACHE_BACKEND = 'locmem://'
- +CACHE_BACKEND = 'memcached://127.0.0.1:11211/'
- +
- +SESSION_ENGINE = 'django.contrib.sessions.backends.cache'
- +CACHES = {
- + 'default': {
- + 'BACKEND': 'django.core.cache.backends.memcached.MemcachedCache',
- + 'LOCATION': '127.0.0.1:11211'
- + }
- +}
- # Send email to the console by default
- EMAIL_BACKEND = 'django.core.mail.backends.console.EmailBackend'
安装Horizon
- [root@stackcc local]# cd ../../
- [root@stackcc horizon]# service httpd stop
- [root@stackcc horizon]# python setup.py install > ../install.info
- [root@stackcc horizon]# mkdir /usr/lib/python2.6/site-packages/horizon-2012.2.1-py2.6.egg/static
- [root@stackcc horizon]# chown apache:apache /usr/lib/python2.6/site-packages/horizon-2012.2.1-py2.6.egg/static
配置httpd
- [root@stackcc horizon]# cd /etc/httpd/conf.d/
- [root@stackcc conf.d]# cp horizon.conf horizon.conf.backup
- [root@stackcc conf.d]# ll /usr/lib/python2.6/site-packages/ | grep horizon
- drwxr-xr-x. 7 root root 4096 Oct 30 14:59 horizon-2012.1-py2.6.egg
- drwxr-xr-x 6 root root 4096 Nov 21 20:05 horizon-2012.2.1-py2.6.egg
- [root@stackcc conf.d]# sed -i 's/horizon-2012.1-py2.6.egg/horizon-2012.2.1-py2.6.egg/g' horizon.conf
- [root@stackcc conf.d]# cat horizon.conf
- <VirtualHost *:80>
- WSGIScriptAlias / /usr/lib/python2.6/site-packages/horizon-2012.2.1-py2.6.egg/openstack_dashboard/wsgi/django.wsgi
- WSGIDaemonProcess horizon user=apache group=apache processes=3 threads=10 home=/usr/lib/python2.6/site-packages/horizon-2012.2.1-py2.6.egg
- SetEnv APACHE_RUN_USER apache
- SetEnv APACHE_RUN_GROUP apache
- WSGIProcessGroup horizon
- DocumentRoot /usr/lib/python2.6/site-packages/horizon-2012.2.1-py2.6.egg/.blackhole/
- Alias /media /usr/lib/python2.6/site-packages/horizon-2012.2.1-py2.6.egg/openstack_dashboard/static
- <Directory />
- Options FollowSymLinks
- AllowOverride None
- </Directory>
- <Directory /usr/lib/python2.6/site-packages/horizon-2012.2.1-py2.6.egg/>
- Options Indexes FollowSymLinks MultiViews
- AllowOverride None
- Order allow,deny
- allow from all
- </Directory>
- ErrorLog /var/log/httpd/horizon_error.log
- LogLevel warn
- CustomLog /var/log/httpd/horizon_access.log combined
- </VirtualHost>
- WSGISocketPrefix /var/run/httpd
- [root@stackcc conf.d]# mkdir /usr/lib/python2.6/site-packages/horizon-2012.2.1-py2.6.egg/.blackhole
安装遗漏的包并启动Horizon
- [root@stackcc conf.d]# pip install python-memcached
- [root@stackcc conf.d]# service httpd start
- [root@stackcc conf.d]# service nova-api restart
更新noVNC
- [root@stackcc update_horizon]# git clone git://github.com/kanaka/noVNC.git
- [root@stackcc update_horizon]# cd noVNC
- [root@stackcc noVNC]# git checkout -b binary origin/binary
- [root@stackcc noVNC]# cd ..
- [root@stackcc update_horizon]# rm -fr /var/lib/noVNC
- [root@stackcc update_horizon]# rsync -az --exclude=noVNC/.git noVNC /var/lib/
- [root@stackcc update_horizon]# diff -u noVNC/utils/nova-novncproxy /var/lib/noVNC/utils/nova-novncproxy
- --- noVNC/utils/nova-novncproxy 2012-11-22 19:38:40.947866979 +0800
- +++ /var/lib/noVNC/utils/nova-novncproxy 2012-11-22 20:18:08.738045480 +0800
- @@ -148,5 +148,8 @@
- target_host='ignore',
- target_port='ignore',
- wrap_mode='exit',
- + unix_target=None,
- + ssl_target=None,
- + target_cfg=None,
- wrap_cmd=None)
- server.start_server()
- [root@stackcc update_horizon]# /var/lib/noVNC/utils/nova-novncproxy --web /var/lib/noVNC --daemon
- [root@stackcc update_horizon]# echo "/var/lib/noVNC/utils/nova-novncproxy --web /var/lib/noVNC --daemon" >> /etc/rc.d/rc.local
小问题
1.Admin权限用户登录后,Admin选项卡的Volume列表的Action列没有内容
2.Admin中的Overview选项的Usage Summary和Project中的Overview选项的Usage Summary显示不正确,只能统计到更新Horizon后新建或resize的实例信息(可能是因为我将以前创建的实例关联的flavor删除了造成的)
3.Project中的Overview选项的Quota Summary显示不正确
4.英语环境下,Project的Access & Security选项的Floating IP列表的Action列宽度不够(详情)
5.访问速度比较慢!!!
OpenStack版本升级之Horizon相关推荐
- Horizon组件安装详解 - 远程连接OpenStack服务
概述 Horizon是OpenStack中提供可视化管理(Dashboard)的组件,使用的Python的Web开发框架Django开发,使得Horizon本身代码结构较为简单,但是,内部数据流比较复 ...
- OpenStack 如何跨版本升级
作者 | 孙琦 来源 | 万博智云 OpenStack是中国私有云的事实标准 根据三方统计报告,2020年,中国私有云市场规模达到951.8亿元,同比增长42.1%,私有云在国内IaaS市场占比约45 ...
- 《5》CentOS7.0+OpenStack+kvm云平台的部署—组态Horizon
感谢朋友支持本博客,欢迎共同探讨交流,因为能力和时间有限,错误之处在所难免,欢迎指正! 假设转载.请保留作者信息. 博客地址:http://blog.csdn.net/qq_21398167 原博文地 ...
- 《5》CentOS7.0+OpenStack+kvm云平台部署—配置Horizon
为什么80%的码农都做不了架构师?>>> 感谢朋友支持本博客,欢迎共同探讨交流,由于能力和时间有限,错误之处在所难免,欢迎指正! 如果转载,请保留作者信息. 博客地址:http ...
- OpenStack Ocata Horizon 开发(一)—— 快速开始
一.写在前面 这篇文章主要介绍了OpenStack Ocata Horizon 根据官方的快速开始文档进行实际的调试验证,涉及在基于基本组件部署完成的情况下,源码部署Horizon开发环境,在后续的文 ...
- openstack horizon开发环境配置
mkdir open_srccd open_src 1.选择一个目录下载Horizon代码 git clone https://github.com/openstack/horizon.gitgit ...
- Horizon Is Easy, Horizon Is Complex
本文出自我的同事兼基友@monsterxx03 之手,本人稍作润色 Horizon Is Easy, Horizon Is Complex 如果要用一句话来概括Openstack Dashboard项 ...
- openstack部署(四)--网络配置(Networking)
计算节点 增加Networking及配置[计算节点] 安装组件 yum install -y openstack-neutron openstack-neutron-linuxbridge ebtab ...
- OpenStack Hacker养成指南
0 阅读指南 希望本文能够解开你心中萦绕已久的心结,假如是死结,请移步到 https://wiki.openstack.org/wiki/Main_Page 学习OpenStack其实就是学习各种Py ...
最新文章
- Linux常用指令---find | locate(查找)
- Could not install from “echarts\lib\visual\dataColor“ as it does not contain a package.json file.
- 紫皮java_java如果已知一个日期为2007/3/8,求10天后是哪一天,367天后呢
- 现有类 成 mfc类_女人不想成“黄脸婆”,4类食物是衰老“催化剂”,女人尽量远离_氧化...
- 43. 压缩组件(4)
- 推荐一本书(Secure Coding Standard for Java)
- 【极限精简888M,老机专用】星岚技术 Win7 x64 深度精简版 V2020.10
- 视频无缝续播的一些解决方案
- 选用数显仪表要注意的问题
- 【K8S】阿里云VPS内网环境-Kubernetes集群基础部署(CentOS8.2)
- iOS APP 反编译
- 平面设计必备学习软件
- windows中mysql服务无法启动
- 计算机名有重名,导致的问题
- 秋夜寄邱员外 / 秋夜寄丘二十二员外
- PHP 门面设计模式在laravel中的应用
- 用Cadence Virtuoso IC617仿真V-I特性曲线
- 深度linux安装spotify,如何在Kali Linux上安装Spotify
- MySql系列06:数据库对象
- Potplayer播放器安装后总是遇到BUG
热门文章
- 推荐给大家一个php代码格式化在线工具
- 常见花材的固定的方法有哪些_艺术插花的花材固定方法:其他常见的固定方法...
- PHP如何计算两个日期相差的天数?星期数?月数?年数?
- python argv 详解_Python argv函数简介
- 微型计算机2019年度金奖产品,年度盘点,金河田2004获奖产品展示
- Mininet-WiFi的安装
- python列表数据排序_Python中,如何将列表中数据排序给列表排序?
- Java Swing 小项目:二维码生成器(支持添加 LOGO 图片、前景背景颜色)
- 曾因一张照片走红,四年后“小马云”再被送回家,14岁重读小学...
- java使用bytebuddy动态生成带泛型的DTO