vds_bootstrap 流程分析(Red Hat Virtualization)-2

checkRegistration and checkMajorVersion

checkRegistration

checkRegistration是deploy类的一个类方法。

输入:None

输出: Boolen类型,True vdsm存在 ,False vdsm不存在

实现:使用yum module查找是否存在vdsm rpm包,

yum包使用过程:

my = yum.YumBase()

lReturn = my.pkgSack.searchNevra(name=pkgName)

class YumBase(yum.depsolve.Depsolve)

|  This is a primary structure and base class. It houses the objects and

|  methods needed to perform most things in yum. It is almost an abstract

|  class in that you will need to add your own class above it for most

|  real use.

Help on method searchNevra in module yum.packageSack:

searchNevra(self, name=None, epoch=None, ver=None, rel=None, arch=None) method of yum.packageSack.MetaSack instance

return list of pkgobjects matching the nevra requested

这里先定义一个yum的基础实例,然后使用searchNevra方法在repository中查找rpm包,这个查询会返回一个列表,如果没有则返回一个空列表。

summary: 这里必须保证repository中有vdsm



checkMajorVersion

同样checkMajorVersion也是deploy类的一个类方法.

输入:None

输出:Boolen, True 代表vdsm-4.9存在, False vdsm-4.9 不存在

实现:从yum repository中获取rpm列表,然后有俩种模式,模糊匹配即已vdsm-4.9开头,另一种是完全模式,也就是必须是vdsm-4.9,有返回True,没有返回False

summary: 这里必须保证repository中有vdsm-4.9

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容