The set of functions implemented here will return the cgroup controller mount points from /etc/cgconfig.conf file which will help in building the path for various cgroup stat files
Signed-off-by: Prem Karat <[email protected]> --- client/base_utils.py | 96 ++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 96 insertions(+) diff --git a/client/base_utils.py b/client/base_utils.py index 3e435fa..0a69488 100644 --- a/client/base_utils.py +++ b/client/base_utils.py @@ -755,6 +755,102 @@ def process_is_alive(name_pattern): ignore_status=True) == 0 +def get_cgroup_cpuacct_mntpt(): + """ + Get cgroup cpuacct controller mount point from /etc/cgconfig.conf file + This would help in building the path of domain specific + cpuacct.usage_percpu and other domain specific cgroup stat files + """ + f_cgcon = open("/etc/cgconfig.conf", "rU") + cgconf_txt = f_cgcon.read() + f_cgcon.close() + cpuact_mntpt = re.findall(r"(?<!#)cpuacct\s*=\s*(.*);", cgconf_txt) + return cpuact_mntpt[0] + + +def get_cgroup_cpu_mntpt(): + """ + Get cgroup cpu controller mount point from /etc/cgconfig.conf file + This would help in building the path of domain specific cpu stat files. + """ + f_cgcon = open("/etc/cgconfig.conf", "rU") + cgconf_txt = f_cgcon.read() + f_cgcon.close() + cpu_mntpt = re.findall(r"(?<!#)cpu\s*=\s*(.*);", cgconf_txt) + return cpu_mntpt[0] + + +def get_cgroup_memory_mntpt(): + """ + Get cgroup memory controller mount point from /etc/cgconfig.conf file + This would help in building the path of domain specific mem files + """ + f_cgcon = open("/etc/cgconfig.conf", "rU") + cgconf_txt = f_cgcon.read() + f_cgcon.close() + mem_mntpt = re.findall(r"(?<!#)memory\s*=\s*(.*);", cgconf_txt) + return mem_mntpt[0] + + +def get_cgroup_cpuset_mntpt(): + """ + Get cgroup cpuset controller mount point from /etc/cgconfig.conf file + This would help in building the path of domain specific cpuset files. + """ + f_cgcon = open("/etc/cgconfig.conf", "rU") + cgconf_txt = f_cgcon.read() + f_cgcon.close() + cpuset_mntpt = re.findall(r"(?<!#)cpuset\s*=\s*(.*);", cgconf_txt) + return cpuset_mntpt[0] + + +def get_cgroup_devices_mntpt(): + """ + Get cgroup device controller mount point from /etc/cgconfig.conf file + This would help in building the path of domain specific dev files. + """ + f_cgcon = open("/etc/cgconfig.conf", "rU") + cgconf_txt = f_cgcon.read() + f_cgcon.close() + devices_mntpt = re.findall(r"(?<!#)devices\s*=\s*(.*);", cgconf_txt) + return devices_mntpt[0] + + +def get_cgroup_freezer_mntpt(): + """ + Get cgroup freezer controller mount point from /etc/cgconfig.conf file + This would help in building the path of domain specific freezer stats. + """ + f_cgcon = open("/etc/cgconfig.conf", "rU") + cgconf_txt = f_cgcon.read() + f_cgcon.close() + freezer_mntpt = re.findall(r"(?<!#)freezer\s*=\s*(.*);", cgconf_txt) + return freezer_mntpt[0] + + +def get_cgroup_blkio_mntpt(): + """ + Get cgroup blkio controller mount point from /etc/cgconfig.conf file + This would help in building the path of domain specfc blkio stat files + """ + f_cgcon = open("/etc/cgconfig.conf", "rU") + cgconf_txt = f_cgcon.read() + f_cgcon.close() + blkio_mntpt = re.findall(r"(?<!#)blkio\s*=\s*(.*);", cgconf_txt) + return blkio_mntpt[0] + + +def get_cgroup_netcls_mntpt(): + """ + Get cgroup net_cls controller mount point from /etc/cgconfig.conf file + """ + f_cgcon = open("/etc/cgconfig.conf", "rU") + cgconf_txt = f_cgcon.read() + f_cgcon.close() + netcls_mntpt = re.findall(r"(?<!#)net_cls\s*=\s*(.*);", cgconf_txt) + return netcls_mntpt[0] + + def get_hwclock_seconds(utc=True): """ Return the hardware clock in seconds as a floating point value. -- 1.7.10.4 -- -prem _______________________________________________ Autotest-kernel mailing list [email protected] https://www.redhat.com/mailman/listinfo/autotest-kernel
