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))