From bb102032d3b3a3073b12a4ceb2f37604d4179467 Mon Sep 17 00:00:00 2001 From: David Lehman Date: Dec 11 2018 20:27:15 +0000 Subject: Add a test for the device factory. Create an lvm-over-md layout across the two virtio scratch disks, then test blivet's ability to populate and print the devicetree with that setup. Also, remove the task to copy out logs as it doesn't work. --- diff --git a/tests/.fmf/version b/tests/.fmf/version new file mode 100644 index 0000000..d00491f --- /dev/null +++ b/tests/.fmf/version @@ -0,0 +1 @@ +1 diff --git a/tests/lvm_factory.py b/tests/lvm_factory.py new file mode 100644 index 0000000..6603af2 --- /dev/null +++ b/tests/lvm_factory.py @@ -0,0 +1,42 @@ +#!/usr/bin/python3 + +import argparse +import sys + +import blivet + + +POOL_NAME = "blivet_test" + +parser = argparse.ArgumentParser() +parser.add_argument('-d', '--disks', default='') +args = parser.parse_args() + +b = blivet.Blivet() +b.reset() + +disks = list() +for disk_id in args.disks.split(','): + disk = b.devicetree.resolve_device(disk_id) + if not disk.is_disk: + sys.stderr.write("specified disk '%s' is not a disk\n" % disk_id) + sys.exit(1) + + disks.append(disk) + b.initialize_disk(disk) + +if len(disks) > 1: + container_raid_level = "raid1" + total_size = min(d.size for d in disks) +else: + container_raid_level = None + total_size = sum(d.size for d in disks) + +lv1 = b.factory_device(size=total_size*0.8, disks=disks, + name="lv1", container_name=POOL_NAME, + fstype='xfs', device_type=blivet.devicefactory.DEVICE_TYPE_LVM) +lv2 = b.factory_device(disks=disks, name="lv2", + container_name=POOL_NAME, container_raid_level='raid1', + fstype='ext4', device_type=blivet.devicefactory.DEVICE_TYPE_LVM) + +b.do_it() diff --git a/tests/provision.fmf b/tests/provision.fmf new file mode 100644 index 0000000..be22d73 --- /dev/null +++ b/tests/provision.fmf @@ -0,0 +1,8 @@ +--- + +standard-inventory-qcow2: + qemu: + m: 1G + drive: + - size: 10737418240 + - size: 10737418240 diff --git a/tests/tests.yml b/tests/tests.yml index e9638dc..bc8804d 100644 --- a/tests/tests.yml +++ b/tests/tests.yml @@ -5,14 +5,12 @@ tags: - classic tests: - - list-devices: + - list-devices-1: + dir: . + run: python3 /usr/share/doc/python3-blivet/examples/list_devices.py + - lvm-factory: + dir: . + run: python3 ./lvm_factory.py --disks=vda,vdb + - list-devices-2: dir: . run: python3 /usr/share/doc/python3-blivet/examples/list_devices.py - - tasks: - - name: copy out blivet logs - fetch: - dest: "{{ artifacts }}" - src: "{{ item }}" - flat: yes - loop: ["/tmp/blivet.log", "/tmp/program.log"]