Re: [Autotest] [PATCH 1/3] KVM test: Use customized command to get the version of kvm and its

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Mon, Apr 26, 2010 at 7:07 AM, Jason Wang <jasowang@xxxxxxxxxx> wrote:
> userspace
>
> Current method may or may not work for various kinds of
> distribution. So this patch enable the ability to use customized
> commands to get the version of kvm and its userspace. "kvm_ver_cmd" is
> used for kvm verison and "kvm_userspace_ver_cmd" is for its userspace.

The method we are currently using is pretty satisfactory - if we fail
in getting /sys/module/kvm/version we use the kernel version as a
fallback, which is good for the kernel module. For qemu, we make a
regular expression searching for numbers following the string version,
so I don't see a reason on why we should make it configurable. Care to
provide an example of a situation where the current method fails?

> Signed-off-by: Jason Wang <jasowang@xxxxxxxxxx>
> ---
>  client/tests/kvm/kvm_preprocessing.py |   18 +++++++++---------
>  1 files changed, 9 insertions(+), 9 deletions(-)
>
> diff --git a/client/tests/kvm/kvm_preprocessing.py b/client/tests/kvm/kvm_preprocessing.py
> index 4b9290c..16200ab 100644
> --- a/client/tests/kvm/kvm_preprocessing.py
> +++ b/client/tests/kvm/kvm_preprocessing.py
> @@ -225,10 +225,10 @@ def preprocess(test, params, env):
>     # Get the KVM kernel module version and write it as a keyval
>     logging.debug("Fetching KVM module version...")
>     if os.path.exists("/dev/kvm"):
> -        try:
> -            kvm_version = open("/sys/module/kvm/version").read().strip()
> -        except:
> -            kvm_version = os.uname()[2]
> +        kvm_ver_cmd = params.get("kvm_ver_cmd", "cat /sys/module/kvm/version")
> +        s, kvm_version = commands.getstatusoutput(kvm_ver_cmd)
> +        if s != 0:
> +            kvm_version = "Unknown"
>     else:
>         kvm_version = "Unknown"
>         logging.debug("KVM module not loaded")
> @@ -239,11 +239,11 @@ def preprocess(test, params, env):
>     logging.debug("Fetching KVM userspace version...")
>     qemu_path = kvm_utils.get_path(test.bindir, params.get("qemu_binary",
>                                                            "qemu"))
> -    version_line = commands.getoutput("%s -help | head -n 1" % qemu_path)
> -    matches = re.findall("[Vv]ersion .*?,", version_line)
> -    if matches:
> -        kvm_userspace_version = " ".join(matches[0].split()[1:]).strip(",")
> -    else:
> +    def_qemu_ver_cmd = "%s -help | head -n 1 | awk '{ print $5}'" % qemu_path
> +    kvm_userspace_ver_cmd = params.get("kvm_userspace_ver_cmd",
> +                                       def_qemu_ver_cmd)
> +    s, kvm_userspace_version = commands.getstatusoutput(kvm_userspace_ver_cmd)
> +    if s != 0:
>         kvm_userspace_version = "Unknown"
>         logging.debug("Could not fetch KVM userspace version")
>     logging.debug("KVM userspace version: %s" % kvm_userspace_version)
>
> _______________________________________________
> Autotest mailing list
> Autotest@xxxxxxxxxxxxxxx
> http://test.kernel.org/cgi-bin/mailman/listinfo/autotest
>



-- 
Lucas
--
To unsubscribe from this list: send the line "unsubscribe kvm" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [KVM ARM]     [KVM ia64]     [KVM ppc]     [Virtualization Tools]     [Spice Development]     [Libvirt]     [Libvirt Users]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite Questions]     [Linux Kernel]     [Linux SCSI]     [XFree86]
  Powered by Linux