安装依赖库

对照下面E版和F版的pip-requires比较并运行pip freeze查看已经安装的包,然后安装缺少的依赖包,另外F版还需要有nodejs支持:

[plain]  view plain copy
  1. [ugyn@localhost horizon]$ git diff origin/stable/essex:tools/pip-requires origin/stable/folsom:tools/pip-requires
  2. diff --git a/origin/stable/essex:tools/pip-requires b/origin/stable/folsom:tools/pip-requires
  3. index cd7e275..08d53a6 100644
  4. --- a/origin/stable/essex:tools/pip-requires
  5. +++ b/origin/stable/folsom:tools/pip-requires
  6. @@ -1,23 +1,14 @@
  7. # Horizon Core Requirements
  8. -Django>=1.3
  9. -python-cloudfiles
  10. -python-dateutil
  11. -django-nose
  12. +Django>=1.4
  13. +django_compressor
  14. +django_openstack_auth
  15. +python-cinderclient
  16. +python-glanceclient<2
  17. +python-keystoneclient
  18. +python-novaclient
  19. +python-quantumclient>=2.0
  20. +python-swiftclient>1.1,<2
  21. +pytz
  22. -# Glance Requirements
  23. -PasteDeploy
  24. -eventlet
  25. -kombu
  26. -paste
  27. -pycrypto==2.3
  28. -routes
  29. -sqlalchemy
  30. -sqlalchemy-migrate
  31. -webob==1.0.8
  32. -xattr
  33. -iso8601
  34. -
  35. -# Horizon Non-pip Requirements
  36. --e git+https://github.com/openstack/python-novaclient.git#egg=python-novaclient
  37. --e git+https://github.com/openstack/python-keystoneclient.git#egg=python-keystoneclient
  38. --e git+https://github.com/openstack/glance@stable/essex#egg=glance
  39. +# Horizon Utility Requirements
  40. +lockfile # for SECURE_KEY generation
  41. [root@stackcc update_horizon]# pip install django_compressor django_openstack_auth python-cinderclient pytz
  42. [root@stackcc update_horizon]# wget http://nodejs.org/dist/v0.8.14/node-v0.8.14-linux-x64.tar.gz
  43. [root@stackcc update_horizon]# tar -zxf node-v0.8.14-linux-x64.tar.gz
  44. [root@stackcc update_horizon]# cp node-v0.8.14-linux-x64/bin/node /usr/bin/

下载Horizon

[plain]  view plain copy
  1. [root@stackcc update_horizon]# git clone git://github.com/openstack/horizon.git
  2. [root@stackcc update_horizon]# cd horizon
  3. [root@stackcc horizon]# git checkout -b folsom origin/stable/folsom

配置

我这里采用memcached来作为session的存储不再采用数据库,各种session存储方式的比较见这里

[plain]  view plain copy
  1. [root@stackcc horizon]# cd openstack_dashboard/local/
  2. [root@stackcc local]# cp local_settings.py.example local_settings.py
  3. [root@stackcc local]# diff -u local_settings.py.example local_settings.py
  4. --- local_settings.py.example   2012-11-21 19:01:00.551430262 +0800
  5. +++ local_settings.py   2012-11-21 21:07:11.299613374 +0800
  6. @@ -34,11 +34,20 @@
  7. # for all of them.
  8. # from horizon.utils import secret_key
  9. # SECRET_KEY = secret_key.generate_or_read_from_file(os.path.join(LOCAL_PATH, '.secret_key_store'))
  10. +SECRET_KEY = 'qiweufsaldfalsduifalodefhalsdfh'
  11. # We recommend you use memcached for development; otherwise after every reload
  12. # of the django development server, you will have to login again. To use
  13. # memcached set CACHE_BACKED to something like 'memcached://127.0.0.1:11211/'
  14. -CACHE_BACKEND = 'locmem://'
  15. +CACHE_BACKEND = 'memcached://127.0.0.1:11211/'
  16. +
  17. +SESSION_ENGINE = 'django.contrib.sessions.backends.cache'
  18. +CACHES = {
  19. +    'default': {
  20. +        'BACKEND': 'django.core.cache.backends.memcached.MemcachedCache',
  21. +        'LOCATION': '127.0.0.1:11211'
  22. +    }
  23. +}
  24. # Send email to the console by default
  25. EMAIL_BACKEND = 'django.core.mail.backends.console.EmailBackend'

安装Horizon

