diff options
author | Ryan Harper <[email protected]> | 2019-01-01 16:25:26 -0600 |
---|---|---|
committer | Ryan Harper <[email protected]> | 2019-01-01 16:25:26 -0600 |
commit | 142feb4d13864326ff73a855eae97d52c7529216 (patch) | |
tree | d7a6152613a7a92d34cad574040a2ceeaf186a66 | |
parent | 708e3982ee32eea2b9dd47c8d131ee12822ffe26 (diff) |
vmtests: fix up for dasd pass into guest, virtio only for nows390-dasd-ppa1
-rw-r--r-- | examples/tests/basic-dasd.yaml | 1 | ||||
-rw-r--r-- | tests/vmtests/__init__.py | 40 | ||||
-rw-r--r-- | tests/vmtests/test_basic_dasd.py | 7 | ||||
-rwxr-xr-x | tools/launch | 2 | ||||
-rwxr-xr-x | tools/xkvm | 7 |
5 files changed, 44 insertions, 13 deletions
diff --git a/examples/tests/basic-dasd.yaml b/examples/tests/basic-dasd.yaml index 28cd6b5f..62efbf05 100644 --- a/examples/tests/basic-dasd.yaml +++ b/examples/tests/basic-dasd.yaml @@ -3,6 +3,7 @@ storage: version: 1 config: - id: dasd_spare + type: dasd device_id: 0.0.1520 blocksize: 4096 mode: full diff --git a/tests/vmtests/__init__.py b/tests/vmtests/__init__.py index 1fc7637f..6ef10f08 100644 --- a/tests/vmtests/__init__.py +++ b/tests/vmtests/__init__.py @@ -984,8 +984,14 @@ class VMBaseClass(TestCase): disks.extend(['--disk', target_disk]) # --disk source:size:driver:block_size:devopts - for (disk_no, disk_sz) in enumerate(cls.extra_disks): - dpath = os.path.join(cls.td.disks, 'extra_disk_%d.img' % disk_no) + for (disk_no, disk_spec) in enumerate(cls.extra_disks): + if disk_spec.startswith('/'): + dpath = disk_spec + disk_sz = '' + else: + dpath = os.path.join(cls.td.disks, + 'extra_disk_%d.img' % disk_no) + disk_sz = disk_spec extra_disk = '{}:{}:{}:{}'.format(dpath, disk_sz, cls.disk_driver, cls.disk_block_size) @@ -1003,8 +1009,14 @@ class VMBaseClass(TestCase): # build nvme disk args if needed logger.info('nvme disks: %s', cls.nvme_disks) - for (disk_no, disk_sz) in enumerate(cls.nvme_disks): - dpath = os.path.join(cls.td.disks, 'nvme_disk_%d.img' % disk_no) + for (disk_no, disk_spec) in enumerate(cls.nvme_disks): + if disk_spec.startswith('/'): + dpath = disk_spec + disk_sz = '' + else: + dpath = os.path.join(cls.td.disks, + 'nvme_disk_%d.img' % disk_no) + disk_sz = disk_spec nvme_serial = cls.nvme_serials[disk_no] nvme_disk = '{}:{}:nvme:{}:{}'.format(dpath, disk_sz, cls.disk_block_size, @@ -1215,8 +1227,14 @@ class VMBaseClass(TestCase): target_disks.extend([disk]) extra_disks = [] - for (disk_no, disk_sz) in enumerate(cls.extra_disks): - dpath = os.path.join(cls.td.disks, 'extra_disk_%d.img' % disk_no) + for (disk_no, disk_spec) in enumerate(cls.extra_disks): + if disk_spec.startswith('/'): + dpath = disk_spec + disk_sz = '' + else: + dpath = os.path.join(cls.td.disks, + 'extra_disk_%d.img' % disk_no) + disk_sz = disk_spec disk = '--disk={},driver={},format={},{}'.format( dpath, cls.disk_driver, TARGET_IMAGE_FORMAT, bsize_args) if len(cls.disk_wwns): @@ -1233,8 +1251,14 @@ class VMBaseClass(TestCase): nvme_disks = [] disk_driver = 'nvme' - for (disk_no, disk_sz) in enumerate(cls.nvme_disks): - dpath = os.path.join(cls.td.disks, 'nvme_disk_%d.img' % disk_no) + for (disk_no, disk_spec) in enumerate(cls.nvme_disks): + if disk_spec.startswith('/'): + dpath = disk_spec + disk_sz = '' + else: + dpath = os.path.join(cls.td.disks, + 'nvme_disk_%d.img' % disk_no) + disk_sz = disk_spec disk = '--disk={},driver={},format={},{}'.format( dpath, disk_driver, TARGET_IMAGE_FORMAT, bsize_args) if len(cls.nvme_serials): diff --git a/tests/vmtests/test_basic_dasd.py b/tests/vmtests/test_basic_dasd.py index ff1e309d..496faf96 100644 --- a/tests/vmtests/test_basic_dasd.py +++ b/tests/vmtests/test_basic_dasd.py @@ -8,9 +8,10 @@ import textwrap class TestBasicDasd(VMBaseClass): """ Test curtin formats dasd devices and uses them as disks. """ - conf_file = "examples/tests/basic-dasd.py" + conf_file = "examples/tests/basic-dasd.yaml" dirty_disks = False - extra_disks = ['5G'] + disk_driver = 'virtio-blk-ccw' + extra_disks = ['/dev/dasdd'] extra_nics = [] # dasd is s390x only arch_skip = ["amd64", "arm64", "i386", "ppc64el"] @@ -19,7 +20,7 @@ class TestBasicDasd(VMBaseClass): cd OUTPUT_COLLECT_D lsdasd > lsdasd.out sfdisk --list > sfdisk_list - for d in /dev/[sv]d[a-z] /dev/xvd?; do + for d in /dev/[sv]d[a-z] /dev/xvd? /dev/dasd?; do [ -b "$d" ] || continue echo == $d == sgdisk --print $d diff --git a/tools/launch b/tools/launch index b273de48..b1c8c6d7 100755 --- a/tools/launch +++ b/tools/launch @@ -549,7 +549,7 @@ main() { bsize="512" fi - if [ ! -f "$src" ]; then + if [ ! -e "$src" ]; then qemu-img create -f raw "${src}" "$size" || { error "failed create $src of size $size"; return 1; } fmt="raw" @@ -402,6 +402,7 @@ main() { def_netmodel=${DEF_NETMODEL:-"virtio-net-ccw"} # disable virtio-scsi-bus virtio_scsi_bus="virtio-scsi-ccw" + virtio_blk_bus="virtio-blk-ccw" virtio_rng_device="virtio-rng-ccw" ;; ppc64*) @@ -500,7 +501,11 @@ main() { isdevopt "$driver" "$tok" && devopts="${devopts},$tok" || diskopts="${diskopts},${tok}" done - + case $driver in + virtio-blk-ccw) + # disable scsi when using virtio-blk-ccw + devopts="${devopts},scsi=off";; + esac diskargs=( "${diskargs[@]}" -drive "$diskopts" -device "$devopts" ) done |