When not running in a container, prepend 'sudo' to the
front of cgcreate, cgdelete, cgset, and cgclassify.

It would be advantageous to properly utilize permissions
within Linux so that we don't need to 'sudo' these
commands, but that's more of a kernel/sysfs/cgroups
issue than a libcgroup issue.  (Yes, libcgroup does allow
for setting owners and permissions, so someday we should
test this, but that's not a high priority at present.)

Signed-off-by: Tom Hromatka <tom.hroma...@oracle.com>
---
 ftests/cgroup.py | 12 ++++++++++++
 1 file changed, 12 insertions(+)

diff --git a/ftests/cgroup.py b/ftests/cgroup.py
index 5906a199dd48..4ff64c6f3224 100644
--- a/ftests/cgroup.py
+++ b/ftests/cgroup.py
@@ -90,6 +90,9 @@ class Cgroup(object):
             controller_list = [controller_list]
 
         cmd = list()
+
+        if not config.args.container:
+            cmd.append('sudo')
         cmd.append(Cgroup.build_cmd_path('cgcreate'))
 
         controllers_and_path = '{}:{}'.format(
@@ -109,6 +112,9 @@ class Cgroup(object):
             controller_list = [controller_list]
 
         cmd = list()
+
+        if not config.args.container:
+            cmd.append('sudo')
         cmd.append(Cgroup.build_cmd_path('cgdelete'))
 
         if recursive:
@@ -128,6 +134,9 @@ class Cgroup(object):
     @staticmethod
     def set(config, cgname, setting, value):
         cmd = list()
+
+        if not config.args.container:
+            cmd.append('sudo')
         cmd.append(Cgroup.build_cmd_path('cgset'))
 
         if isinstance(setting, str) and isinstance(value, str):
@@ -226,6 +235,9 @@ class Cgroup(object):
     def classify(config, controller, cgname, pid_list, sticky=False,
                  cancel_sticky=False):
         cmd = list()
+
+        if not config.args.container:
+            cmd.append('sudo')
         cmd.append(Cgroup.build_cmd_path('cgclassify'))
         cmd.append('-g')
         cmd.append('{}:{}'.format(controller, cgname))
-- 
2.26.2



_______________________________________________
Libcg-devel mailing list
Libcg-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/libcg-devel

Reply via email to