OpenStack Icehouse novncproxy无法启动解决
将OpenStack Icehouse版升级完毕后,发现novncproxy无法启动。
第一步:使用命令启动看看报错。
[root@test-node1 ~]# nova-novncproxy --config-file /etc/nova/nova.conf Traceback (most recent call last): File "/usr/bin/nova-novncproxy", line 10, in第二步:Google。发现这个是由于websockify版本过高的问题。 第三步:安装一个低版本的。sys.exit(main()) File "/usr/lib/python2.6/site-packages/nova/cmd/novncproxy.py", line 87, in main wrap_cmd=None) File "/usr/lib/python2.6/site-packages/nova/console/websocketproxy.py", line 47, in __init__ ssl_target=None, *args, **kwargs) File "/usr/lib/python2.6/site-packages/websockify/websocketproxy.py", line 231, in __init__ websocket.WebSocketServer.__init__(self, RequestHandlerClass, *args, **kwargs) TypeError: __init__() got an unexpected keyword argument 'no_parent'
[root@test-node1 ~]# /usr/bin/pip2.6 install websockify==0.5.1
OK,搞定。
4 个评论
还有一个解决方法,原因也是epel源的软件版本过高,
h t t p://mirrors.aliyun.com/epel/6/x86_64/ 真坑,9月份更新的!!!
python-websockify-0.6.0-3.el6.noarch.rpm 04-Sep-2015 19:29 63556
h t t p s://repos.fedorapeople.org/repos/openstack/EOL/openstack-icehouse/epel-6/
python-websockify-0.5.1-1.el6.noarch.rpm 2013-09-10 09:31 58K
其实在fedora源中也提供了一些python的依赖包,因此可以使用yum的一个功能。
解决方法:
优先使用icehouse源提供的软件包,这里涉及到yum源优先级的问题。有的包需要epel源,但有的包epel太新了,不能用,用了就出问题,因此优先使用icehouse源提供的包。一些关键的python包icehouse源也提供了,不需要下载epel源的
Yum Priorities插件可以用来强制保护源。它通过给各个源设定不同的优先级,使得系统管理员可以将某些源(比如 Linux 发行版的官方源)设定为最高优先级,从而保证系统的稳定性(同时也可能无法更新到其它源上提供的软件最新版本)。
1. 安装Yum Priorities
yum -y install yum-priorities
2. 配置使用Yum Priorities
vim /etc/yum/pluginconf.d/priorities.conf
# 确保配置文件中包含下面的行
[main]
enabled=1
3. 修改阿里epel源优先级
# icehouse源默认有优先级了
[root@linux-node1 ~]# grep priority /etc/yum.repos.d/rdo-release.repo
priority=98
# 在epel源加一行
[root@linux-node1 ~]# vi /etc/yum.repos.d/epel.repo
[epel]
…………
priority=99
注:优先级由 1 ~ 99 的 99 个数表示,1 的优先级最高。优先级小的源即使有某软件的较新版本,如果优先级高的源中没有,在启用该插件的情况下,系统也无法安装/升级到该较新版本。
注2:要禁用 YUM 优先级功能,只需要将/etc/yum/pluginconf.d/priorities.conf
的enable=1 改为 enable=0 即可。
班长,我用centos下载openstack控制节点报错,yum -d 0 -e 0 -y install openstack-nova-novncproxy然后我安装openstack-nova-novncproxy时报错:
Transaction check error:
file /usr/bin/websockify from install of python-websockify-0.8.0-1.el7.noarch conflicts with file from package python36-websockify-0.6.0-4.el7.noarch
Error Summary
尝试把python36-websockify-0.6.0-4.el7.noarch包删除,下载python-websockify-0.8.0-1.el7.noarch的websockify然后就报了一个和这个包的websockify冲突的错误;尝试用pip下载低版本的,结果下载不到/usr/bin目录里,用cp也不行,那个低版本的是个目录,/usr/bin目录里的是个文件,不知道应该怎么下载openstack-nova-novncproxy,求指教