# copyright: Canonical import os import subprocess from uuid import uuid4 from loguru import logger as log from tqdm import tqdm files = { "XXXS": {"size": 0.1, "number": 10000}, "XXS": {"size": 10, "number": 10000}, "XS": {"size": 100, "number": 10000}, "S": {"size": 1000, "number": 1000}, "M": {"size": 10000, "number": 500}, "ML": {"size": 100000, "number": 100}, "L": {"size": 1000000, "number": 20}, "XL": {"size": 5000000, "number": 5}, } rand = { "XXS": {"size": 10, "number": 1000}, "M": {"size": 10000, "number": 50}, "L": {"size": 1000000, "number": 5}, } tests = { "XXS": {"size": 10, "number": 100}, "M": {"size": 10000, "number": 5}, } root = "/mnt/inststo/" if __name__ == "__main__": for path, data in files.items(): log.info(f"processing {path}") os.makedirs(root + path, exist_ok=True) for x in tqdm(range(data["number"])): subprocess.run( [ "dd", "if=/dev/urandom", f"of={root+path}/{x}", f"bs={int(data['size']*1000)}", "count=1", ], capture_output=True, # shell=True, ) for path, data in rand.items(): log.info(f"processing RANDOM {path}") os.makedirs(root + "Rand", exist_ok=True) for x in tqdm(range(data["number"])): subprocess.run( [ "dd", "if=/dev/urandom", f"of={root}Rand/{uuid4()}", f"bs={int(data['size']*1000)}", "count=1", ], capture_output=True, # shell=True, ) for path, data in tests.items(): log.info(f"processing tests {path}") os.makedirs(root + "test", exist_ok=True) for x in tqdm(range(data["number"])): subprocess.run( [ "dd", "if=/dev/urandom", f"of={root}test/{uuid4()}", f"bs={int(data['size']*1000)}", "count=1", ], capture_output=True, # shell=True, )