From: Tom Hromatka Date: Thu, 16 Dec 2021 15:05:15 +0000 (-0700) Subject: cgroup.py: Add support for cgcreate flags X-Git-Tag: v3.1.0~308^2~2^2~105^2~3 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=b9a599ec8f43d6ac4561ab7ca2a483a29aed8516;p=thirdparty%2Flibcgroup.git cgroup.py: Add support for cgcreate flags Add support for all of the cgcreate flags. Signed-off-by: Tom Hromatka --- diff --git a/ftests/cgroup.py b/ftests/cgroup.py index 9868686d..04f3a09f 100644 --- a/ftests/cgroup.py +++ b/ftests/cgroup.py @@ -124,9 +124,10 @@ class Cgroup(object): return os.path.join(consts.LIBCG_MOUNT_POINT, 'src/daemon/{}'.format(cmd)) - # TODO - add support for all of the cgcreate options @staticmethod - def create(config, controller_list, cgname): + def create(config, controller_list, cgname, user_name=None, + group_name=None, dperm=None, fperm=None, tperm=None, + tasks_user_name=None, tasks_group_name=None, cghelp=False): if isinstance(controller_list, str): controller_list = [controller_list] @@ -136,6 +137,29 @@ class Cgroup(object): cmd.append('sudo') cmd.append(Cgroup.build_cmd_path('cgcreate')) + if user_name is not None and group_name is not None: + cmd.append('-a') + cmd.append('{}:{}'.format(user_name, group_name)) + + if dperm is not None: + cmd.append('-d') + cmd.append(dperm) + + if fperm is not None: + cmd.append('-f') + cmd.append(fperm) + + if tperm is not None: + cmd.append('-s') + cmd.append(tperm) + + if tasks_user_name is not None and tasks_group_name is not None: + cmd.append('-t') + cmd.append('{}:{}'.format(tasks_user_name, tasks_group_name)) + + if cghelp: + cmd.append('-h') + controllers_and_path = '{}:{}'.format( ','.join(controller_list), cgname)