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