[plain]  view plain copy
  1. [root@stackcc local]# cd ../../
  2. [root@stackcc horizon]# service httpd stop
  3. [root@stackcc horizon]# python setup.py install > ../install.info
  4. [root@stackcc horizon]# mkdir /usr/lib/python2.6/site-packages/horizon-2012.2.1-py2.6.egg/static
  5. [root@stackcc horizon]# chown apache:apache /usr/lib/python2.6/site-packages/horizon-2012.2.1-py2.6.egg/static

配置httpd

[plain]  view plain copy
  1. [root@stackcc horizon]# cd /etc/httpd/conf.d/
  2. [root@stackcc conf.d]# cp horizon.conf horizon.conf.backup
  3. [root@stackcc conf.d]# ll /usr/lib/python2.6/site-packages/ | grep horizon
  4. drwxr-xr-x.  7 root root   4096 Oct 30 14:59 horizon-2012.1-py2.6.egg
  5. drwxr-xr-x   6 root root   4096 Nov 21 20:05 horizon-2012.2.1-py2.6.egg
  6. [root@stackcc conf.d]# sed -i 's/horizon-2012.1-py2.6.egg/horizon-2012.2.1-py2.6.egg/g' horizon.conf
  7. [root@stackcc conf.d]# cat horizon.conf
  8. <VirtualHost *:80>
  9. WSGIScriptAlias / /usr/lib/python2.6/site-packages/horizon-2012.2.1-py2.6.egg/openstack_dashboard/wsgi/django.wsgi
  10. WSGIDaemonProcess horizon user=apache group=apache processes=3 threads=10 home=/usr/lib/python2.6/site-packages/horizon-2012.2.1-py2.6.egg
  11. SetEnv APACHE_RUN_USER apache
  12. SetEnv APACHE_RUN_GROUP apache
  13. WSGIProcessGroup horizon
  14. DocumentRoot /usr/lib/python2.6/site-packages/horizon-2012.2.1-py2.6.egg/.blackhole/
  15. Alias /media /usr/lib/python2.6/site-packages/horizon-2012.2.1-py2.6.egg/openstack_dashboard/static
  16. <Directory />
  17. Options FollowSymLinks
  18. AllowOverride None
  19. </Directory>
  20. <Directory /usr/lib/python2.6/site-packages/horizon-2012.2.1-py2.6.egg/>
  21. Options Indexes FollowSymLinks MultiViews
  22. AllowOverride None
  23. Order allow,deny
  24. allow from all
  25. </Directory>
  26. ErrorLog /var/log/httpd/horizon_error.log
  27. LogLevel warn
  28. CustomLog /var/log/httpd/horizon_access.log combined
  29. </VirtualHost>
  30. WSGISocketPrefix /var/run/httpd
  31. [root@stackcc conf.d]# mkdir /usr/lib/python2.6/site-packages/horizon-2012.2.1-py2.6.egg/.blackhole

安装遗漏的包并启动Horizon

[plain]  view plain copy
  1. [root@stackcc conf.d]# pip install python-memcached
  2. [root@stackcc conf.d]# service httpd start
  3. [root@stackcc conf.d]# service nova-api restart

更新noVNC

