
From: root <root@RH64wenchao.(none)> Signed-off-by: Wenchao Xia <xiawenc@linux.vnet.ibm.com> --- suites/libvirt-cim/lib/XenKvmLib/common_util.py | 28 ++++++++++++++++++++-- 1 files changed, 25 insertions(+), 3 deletions(-) diff --git a/suites/libvirt-cim/lib/XenKvmLib/common_util.py b/suites/libvirt-cim/lib/XenKvmLib/common_util.py index 43e5e2c..3316c51 100644 --- a/suites/libvirt-cim/lib/XenKvmLib/common_util.py +++ b/suites/libvirt-cim/lib/XenKvmLib/common_util.py @@ -23,6 +23,7 @@ import os import pywbem import random +import string from time import sleep from tempfile import mkdtemp from commands import getstatusoutput @@ -296,6 +297,17 @@ def conf_file(): logger.error("Creation of Disk Conf file Failed") return status +def get_version_number(version_str): + num = version_str.split(".") + l = len(num) + total = 0 + multiple = 1 + increase = 100 + for i in range(0, l): + t = string.atoi(num[l - 1- i]) * multiple + total = total + t + multiple = multiple * increase + return total def cleanup_restore(server, virt): """ @@ -308,7 +320,11 @@ def cleanup_restore(server, virt): # libvirt_version >= 0.4.1 # Hence Skipping the logic to delete the new conf file # and just returning PASS - if libvirt_version >= '0.4.1': + libvirt_version = virsh_version(server, virt) + libvirt_version_req = "0.4.1" + a = get_version_number(libvirt_version) + b = get_version_number(libvirt_version_req) + if a >= b: return status try: if os.path.exists(back_disk_file): @@ -365,7 +381,10 @@ def create_diskpool(server, virt='KVM', dpool=default_pool_name, def create_diskpool_conf(server, virt, dpool=default_pool_name): libvirt_version = virsh_version(server, virt) - if libvirt_version >= '0.4.1': + libvirt_version_req = "0.4.1" + a = get_version_number(libvirt_version) + b = get_version_number(libvirt_version_req) + if a >= b: status, dpoolname = create_diskpool(server, virt, dpool) diskid = "%s/%s" % ("DiskPool", dpoolname) else: @@ -376,7 +395,10 @@ def create_diskpool_conf(server, virt, dpool=default_pool_name): def destroy_diskpool(server, virt, dpool): libvirt_version = virsh_version(server, virt) - if libvirt_version >= '0.4.1': + libvirt_version_req = "0.4.1" + a = get_version_number(libvirt_version) + b = get_version_number(libvirt_version_req) + if a >= b: if dpool == None: logger.error("No disk pool specified") return FAIL -- 1.7.1