async def run(config_json, n, overrides): suite_id = int(time.time()) with open(config_json, "r") as settings_json: config = json.load(settings_json) init_output(config, suite_id) shutil.copyfile( config_json, path.join(config["output"], str(suite_id), "settings.json")) if overrides: for overide in overrides: [key, value] = overide.split("=", 1) config[key] = json.loads(value) faults = {fault: known_faults[fault] for fault in config["faults"]} with RedpandaCluster(config) as cluster: try: for _ in range(0, n): if not config["reset_before_test"]: await cluster.restart() if not await cluster.is_ok(): chaos_event_log.info( m(f"cluster isn't healthy").with_time()) raise Exception(f"cluster isn't healthy") await inject_recover_scenarios_aio( suite_id, config, cluster, faults, lambda: workload_factory(config)) except ViolationInducedExit: pass
async def run(config, n, overrides): init_output(config) if overrides: for overide in overrides: [key, value] = overide.split("=", 1) config[key] = json.loads(value) faults = {fault: known_faults[fault] for fault in config["faults"]} with RedpandaCluster(config) as cluster: try: for _ in range(0, n): if not config["reset_before_test"]: await cluster.restart() if not await cluster.is_ok(): chaos_event_log.info( m(f"cluster isn't healthy").with_time()) raise Exception(f"cluster isn't healthy") await inject_recover_scenarios_aio( config, cluster, faults, lambda: workload_factory(config)) except ViolationInducedExit: pass