79 lines
2.3 KiB
Python
79 lines
2.3 KiB
Python
# 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,
|
|
)
|