Add support for cgset's --copy-from flag to Cgroup.set().
Signed-off-by: Tom Hromatka <[email protected]>
---
ftests/cgroup.py | 28 ++++++++++++++++++----------
1 file changed, 18 insertions(+), 10 deletions(-)
diff --git a/ftests/cgroup.py b/ftests/cgroup.py
index c7213077c444..bd4a7a5cbf73 100644
--- a/ftests/cgroup.py
+++ b/ftests/cgroup.py
@@ -141,23 +141,31 @@ class Cgroup(object):
Run.run(cmd)
@staticmethod
- def set(config, cgname, setting, value):
+ def set(config, cgname, setting=None, value=None, copy_from=None):
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):
- cmd.append('-r')
- cmd.append('{}={}'.format(setting, value))
- elif isinstance(setting, list) and isinstance(value, list):
- if len(setting) != len(value):
- raise ValueError('Settings list length must equal values list
length')
-
- for idx, stg in enumerate(setting):
+ if setting is not None or value is not None:
+ if isinstance(setting, str) and isinstance(value, str):
cmd.append('-r')
- cmd.append('{}={}'.format(stg, value[idx]))
+ cmd.append('{}={}'.format(setting, value))
+ elif isinstance(setting, list) and isinstance(value, list):
+ if len(setting) != len(value):
+ raise ValueError('Settings list length must equal values
list length')
+
+ for idx, stg in enumerate(setting):
+ cmd.append('-r')
+ cmd.append('{}={}'.format(stg, value[idx]))
+ else:
+ raise ValueError('Invalid inputs to cgget:\nsetting: {}\n' \
+ 'value{}'.format(setting, value))
+
+ if copy_from is not None:
+ cmd.append('--copy-from')
+ cmd.append(copy_from)
cmd.append(cgname)
--
2.26.2
_______________________________________________
Libcg-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/libcg-devel