]> git.ipfire.org Git - thirdparty/libcgroup.git/commitdiff
ftests: Add support for cgclassify to Cgroup class
authorTom Hromatka <tom.hromatka@oracle.com>
Wed, 28 Oct 2020 15:30:55 +0000 (15:30 +0000)
committerTom Hromatka <tom.hromatka@oracle.com>
Mon, 2 Nov 2020 22:00:33 +0000 (15:00 -0700)
Add support for cgclassify to Cgroup class.

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

index 6f7042d61efc03f2e65e80ca3f73fac9e9722ec3..ec5c6821c9d187a7d796c25f6d38302805ebacad 100644 (file)
@@ -194,3 +194,24 @@ class Cgroup(Enum):
                                 return Cgroup.CGROUP_V2
 
         return Cgroup.CGROUP_UNK
+
+    @staticmethod
+    def classify(config, controller, cgname, pid_list, sticky=False,
+                 cancel_sticky=False, in_container=True):
+        cmd = list()
+        cmd.append(Cgroup.build_cmd_path(in_container, 'cgclassify'))
+        cmd.append('-g')
+        cmd.append('{}:{}'.format(controller, cgname))
+
+        if isinstance(pid_list, str):
+            cmd.append(pid_list)
+        elif isinstance(pid_list, int):
+            cmd.append(str(pid_list))
+        elif isinstance(pid_list, list):
+            for pid in pid_list:
+                cmd.append(pid)
+
+        if in_container:
+            config.container.run(cmd)
+        else:
+            Run.run(cmd)