[plain]  view plain copy
  1. [root@stackcc update_horizon]# git clone git://github.com/kanaka/noVNC.git
  2. [root@stackcc update_horizon]# cd noVNC
  3. [root@stackcc noVNC]# git checkout -b binary origin/binary
  4. [root@stackcc noVNC]# cd ..
  5. [root@stackcc update_horizon]# rm -fr /var/lib/noVNC
  6. [root@stackcc update_horizon]# rsync -az --exclude=noVNC/.git noVNC /var/lib/
  7. [root@stackcc update_horizon]# diff -u noVNC/utils/nova-novncproxy /var/lib/noVNC/utils/nova-novncproxy
  8. --- noVNC/utils/nova-novncproxy 2012-11-22 19:38:40.947866979 +0800
  9. +++ /var/lib/noVNC/utils/nova-novncproxy        2012-11-22 20:18:08.738045480 +0800
  10. @@ -148,5 +148,8 @@
  11. target_host='ignore',
  12. target_port='ignore',
  13. wrap_mode='exit',
  14. +                                unix_target=None,
  15. +                                ssl_target=None,
  16. +                                target_cfg=None,
  17. wrap_cmd=None)
  18. server.start_server()
  19. [root@stackcc update_horizon]# /var/lib/noVNC/utils/nova-novncproxy --web /var/lib/noVNC --daemon
  20. [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相关推荐

  1. Horizon组件安装详解 - 远程连接OpenStack服务

    概述 Horizon是OpenStack中提供可视化管理(Dashboard)的组件,使用的Python的Web开发框架Django开发,使得Horizon本身代码结构较为简单,但是,内部数据流比较复 ...

  2. OpenStack 如何跨版本升级

    作者 | 孙琦 来源 | 万博智云 OpenStack是中国私有云的事实标准 根据三方统计报告,2020年,中国私有云市场规模达到951.8亿元,同比增长42.1%,私有云在国内IaaS市场占比约45 ...

  3. 《5》CentOS7.0+OpenStack+kvm云平台的部署—组态Horizon

    感谢朋友支持本博客,欢迎共同探讨交流,因为能力和时间有限,错误之处在所难免,欢迎指正! 假设转载.请保留作者信息. 博客地址:http://blog.csdn.net/qq_21398167 原博文地 ...

  4. 《5》CentOS7.0+OpenStack+kvm云平台部署—配置Horizon

    为什么80%的码农都做不了架构师?>>>    感谢朋友支持本博客,欢迎共同探讨交流,由于能力和时间有限,错误之处在所难免,欢迎指正! 如果转载,请保留作者信息. 博客地址:http ...

  5. OpenStack Ocata Horizon 开发(一)—— 快速开始

    一.写在前面 这篇文章主要介绍了OpenStack Ocata Horizon 根据官方的快速开始文档进行实际的调试验证,涉及在基于基本组件部署完成的情况下,源码部署Horizon开发环境,在后续的文 ...

  6. openstack horizon开发环境配置

    mkdir open_srccd open_src 1.选择一个目录下载Horizon代码 git clone https://github.com/openstack/horizon.gitgit ...

  7. Horizon Is Easy, Horizon Is Complex

    本文出自我的同事兼基友@monsterxx03 之手,本人稍作润色 Horizon Is Easy, Horizon Is Complex 如果要用一句话来概括Openstack Dashboard项 ...

  8. openstack部署(四)--网络配置(Networking)

    计算节点 增加Networking及配置[计算节点] 安装组件 yum install -y openstack-neutron openstack-neutron-linuxbridge ebtab ...

  9. OpenStack Hacker养成指南

    0 阅读指南 希望本文能够解开你心中萦绕已久的心结,假如是死结,请移步到 https://wiki.openstack.org/wiki/Main_Page 学习OpenStack其实就是学习各种Py ...

最新文章

  1. Linux常用指令---find | locate(查找)
  2. Could not install from “echarts\lib\visual\dataColor“ as it does not contain a package.json file.
  3. 紫皮java_java如果已知一个日期为2007/3/8,求10天后是哪一天,367天后呢
  4. 现有类 成 mfc类_女人不想成“黄脸婆”,4类食物是衰老“催化剂”,女人尽量远离_氧化...
  5. 43. 压缩组件(4)
  6. 推荐一本书(Secure Coding Standard for Java)
  7. 【极限精简888M,老机专用】星岚技术 Win7 x64 深度精简版 V2020.10
  8. 视频无缝续播的一些解决方案
  9. 选用数显仪表要注意的问题
  10. 【K8S】阿里云VPS内网环境-Kubernetes集群基础部署(CentOS8.2)
  11. iOS APP 反编译
  12. 平面设计必备学习软件
  13. windows中mysql服务无法启动
  14. 计算机名有重名,导致的问题
  15. 秋夜寄邱员外 / 秋夜寄丘二十二员外
  16. PHP 门面设计模式在laravel中的应用
  17. 用Cadence Virtuoso IC617仿真V-I特性曲线
  18. 深度linux安装spotify,如何在Kali Linux上安装Spotify
  19. MySql系列06:数据库对象
  20. Potplayer播放器安装后总是遇到BUG

热门文章

  1. 推荐给大家一个php代码格式化在线工具
  2. 常见花材的固定的方法有哪些_艺术插花的花材固定方法:其他常见的固定方法...
  3. PHP如何计算两个日期相差的天数?星期数?月数?年数?
  4. python argv 详解_Python argv函数简介
  5. 微型计算机2019年度金奖产品,年度盘点,金河田2004获奖产品展示
  6. Mininet-WiFi的安装
  7. python列表数据排序_Python中,如何将列表中数据排序给列表排序?
  8. Java Swing 小项目:二维码生成器(支持添加 LOGO 图片、前景背景颜色)
  9. 曾因一张照片走红,四年后“小马云”再被送回家,14岁重读小学...
  10. java使用bytebuddy动态生成带泛型的DTO