Add support for cgxset to the Cgroup class The pydoc for Cgroup.xset() is available by running: $ python -c "from cgroup import Cgroup;help(Cgroup.xset)"
Signed-off-by: Tom Hromatka <tom.hroma...@oracle.com> --- ftests/cgroup.py | 69 ++++++++++++++++++++++++++++++++---------------- 1 file changed, 46 insertions(+), 23 deletions(-) diff --git a/ftests/cgroup.py b/ftests/cgroup.py index 72a200d6b135..06ca45693ae9 100644 --- a/ftests/cgroup.py +++ b/ftests/cgroup.py @@ -173,29 +173,8 @@ class Cgroup(object): Run.run(cmd) @staticmethod - def set(config, cgname=None, setting=None, value=None, copy_from=None, - cghelp=False): - """cgset equivalent method - - The following variants of cgset are being tested by the - automated functional tests: - - Command Test Number - cgset -r setting=value cgname various - cgset -r setting1=val1 -r setting2=val2 - -r setting3=val2 cgname 022 - cgset --copy_from foo bar 023 - cgset --copy_from foo bar1 bar2 024 - cgset -r setting=value foo bar 025 - cgset -r setting1=value1 setting2=value2 foo bar 026 - various invalid flag combinations 027 - """ - cmd = list() - - if not config.args.container: - cmd.append('sudo') - cmd.append(Cgroup.build_cmd_path('cgset')) - + def __set(config, cmd, cgname=None, setting=None, value=None, + copy_from=None, cghelp=False): if setting is not None or value is not None: if isinstance(setting, str) and isinstance(value, str): cmd.append('-r') @@ -231,6 +210,50 @@ class Cgroup(object): else: return Run.run(cmd) + @staticmethod + def set(config, cgname=None, setting=None, value=None, copy_from=None, + cghelp=False): + """cgset equivalent method + + The following variants of cgset are being tested by the + automated functional tests: + + Command Test Number + cgset -r setting=value cgname various + cgset -r setting1=val1 -r setting2=val2 + -r setting3=val2 cgname 022 + cgset --copy_from foo bar 023 + cgset --copy_from foo bar1 bar2 024 + cgset -r setting=value foo bar 025 + cgset -r setting1=value1 setting2=value2 foo bar 026 + various invalid flag combinations 027 + """ + cmd = list() + if not config.args.container: + cmd.append('sudo') + cmd.append(Cgroup.build_cmd_path('cgset')) + + return Cgroup.__set(config, cmd, cgname, setting, value, copy_from, + cghelp) + + @staticmethod + def xset(config, cgname=None, setting=None, value=None, copy_from=None, + version=CgroupVersion.CGROUP_UNK, cghelp=False): + """cgxset equivalent method + """ + cmd = list() + if not config.args.container: + cmd.append('sudo') + cmd.append(Cgroup.build_cmd_path('cgxset')) + + if version == CgroupVersion.CGROUP_V1: + cmd.append('-1') + elif version == CgroupVersion.CGROUP_V2: + cmd.append('-2') + + return Cgroup.__set(config, cmd, cgname, setting, value, copy_from, + cghelp) + @staticmethod def __get(config, cmd, controller=None, cgname=None, setting=None, print_headers=True, values_only=False, -- 2.25.1 _______________________________________________ Libcg-devel mailing list Libcg-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/libcg-devel