[libvirt] [test-API][PATCH] Add env check function for memory_params_live
Guannan Ren
gren at redhat.com
Thu May 23 08:29:49 UTC 2013
On 05/23/2013 04:20 PM, Guannan Ren wrote:
> On 05/22/2013 05:34 PM, Wayne Sun wrote:
>> In this case, domain memory cgroup path is hardcoded and fail the
>> case after cgroup path changed recently. To avoid such failure, add
>> check function for lscgroup command before run this case, if check
>> fail then skip this case.
>>
>> Signed-off-by: Wayne Sun <gsun at redhat.com>
>> ---
>> repos/domain/memory_params_live.py | 36
>> ++++++++++++++++++++++++++++++------
>> 1 file changed, 30 insertions(+), 6 deletions(-)
>>
>> diff --git a/repos/domain/memory_params_live.py
>> b/repos/domain/memory_params_live.py
>> index 44fb8b4..280792a 100644
>> --- a/repos/domain/memory_params_live.py
>> +++ b/repos/domain/memory_params_live.py
>> @@ -4,6 +4,7 @@
>> import os
>> import math
>> +import commands
>> from xml.dom import minidom
>> import libvirt
>> @@ -15,27 +16,35 @@ required_params = ('guestname', 'hard_limit',
>> 'soft_limit', 'swap_hard_limit', )
>> optional_params = {}
>> UNLIMITED = 9007199254740991
>> -CGROUP_PATH = "/cgroup/memory/libvirt/qemu"
>> +CGROUP_PATH = "/cgroup/"
>> def get_cgroup_setting(guestname):
>> """get domain memory parameters in cgroup
>> """
>> if os.path.exists(CGROUP_PATH):
>> - cgroup_path = "%s/%s" % (CGROUP_PATH, guestname)
>> + cgroup_path = CGROUP_PATH
>> else:
>> - cgroup_path = "/sys/fs%s/%s" % (CGROUP_PATH, guestname)
>> + cgroup_path = "/sys/fs%s" % CGROUP_PATH
>> - f = open("%s/memory.limit_in_bytes" % cgroup_path)
>> + cmd = "lscgroup | grep %s | grep memory:" % guestname
>> + ret, out = commands.getstatusoutput(cmd)
>> + if ret:
>> + logger.error(out)
>> + return 1
>> + else:
>> + mem_cgroup_path = "%s%s" % (cgroup_path, out.replace(':', ''))
>> +
>
> Hi Wayne,
>
> The changes here is good for new cgroup layout, but it failed to
> test libvirt version with
> *old* cgroup layout.
> new: ${controller-patch}/machine/${guestname}.libvirt-qemu
> old : ${controller-patch}/libvirt/qemu/${guestname}
>
> can we use lscgroup | grep ${guestname} to get the path for new
> and old cgroup layout
> both at the same time.
>
it seems your code did so, I missed "grep" line.
ACK and pushed.
More information about the libvir-list
mailing list