[libvirt] [libvirt-tck PATCH] New test to test numa parameters tuning APIs

Osier Yang jyang at redhat.com
Mon Sep 3 10:30:03 UTC 2012


On 2012年08月29日 16:15, Guannan Ren wrote:
> On 08/29/2012 12:01 AM, Osier Yang wrote:
>> To make sure the domain config is not broken after the API calls.
>>
>> ---
>> This depends on
>> https://www.redhat.com/archives/libvir-list/2012-August/msg01792.html
>> ---
>> scripts/domain/202-numa-set-parameters.t | 99
>> ++++++++++++++++++++++++++++++
>> 1 files changed, 99 insertions(+), 0 deletions(-)
>> create mode 100644 scripts/domain/202-numa-set-parameters.t
>>
>> diff --git a/scripts/domain/202-numa-set-parameters.t
>> b/scripts/domain/202-numa-set-parameters.t
>> new file mode 100644
>> index 0000000..fd96866
>> --- /dev/null
>> +++ b/scripts/domain/202-numa-set-parameters.t
>> @@ -0,0 +1,99 @@
>> +# -*- perl -*-
>> +#
>> +# Copyright (C) 2009-2012 Red Hat, Inc.
>> +# Copyright (C) 2012 Osier Yang
>> +#
>> +# This program is free software; You can redistribute it and/or modify
>> +# it under the GNU General Public License as published by the Free
>> +# Software Foundation; either version 2, or (at your option) any
>> +# later version
>> +#
>> +# The file "LICENSE" distributed along with this file provides full
>> +# details of the terms and conditions
>> +#
>> +
>> +=pod
>> +
>> +=head1 NAME
>> +
>> +domain/212-set-numa-parameters.t - Set NUMA parameters
>> +
>> +=head1 DESCRIPTION
>> +
>> +The test case validates the internal data structure is consistent
>> +after the API call to set NUMA parameters for a domain.
>> +
>> +=cut
>> +
>> +use strict;
>> +use warnings;
>> +
>> +use Test::More tests => 10;
>> +
>> +use Sys::Virt::TCK;
>> +use Test::Exception;
>> +
>> +my $tck = Sys::Virt::TCK->new();
>> +my $conn = eval { $tck->setup(); };
>> +BAIL_OUT "failed to setup test harness: $@" if $@;
>> +END {
>> + $tck->cleanup if $tck;
>> + unlink "tck.img" if -f "tck.img";
>> +}
>> +
>> +
>> +my $xml = $tck->generic_domain("tck")->as_xml;
>> +
>> +diag "Creating a new persistent domain";
>> +my $dom;
>> +ok_domain(sub { $dom = $conn->define_domain($xml) }, "created
>> persistent domain object");
>> +
>> +diag "Starting inactive domain";
>> +$dom->create;
>> +ok($dom->get_id > 0, "running domain with ID > 0");
>> +
>> +# NUMA mode can't be changed for a live domain
>> +my %params = (
>> + Sys::Virt::Domain::NUMA_NODESET => '0',
>> +);
>> +
>> +diag "Set numa parameters, affects live config";
>> +lives_ok(sub {$dom->set_numa_parameters(\%params,
>> Sys::Virt::Domain::AFFECT_LIVE)}, "set_numa_parameters");
>> +
>> +diag "Destroy the domain";
>> +$dom->destroy;
>> +
>> +diag "Make sure the domain can be started after setting numa
>> parameters";
>> +$dom->create;
>> +ok($dom->get_id > 0, "running domain with ID > 0");
>> +
>> +diag "Get numa parameters";
>> +my $params = $dom->get_numa_parameters(Sys::Virt::Domain::AFFECT_LIVE);
>> +ok($params->{Sys::Virt::Domain::NUMA_NODESET} eq '0', 'Check nodeset');
>> +
>> +diag "Destroy the domain";
>> +$dom->destroy;
>> +
>> +$params{Sys::Virt::Domain::NUMA_MODE} =
>> Sys::Virt::Domain::NUMATUNE_MEM_STRICT;
>> +
>> +diag "Set numa parameters, affects next boot";
>> +lives_ok(sub {$dom->set_numa_parameters(\%params,
>> Sys::Virt::Domain::AFFECT_CONFIG)}, "set_numa_parameters");
>> +
>> +diag "Get numa parameters";
>> +my $params = $dom->get_numa_parameters(Sys::Virt::Domain::AFFECT_LIVE);
>
> it should be Sys::Virt::Domain::AFFECT_CURRENT?
>
> ACK with this fixed
>
> Guannan
>

Thanks, pushed.




More information about the libvir-list mailing list