]> git.ipfire.org Git - thirdparty/libcgroup.git/commitdiff
cgroup.py: Allow for multiple cgroup names to be passed to cgset
authorTom Hromatka <tom.hromatka@oracle.com>
Wed, 10 Mar 2021 17:16:30 +0000 (17:16 +0000)
committerTom Hromatka <tom.hromatka@oracle.com>
Mon, 22 Mar 2021 17:34:35 +0000 (11:34 -0600)
Add support for multiple cgroup names - or no cgroup names -
to be passed into Cgroup.set().  cgset allows multiple cgroup
names to be supplied with either the '-r' flag or the '--copy-from'
option.  No cgroup needs to be provided when '-h' is invoked.

Signed-off-by: Tom Hromatka <tom.hromatka@oracle.com>
ftests/cgroup.py

index bd4a7a5cbf73973a79ebcf07c9f00083f949aa00..e40f5217408f7805d3588c85f56ab6945c10459a 100644 (file)
@@ -141,7 +141,7 @@ class Cgroup(object):
             Run.run(cmd)
 
     @staticmethod
-    def set(config, cgname, setting=None, value=None, copy_from=None):
+    def set(config, cgname=None, setting=None, value=None, copy_from=None):
         cmd = list()
 
         if not config.args.container:
@@ -167,7 +167,13 @@ class Cgroup(object):
             cmd.append('--copy-from')
             cmd.append(copy_from)
 
-        cmd.append(cgname)
+        if cgname is not None:
+            if isinstance(cgname, str):
+                # use the string as is
+                cmd.append(cgname)
+            elif isinstance(cgname, list):
+                for cg in cgname:
+                    cmd.append(cg)
 
         if config.args.container:
             config.container.run(cmd)