checkRegistration and checkMajorVersion
checkRegistration
checkRegistration是deploy類的一個(gè)類方法。
輸入:None
輸出: Boolen類型,True vdsm存在 ,F(xiàn)alse vdsm不存在
實(shí)現(xiàn):使用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
這里先定義一個(gè)yum的基礎(chǔ)實(shí)例,然后使用searchNevra方法在repository中查找rpm包,這個(gè)查詢會(huì)返回一個(gè)列表,如果沒有則返回一個(gè)空列表。
summary: 這里必須保證repository中有vdsm
checkMajorVersion
同樣checkMajorVersion也是deploy類的一個(gè)類方法.
輸入:None
輸出:Boolen, True 代表vdsm-4.9存在, False vdsm-4.9 不存在
實(shí)現(xiàn):從yum repository中獲取rpm列表,然后有倆種模式,模糊匹配即已vdsm-4.9開頭,另一種是完全模式,也就是必須是vdsm-4.9,有返回True,沒有返回False
summary: 這里必須保證repository中有vdsm-4.9