YUM源优先级
生产案例:OpenStack Icehouse novncproxy无法启动解决
这个企业案例随着我们的课程升级已经过时了,但是解决问题的方法还是值得学习的。
广告:全国最新OpenStack之Liberty版本深度讲解,欲知详情,请加文末交流群。
使用启动脚本执行正常,但进程没有启动。手动启动发现报错
[root@linux-node1~]#nova-novncproxy--config-file=/etc/nova/nova.confTraceback(mostrecentcalllast):File"/usr/bin/nova-novncproxy",line10,in<module>sys.exit(main())File"/usr/lib/python2.6/site-packages/nova/cmd/novncproxy.py",line87,inmainwrap_cmd=None)File"/usr/lib/python2.6/site-packages/nova/console/websocketproxy.py",line47,in__init__ssl_target=None,*args,**kwargs)File"/usr/lib/python2.6/site-packages/websockify/websocketproxy.py",line231,in__init__websocket.WebSocketServer.__init__(self,RequestHandlerClass,**kwargs)TypeError:__init__()gotanunexpectedkeywordargument'no_parent'
原因
是由于python-websockify这个包的版本造成的问题。其实在fedora源中也提供了一些python的依赖包。http://mirrors.aliyun.com/epel/6/x86_64/真坑,9月份更新的!!!python-websockify-0.6.0-3.el6.noarch.rpm04-Sep-201519:2963556https://repos.fedorapeople.org/repos/openstack/EOL/openstack-icehouse/epel-6/python-websockify-0.5.1-1.el6.noarch.rpm2013-09-1009:3158Khttp://mirrors.ustc.edu.cn/epel/6/x86_64/python-websockify-0.6.0-3.el6.noarch.rpm04-Sep-201519:2963556#应该是国外的总源换了为什么6版本不行https://bugs.launchpad.net/nova/+bug/1334327https://bugs.launchpad.net/nova/+bug/1333746
优先使用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~]#greppriority/etc/yum.repos.d/rdo-release.repopriority=98#在epel源加一行,使epel源的优先级低于icehouse源[root@linux-node1~]#vi/etc/yum.repos.d/epel.repo[epel]…………priority=99
注1:优先级由1 ~ 99的99个数表示,1的优先级最高。优先级小的源即使有某软件的较新版本,如果优先级高的源中没有,在启用该插件的情况下,系统也无法安装/升级到该较新版本。原文链接:https://www.f2er.com/bash/392818.html
注2:要禁用 YUM 优先级功能,只需要将/etc/yum/pluginconf.d/priorities.conf
的enable=1 改为 enable=0 即可。