summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRyan Harper <[email protected]>2019-01-01 16:25:26 -0600
committerRyan Harper <[email protected]>2019-01-01 16:25:26 -0600
commit142feb4d13864326ff73a855eae97d52c7529216 (patch)
treed7a6152613a7a92d34cad574040a2ceeaf186a66
parent708e3982ee32eea2b9dd47c8d131ee12822ffe26 (diff)
vmtests: fix up for dasd pass into guest, virtio only for nows390-dasd-ppa1
-rw-r--r--examples/tests/basic-dasd.yaml1
-rw-r--r--tests/vmtests/__init__.py40
-rw-r--r--tests/vmtests/test_basic_dasd.py7
-rwxr-xr-xtools/launch2
-rwxr-xr-xtools/xkvm7
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"
diff --git a/tools/xkvm b/tools/xkvm
index a22fc671..e65bf761 100755
--- a/tools/xkvm
+++ b/tools/xkvm
@@ -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