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 <[email protected]>
---
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
[email protected]
https://lists.sourceforge.net/lists/listinfo/libcg-devel