Merge pull request #33062 from DaanDeMeyer/virtio-scsi

mkosi: Switch back to cloud/KVM kernel packages
This commit is contained in:
Daan De Meyer 2024-05-29 16:27:07 +02:00 committed by GitHub
commit c15747e4ab
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
12 changed files with 30 additions and 27 deletions

View file

@ -40,7 +40,6 @@ Packages=
iputils
iscsi-initiator-utils
kernel-core
kernel-modules # For squashfs and megasas2
libasan
libcap-ng-utils
libubsan

View file

@ -5,4 +5,5 @@ Distribution=centos
[Content]
Packages=
kernel-modules # For squashfs
rpmautospec-rpm-macros

View file

@ -2,7 +2,3 @@
[Match]
Distribution=debian
[Content]
Packages=
linux-image-generic

View file

@ -0,0 +1,8 @@
# SPDX-License-Identifier: LGPL-2.1-or-later
[Match]
Architecture=arm64
[Content]
Packages=
linux-image-cloud-arm64

View file

@ -0,0 +1,8 @@
# SPDX-License-Identifier: LGPL-2.1-or-later
[Match]
Architecture=x86-64
[Content]
Packages=
linux-image-cloud-amd64

View file

@ -10,6 +10,7 @@ Packages=
dnf5
f2fs-tools
scsi-target-utils
# Required for systemd-networkd-tests.py (netdevsim and sch_xxx modules)
kernel-modules-extra
kernel-modules-internal

View file

@ -15,7 +15,8 @@ integration_tests += [
'luks.options=0d318174-56b0-4d6e-a324-ac1e7e7d235d=x-initrd.attach',
],
'qemu-args' : [
'-drive', 'format=raw,cache=unsafe,file=@0@'.format(project_build_root / 'mkosi.output/keydev.raw'),
'-drive', 'id=keydev,if=none,format=raw,cache=unsafe,file=@0@'.format(project_build_root / 'mkosi.output/keydev.raw'),
'-device', 'scsi-hd,drive=keydev',
],
'mkosi-args' : integration_test_template['mkosi-args'] + [
'--runtime-size=11G',

View file

@ -14,11 +14,11 @@ foreach testcase : [
'lvm_basic',
'mdadm_basic',
'mdadm_lvm',
'megasas2_basic',
'multipath_basic_failover',
'nvme_basic',
'nvme_subsystem',
'simultaneous_events',
'virtio_scsi_basic',
'virtio_scsi_identically_named_partitions',
]
integration_tests += [

View file

@ -15,9 +15,6 @@ if 'name "nvme"' not in result.stdout:
print("nvme device driver is not available, skipping test...", file=sys.stderr)
exit(77)
for i in range(4):
config["QemuArgs"] += ["-device", f"megasas-gen2,id=scsi{i}"]
def add_drive(i: int, serial: str) -> None:
global config
id = f"nvme{i}"

View file

@ -159,18 +159,18 @@ test_run() {
return 0
}
testcase_megasas2_basic() {
if ! "${QEMU_BIN:?}" -device help | grep 'name "megasas-gen2"'; then
echo "megasas-gen2 device driver is not available, skipping test..."
testcase_virtio_scsi_basic() {
if ! "${QEMU_BIN:?}" -device help | grep 'name "virtio-scsi-pci"'; then
echo "virtio-scsi-pci device driver is not available, skipping test..."
return 77
fi
local i
local qemu_opts=(
"-device megasas-gen2,id=scsi0"
"-device megasas-gen2,id=scsi1"
"-device megasas-gen2,id=scsi2"
"-device megasas-gen2,id=scsi3"
"-device virtio-scsi-pci,id=scsi0"
"-device virtio-scsi-pci,id=scsi1"
"-device virtio-scsi-pci,id=scsi2"
"-device virtio-scsi-pci,id=scsi3"
)
for i in {0..127}; do

View file

@ -2,21 +2,13 @@
# 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 "megasas-gen2"' not in result.stdout:
print("megasas-gen2 device driver is not available, skipping test...", file=sys.stderr)
exit(77)
for i in range(4):
config["QemuArgs"] += ['-device', f"megasas-gen2,id=scsi{i}"]
config["QemuArgs"] += ['-device', f"virtio-scsi-pci,id=scsi{i}"]
for i in range(128):
id = f"drive{i}"

View file

@ -168,7 +168,7 @@ helper_check_device_units() {(
check_device_units 1 "$@"
)}
testcase_megasas2_basic() {
testcase_virtio_scsi_basic() {
lsblk -S
[[ "$(lsblk --scsi --noheadings | wc -l)" -ge 128 ]]
}