设为首页 收藏本站
查看: 1441|回复: 0

[经验分享] OpenStack版本升级之Horizon

[复制链接]
累计签到:6 天
连续签到:1 天
发表于 2016-1-9 07:02:47 | 显示全部楼层 |阅读模式
安装依赖库
  对照下面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

[iyunv@stackcc update_horizon]# pip install django_compressor django_openstack_auth python-cinderclient pytz
[iyunv@stackcc update_horizon]# wget http://nodejs.org/dist/v0.8.14/node-v0.8.14-linux-x64.tar.gz
[iyunv@stackcc update_horizon]# tar -zxf node-v0.8.14-linux-x64.tar.gz
[iyunv@stackcc update_horizon]# cp node-v0.8.14-linux-x64/bin/node /usr/bin/

下载Horizon

[iyunv@stackcc update_horizon]# git clone git://github.com/openstack/horizon.git
[iyunv@stackcc update_horizon]# cd horizon
[iyunv@stackcc horizon]# git checkout -b folsom origin/stable/folsom
配置
  我这里采用memcached来作为session的存储不再采用数据库,各种session存储方式的比较见这里

[iyunv@stackcc horizon]# cd openstack_dashboard/local/
[iyunv@stackcc local]# cp local_settings.py.example local_settings.py
[iyunv@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

[iyunv@stackcc local]# cd ../../
[iyunv@stackcc horizon]# service httpd stop
[iyunv@stackcc horizon]# python setup.py install > ../install.info
[iyunv@stackcc horizon]# mkdir /usr/lib/python2.6/site-packages/horizon-2012.2.1-py2.6.egg/static
[iyunv@stackcc horizon]# chown apache:apache /usr/lib/python2.6/site-packages/horizon-2012.2.1-py2.6.egg/static
配置httpd

[iyunv@stackcc horizon]# cd /etc/httpd/conf.d/
[iyunv@stackcc conf.d]# cp horizon.conf horizon.conf.backup
[iyunv@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
[iyunv@stackcc conf.d]# sed -i 's/horizon-2012.1-py2.6.egg/horizon-2012.2.1-py2.6.egg/g' horizon.conf
[iyunv@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
[iyunv@stackcc conf.d]# mkdir /usr/lib/python2.6/site-packages/horizon-2012.2.1-py2.6.egg/.blackhole
安装遗漏的包并启动Horizon

[iyunv@stackcc conf.d]# pip install python-memcached
[iyunv@stackcc conf.d]# service httpd start
[iyunv@stackcc conf.d]# service nova-api restart

更新noVNC

[iyunv@stackcc update_horizon]# git clone git://github.com/kanaka/noVNC.git
[iyunv@stackcc update_horizon]# cd noVNC
[iyunv@stackcc noVNC]# git checkout -b binary origin/binary
[iyunv@stackcc noVNC]# cd ..
[iyunv@stackcc update_horizon]# rm -fr /var/lib/noVNC
[iyunv@stackcc update_horizon]# rsync -az --exclude=noVNC/.git noVNC /var/lib/
[iyunv@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()
[iyunv@stackcc update_horizon]# /var/lib/noVNC/utils/nova-novncproxy --web /var/lib/noVNC --daemon
[iyunv@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.访问速度比较慢!!!
  北方工业大学 |
云计算研究中心 | 姜永

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-162019-1-1.html 上篇帖子: OpenStack-CloudStack与Hadoop的关系 下篇帖子: OpenStack服务的启动
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表