def collect_attach_detach()

in modules/python/csi/csi.py [0:0]


def collect_attach_detach(case_name, node_number, disk_number, storage_class, cloud_info, run_id, run_url, result_dir):
    raw_result_file = os.path.join(result_dir, f"attachdetach-{disk_number}.txt")
    result_file = os.path.join(result_dir, "results.json")
    print(f"Collecting attach detach test results from {raw_result_file} into {result_file}")

    with open(raw_result_file, 'r', encoding='utf-8') as file:
        content = file.read()
        print(content)

    # Parse metrics from the result file
    metrics = {}
    for line in content.splitlines():
        if ':' in line:  # Only process lines with key-value pairs
            key, value = map(str.strip, line.split(':', 1))
            metrics[key.replace(' ', '_')] = value

    print(f"Parsed metrics: {metrics}")

    content = {
        "timestamp": datetime.now(timezone.utc).strftime('%Y-%m-%dT%H:%M:%SZ'),
        "case_name": case_name,
        "node_number": node_number,
        "disk_number": disk_number,
        "storage_class": storage_class,
        "result": metrics,
        "cloud_info": cloud_info,
        "run_id": run_id,
        "run_url": run_url
    }

    os.makedirs(os.path.dirname(result_file), exist_ok=True)
    with open(result_file, 'w', encoding='utf-8') as file:
        file.write(json.dumps(content))