1
0
mirror of https://github.com/systemd/systemd synced 2024-07-09 04:26:06 +00:00
systemd/test/TEST-64-UDEV-STORAGE/nvme_basic.configure
Daan De Meyer ac09c21d45 TEST-64-UDEV-STORAGE: Replace megasas2 controller with virtio scsi controller
The virtio-scsi driver is available in the KVM/cloud kernel
packages provided by distributions whereas the megasas2 driver is
not. Let's switch to virtio-scsi so we can switch back to the KVM/cloud
kernel packages.
2024-05-29 15:24:03 +02:00

40 lines
1.0 KiB
Python
Executable File

#!/usr/bin/python3
# SPDX-License-Identifier: LGPL-2.1-or-later
import json
import os
import subprocess
import sys
config = json.load(sys.stdin)
qemu = f"qemu-system-{os.environ["QEMU_ARCHITECTURE"]}"
result = subprocess.run([qemu, '-device', 'help'], check=True, text=True, stdout=subprocess.PIPE)
if 'name "nvme"' not in result.stdout:
print("nvme device driver is not available, skipping test...", file=sys.stderr)
exit(77)
def add_drive(i: int, serial: str) -> None:
global config
id = f"nvme{i}"
config["QemuDrives"] += [
{
"Id": id,
"Size": "1M",
"Options": "cache=unsafe",
}
]
config["QemuArgs"] += ["-device", f"nvme,drive={id},serial={serial},num_queues=8"]
for i in range(5):
add_drive(i, serial=f"deadbeef{i}")
for i in range(5, 10):
add_drive(i, serial=f" deadbeef {i} ")
for i in range(10, 15):
add_drive(i, serial=f" dead/beef/{i} ")
for i in range(15, 20):
add_drive(i, serial=f"dead/../../beef/{i}")
json.dump(config, sys.stdout)