From: Alex Jia <[email protected]>

Signed-off-by: Alex Jia <[email protected]>
---
 virttest/utils_cgroup.py | 31 +++++++++++++++++++++++++++++++
 1 file changed, 31 insertions(+)

diff --git a/virttest/utils_cgroup.py b/virttest/utils_cgroup.py
index b6d3edb..c0055f4 100755
--- a/virttest/utils_cgroup.py
+++ b/virttest/utils_cgroup.py
@@ -428,3 +428,34 @@ def resolve_task_cgroup_path(pid, controller):
     mount_path = re.findall(r":%s:(\S*)\n" % controller, proc_cgroup_txt)
     path = root_path + mount_path[0]
     return path
+
+
+def service_cgconfig_control(action):
+    """
+    Cgconfig control by action.
+
+    If cmd executes successfully, return True, otherwise return False.
+    If the action is status, return True when it's running, otherwise return
+    False.
+
+    @ param action: start|stop|status|restart|condrestart
+    """
+    actions = ['start', 'stop', 'restart', 'condrestart']
+    if action in actions:
+        try:
+            utils.run("service cgconfig %s" % action)
+            logging.debug("%s cgconfig successfuly", action)
+            return True
+        except error.CmdError, detail:
+            logging.error("Failed to %s cgconfig:\n%s", action, detail)
+            return False
+    elif action == "status":
+        cmd_result = utils.run("service cgconfig status", ignore_status=True)
+        if (not cmd_result.exit_status and
+            cmd_result.stdout.strip()) == "Running":
+            logging.info("Cgconfig service is running")
+            return True
+        else:
+            return False
+    else:
+        raise error.TestError("Unknown action: %s" % action)
-- 
1.8.2

_______________________________________________
Virt-test-devel mailing list
[email protected]
https://www.redhat.com/mailman/listinfo/virt-test-devel

Reply via email to