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(a)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.