def teardown(config): pids = Cgroup.get_pids_in_cgroup(config, CGNAME, CONTROLLER) if pids: for p in pids.splitlines(): if config.args.container: config.container.run(['kill', '-9', p]) else: Run.run(['sudo', 'kill', '-9', p]) Cgroup.delete(config, CONTROLLER, CGNAME)
def teardown(config): os.remove(CONFIG_FILE_NAME) try: if config.args.container: config.container.run(['userdel', USER]) config.container.run(['groupdel', GROUP]) else: Run.run(['sudo', 'userdel', USER]) Run.run(['sudo', 'groupdel', GROUP]) except (ContainerError, RunError, ValueError): pass Cgroup.delete(config, CONTROLLER, CGNAME)
def test(config): result = consts.TEST_PASSED cause = None try: Cgroup.delete(config, CONTROLLER2, CGNAME) except RunError as re: if 'No such file or directory' in re.stderr: cause = 'cpu and cpuacct controllers do not share mount points.' result = consts.TEST_FAILED else: raise re try: Cgroup.delete(config, CONTROLLER1, CGNAME) except RunError as re: if 'No such file or directory' in re.stderr: cause = 'Missing support to delete cgroup on shared mount points.' result = consts.TEST_FAILED else: raise re return result, cause
def teardown(config): ver1 = CgroupVersion.get_version(CONTROLLER1) ver2 = CgroupVersion.get_version(CONTROLLER2) if ver1 == CgroupVersion.CGROUP_V2 and \ ver2 == CgroupVersion.CGROUP_V2: # If both controllers are cgroup v2, then we only need to delete # one cgroup. The path will be the same for both Cgroup.delete(config, [CONTROLLER1, CONTROLLER2], CGNAME) else: Cgroup.delete(config, CONTROLLER1, CGNAME) Cgroup.delete(config, CONTROLLER2, CGNAME)
def _termination_handler(signal, frame): cg = Cgroup('level_201') cg.remove_task(pid) cg.delete()
def teardown(config): for cg in CGNAMES: Cgroup.delete(config, CONTROLLER, cg)
def teardown(config): Cgroup.delete(config, CONTROLLER, SRC_CGNAME) Cgroup.delete(config, CONTROLLER, DST_CGNAME)
def teardown(config): Cgroup.delete(config, CONTROLLER, CGNAME1) Cgroup.delete(config, CONTROLLER, CGNAME2)
def teardown(config): CgroupCli.delete(config, CONTROLLER, CGNAME)
def test(config): Cgroup.delete(config, CONTROLLER, PARENT, recursive=True) return consts.TEST_PASSED, None
def teardown(config): CgroupCli.delete(config, None, CGNAME)
def teardown(config): Cgroup.delete(config, CONTROLLER, PARENT_CGNAME, recursive=True) Cgroup.delete(config, CONTROLLER, SIBLING_CGNAME, recursive=True)
def teardown(config): Cgroup.delete(config, CONTROLLER, CGNAME) os.remove(CONFIG_FILE_NAME)
def teardown(config): Cgroup.delete(config, CPU_CTRL, CGNAME) Cgroup.delete(config, MEMORY_CTRL, CGNAME) os.remove(CONFIG_FILE_NAME) os.rmdir(CONFIG_FILE_DIR)
def teardown(config): # destroy the child processes config.process.join_children(config) cg.join_children(config) Cgroup.delete(config, CONTROLLER, CGNAME, recursive=False)