summaryrefslogtreecommitdiff
path: root/tests/vmtests
diff options
context:
space:
mode:
Diffstat (limited to 'tests/vmtests')
-rw-r--r--tests/vmtests/__init__.py31
-rw-r--r--tests/vmtests/test_basic.py8
-rw-r--r--tests/vmtests/test_basic_dasd.py4
-rw-r--r--tests/vmtests/test_bcache_basic.py4
-rw-r--r--tests/vmtests/test_bcache_bug1718699.py4
-rw-r--r--tests/vmtests/test_bcache_ceph.py4
-rw-r--r--tests/vmtests/test_bcache_partitions.py4
-rw-r--r--tests/vmtests/test_fs_battery.py4
-rw-r--r--tests/vmtests/test_iscsi.py4
-rw-r--r--tests/vmtests/test_journald_reporter.py4
-rw-r--r--tests/vmtests/test_lvm.py4
-rw-r--r--tests/vmtests/test_lvm_iscsi.py26
-rw-r--r--tests/vmtests/test_lvm_raid.py18
-rw-r--r--tests/vmtests/test_lvm_root.py9
-rw-r--r--tests/vmtests/test_mdadm_bcache.py40
-rw-r--r--tests/vmtests/test_mdadm_iscsi.py4
-rw-r--r--tests/vmtests/test_multipath.py4
-rw-r--r--tests/vmtests/test_network.py4
-rw-r--r--tests/vmtests/test_network_alias.py4
-rw-r--r--tests/vmtests/test_network_bonding.py4
-rw-r--r--tests/vmtests/test_network_bridging.py4
-rw-r--r--tests/vmtests/test_network_ipv6.py4
-rw-r--r--tests/vmtests/test_network_ipv6_static.py4
-rw-r--r--tests/vmtests/test_network_ipv6_vlan.py8
-rw-r--r--tests/vmtests/test_network_mtu.py8
-rw-r--r--tests/vmtests/test_network_ovs.py45
-rw-r--r--tests/vmtests/test_network_static.py4
-rw-r--r--tests/vmtests/test_network_static_routes.py5
-rw-r--r--tests/vmtests/test_network_vlan.py12
-rw-r--r--tests/vmtests/test_nvme.py9
-rw-r--r--tests/vmtests/test_pollinate_useragent.py4
-rw-r--r--tests/vmtests/test_preserve.py4
-rw-r--r--tests/vmtests/test_preserve_raid.py4
-rw-r--r--tests/vmtests/test_raid5_bcache.py21
-rw-r--r--tests/vmtests/test_reuse_raid_member.py9
-rw-r--r--tests/vmtests/test_reuse_uefi_esp.py52
-rw-r--r--tests/vmtests/test_simple.py14
-rw-r--r--tests/vmtests/test_uefi_basic.py9
-rw-r--r--tests/vmtests/test_zfsroot.py10
39 files changed, 174 insertions, 244 deletions
diff --git a/tests/vmtests/__init__.py b/tests/vmtests/__init__.py
index 80f545a6..39dfb40b 100644
--- a/tests/vmtests/__init__.py
+++ b/tests/vmtests/__init__.py
@@ -913,6 +913,9 @@ class VMBaseClass(TestCase):
logger.debug('Install console log: {}'.format(cls.install_log))
logger.debug('Boot console log: {}'.format(cls.boot_log))
+ # load the curtin config for this testcas
+ cls.testcase_config = yaml.safe_load(cls.load_conf_file())
+
# if interactive, launch qemu without 'background & wait'
if cls.interactive:
dowait = "--no-dowait"
@@ -1083,12 +1086,19 @@ class VMBaseClass(TestCase):
nvram = os.path.join(cls.td.disks, "ovmf_vars.fd")
uefi_flags = ["--uefi-nvram=%s" % nvram]
- # always attempt to update target nvram (via grub)
- grub_config = os.path.join(cls.td.install, 'grub.cfg')
- if not os.path.exists(grub_config) and not cls.td.restored:
- with open(grub_config, "w") as fp:
- fp.write(json.dumps({'grub': {'update_nvram': True}}))
- configs.append(grub_config)
+ # always attempt to update target nvram (via grub), unless
+ # test has an 'update_nvram' setting
+ update_nvram = (
+ cls.testcase_config.get('grub', {}).get('update_nvram'))
+ if update_nvram is None:
+ grub_config = os.path.join(cls.td.install, 'grub.cfg')
+ if not os.path.exists(grub_config) and not cls.td.restored:
+ util.write_file(
+ grub_config,
+ json.dumps({'grub': {'update_nvram': True}}))
+ configs.append(grub_config)
+ else:
+ logger.debug('Using testcase update_nvram setting')
if cls.dirty_disks and storage_config:
logger.debug("Injecting early_command to dirty storage devices")
@@ -1448,9 +1458,10 @@ class VMBaseClass(TestCase):
keep_fail=KEEP_DATA['fail'])
if TAR_DISKS:
tar_disks(cls.td.tmpdir)
- cls.cleanIscsiState(success,
- keep_pass=KEEP_DATA['pass'],
- keep_fail=KEEP_DATA['fail'])
+ if not REUSE_TOPDIR:
+ cls.cleanIscsiState(success,
+ keep_pass=KEEP_DATA['pass'],
+ keep_fail=KEEP_DATA['fail'])
@classmethod
def expected_interfaces(cls):
@@ -1604,7 +1615,7 @@ class VMBaseClass(TestCase):
]
"""
expected = self.get_fstab_expected()
- if expected is None:
+ if not expected:
return
path = self.collect_path("fstab")
if not os.path.exists(path):
diff --git a/tests/vmtests/test_basic.py b/tests/vmtests/test_basic.py
index 5cab5569..91c05db2 100644
--- a/tests/vmtests/test_basic.py
+++ b/tests/vmtests/test_basic.py
@@ -245,10 +245,6 @@ class BionicTestBasic(relbase.bionic, TestBasicAbs):
__test__ = True
-class DiscoTestBasic(relbase.disco, TestBasicAbs):
- __test__ = True
-
-
class EoanTestBasic(relbase.eoan, TestBasicAbs):
__test__ = True
@@ -352,10 +348,6 @@ class BionicTestScsiBasic(relbase.bionic, TestBasicScsiAbs):
__test__ = True
-class DiscoTestScsiBasic(relbase.disco, TestBasicScsiAbs):
- __test__ = True
-
-
class EoanTestScsiBasic(relbase.eoan, TestBasicScsiAbs):
__test__ = True
diff --git a/tests/vmtests/test_basic_dasd.py b/tests/vmtests/test_basic_dasd.py
index 8079edd8..391bafc6 100644
--- a/tests/vmtests/test_basic_dasd.py
+++ b/tests/vmtests/test_basic_dasd.py
@@ -52,10 +52,6 @@ class BionicTestBasicDasd(relbase.bionic, TestBasicDasd):
__test__ = True
-class DiscoTestBasicDasd(relbase.disco, TestBasicDasd):
- __test__ = True
-
-
class EoanTestBasicDasd(relbase.eoan, TestBasicDasd):
__test__ = True
diff --git a/tests/vmtests/test_bcache_basic.py b/tests/vmtests/test_bcache_basic.py
index bf77381c..54bac814 100644
--- a/tests/vmtests/test_bcache_basic.py
+++ b/tests/vmtests/test_bcache_basic.py
@@ -64,10 +64,6 @@ class BionicBcacheBasic(relbase.bionic, TestBcacheBasic):
__test__ = True
-class DiscoBcacheBasic(relbase.disco, TestBcacheBasic):
- __test__ = True
-
-
class EoanBcacheBasic(relbase.eoan, TestBcacheBasic):
__test__ = True
diff --git a/tests/vmtests/test_bcache_bug1718699.py b/tests/vmtests/test_bcache_bug1718699.py
index f4937ab1..8c290469 100644
--- a/tests/vmtests/test_bcache_bug1718699.py
+++ b/tests/vmtests/test_bcache_bug1718699.py
@@ -19,10 +19,6 @@ class BionicTestBcacheBug1718699(relbase.bionic, TestBcacheBug1718699):
__test__ = True
-class DiscoTestBcacheBug1718699(relbase.disco, TestBcacheBug1718699):
- __test__ = True
-
-
class EoanTestBcacheBug1718699(relbase.eoan, TestBcacheBug1718699):
__test__ = True
diff --git a/tests/vmtests/test_bcache_ceph.py b/tests/vmtests/test_bcache_ceph.py
index f94a8b01..d24994a0 100644
--- a/tests/vmtests/test_bcache_ceph.py
+++ b/tests/vmtests/test_bcache_ceph.py
@@ -75,10 +75,6 @@ class BionicTestBcacheCeph(relbase.bionic, TestBcacheCeph):
__test__ = True
-class DiscoTestBcacheCeph(relbase.disco, TestBcacheCeph):
- __test__ = True
-
-
class EoanTestBcacheCeph(relbase.eoan, TestBcacheCeph):
__test__ = True
diff --git a/tests/vmtests/test_bcache_partitions.py b/tests/vmtests/test_bcache_partitions.py
index faa23a01..f41e6455 100644
--- a/tests/vmtests/test_bcache_partitions.py
+++ b/tests/vmtests/test_bcache_partitions.py
@@ -25,10 +25,6 @@ class BionicTestBcachePartitions(relbase.bionic, TestBcachePartitions):
__test__ = True
-class DiscoTestBcachePartitions(relbase.disco, TestBcachePartitions):
- __test__ = True
-
-
class EoanTestBcachePartitions(relbase.eoan, TestBcachePartitions):
__test__ = True
diff --git a/tests/vmtests/test_fs_battery.py b/tests/vmtests/test_fs_battery.py
index 58eb4415..6c8cfc26 100644
--- a/tests/vmtests/test_fs_battery.py
+++ b/tests/vmtests/test_fs_battery.py
@@ -231,10 +231,6 @@ class BionicTestFsBattery(relbase.bionic, TestFsBattery):
__test__ = True
-class DiscoTestFsBattery(relbase.disco, TestFsBattery):
- __test__ = True
-
-
class EoanTestFsBattery(relbase.eoan, TestFsBattery):
__test__ = True
diff --git a/tests/vmtests/test_iscsi.py b/tests/vmtests/test_iscsi.py
index 227e96bd..c99264ce 100644
--- a/tests/vmtests/test_iscsi.py
+++ b/tests/vmtests/test_iscsi.py
@@ -72,10 +72,6 @@ class BionicTestIscsiBasic(relbase.bionic, TestBasicIscsiAbs):
__test__ = True
-class DiscoTestIscsiBasic(relbase.disco, TestBasicIscsiAbs):
- __test__ = True
-
-
class EoanTestIscsiBasic(relbase.eoan, TestBasicIscsiAbs):
__test__ = True
diff --git a/tests/vmtests/test_journald_reporter.py b/tests/vmtests/test_journald_reporter.py
index de060d5b..d29b4d46 100644
--- a/tests/vmtests/test_journald_reporter.py
+++ b/tests/vmtests/test_journald_reporter.py
@@ -32,10 +32,6 @@ class BionicTestJournaldReporter(relbase.bionic, TestJournaldReporter):
__test__ = True
-class DiscoTestJournaldReporter(relbase.disco, TestJournaldReporter):
- __test__ = True
-
-
class EoanTestJournaldReporter(relbase.eoan, TestJournaldReporter):
__test__ = True
diff --git a/tests/vmtests/test_lvm.py b/tests/vmtests/test_lvm.py
index 429b5c24..a79a705a 100644
--- a/tests/vmtests/test_lvm.py
+++ b/tests/vmtests/test_lvm.py
@@ -77,10 +77,6 @@ class BionicTestLvm(relbase.bionic, TestLvmAbs):
__test__ = True
-class DiscoTestLvm(relbase.disco, TestLvmAbs):
- __test__ = True
-
-
class EoanTestLvm(relbase.eoan, TestLvmAbs):
__test__ = True
diff --git a/tests/vmtests/test_lvm_iscsi.py b/tests/vmtests/test_lvm_iscsi.py
index 5578d22c..077b31a9 100644
--- a/tests/vmtests/test_lvm_iscsi.py
+++ b/tests/vmtests/test_lvm_iscsi.py
@@ -27,12 +27,6 @@ class TestLvmIscsiAbs(TestLvmAbs, TestBasicIscsiAbs):
exit 0
""")])
- fstab_expected = {
- 'UUID=6de56115-9500-424b-8151-221b270ec708': '/mnt/iscsi1',
- 'UUID=9604e4c4-e5ae-40dd-ab1f-940de6b59047': '/mnt/iscsi2',
- 'UUID=18bec31c-09a8-4a02-91c6-e9bf6efb6fad': '/mnt/iscsi3',
- 'UUID=a98f706b-b064-4682-8eb2-6c2c1284060c': '/mnt/iscsi4',
- }
disk_to_check = [('main_disk', 1),
('main_disk', 2),
('iscsi_disk1', 5),
@@ -44,6 +38,22 @@ class TestLvmIscsiAbs(TestLvmAbs, TestBasicIscsiAbs):
('vg2-lv3', 0),
('vg2-lv4', 0)]
+ def get_fstab_expected(self):
+ iscsi1 = self._dname_to_kname('vg1-lv1')
+ iscsi2 = self._dname_to_kname('vg1-lv2')
+ iscsi3 = self._dname_to_kname('vg2-lv3')
+ iscsi4 = self._dname_to_kname('vg2-lv4')
+ return [
+ (self._kname_to_uuid_devpath('dm-uuid', iscsi1),
+ '/mnt/iscsi1', 'defaults,_netdev'),
+ (self._kname_to_uuid_devpath('dm-uuid', iscsi2),
+ '/mnt/iscsi2', 'defaults,_netdev'),
+ (self._kname_to_uuid_devpath('dm-uuid', iscsi3),
+ '/mnt/iscsi3', 'defaults,_netdev'),
+ (self._kname_to_uuid_devpath('dm-uuid', iscsi4),
+ '/mnt/iscsi4', 'defaults,_netdev'),
+ ]
+
def test_lvs(self):
self.check_file_strippedline("lvs", "lv1=vg1")
self.check_file_strippedline("lvs", "lv2=vg1")
@@ -85,10 +95,6 @@ class BionicTestIscsiLvm(relbase.bionic, TestLvmIscsiAbs):
__test__ = True
-class DiscoTestIscsiLvm(relbase.disco, TestLvmIscsiAbs):
- __test__ = True
-
-
class EoanTestIscsiLvm(relbase.eoan, TestLvmIscsiAbs):
__test__ = True
diff --git a/tests/vmtests/test_lvm_raid.py b/tests/vmtests/test_lvm_raid.py
index 24c2765e..8d42a1a5 100644
--- a/tests/vmtests/test_lvm_raid.py
+++ b/tests/vmtests/test_lvm_raid.py
@@ -26,15 +26,19 @@ class TestLvmOverRaidAbs(TestMdadmAbs, TestLvmAbs):
exit 0
""")]
)
-
- fstab_expected = {
- '/dev/vg1/lv1': '/srv/data',
- '/dev/vg1/lv2': '/srv/backup',
- }
disk_to_check = [('main_disk', 1),
('md0', 0),
('md1', 0)]
+ def get_fstab_expected(self):
+ rootdev = self._dname_to_kname('main_disk')
+ homedev = self._dname_to_kname('vg0-lv--0')
+ return [
+ (self._kname_to_byuuid(rootdev + '2'), '/', 'defaults'),
+ (self._kname_to_uuid_devpath('dm-uuid', homedev),
+ '/home', 'defaults'),
+ ]
+
def test_lvs(self):
self.check_file_strippedline("lvs", "lv-0=vg0")
@@ -51,10 +55,6 @@ class EoanTestLvmOverRaid(relbase.eoan, TestLvmOverRaidAbs):
__test__ = True
-class DiscoTestLvmOverRaid(relbase.disco, TestLvmOverRaidAbs):
- __test__ = True
-
-
class BionicTestLvmOverRaid(relbase.bionic, TestLvmOverRaidAbs):
__test__ = True
diff --git a/tests/vmtests/test_lvm_root.py b/tests/vmtests/test_lvm_root.py
index e49a18c4..117406ed 100644
--- a/tests/vmtests/test_lvm_root.py
+++ b/tests/vmtests/test_lvm_root.py
@@ -29,11 +29,14 @@ class TestLvmRootAbs(VMBaseClass):
exit 0
""")]
- fstab_expected = {
- 'UUID=04836770-e989-460f-8774-8e277ddcb40f': '/',
- }
conf_replace = {}
+ def get_fstab_output(self):
+ rootvg = self._dname_to_kname('root_vg-lv1_root')
+ return [
+ (self._kname_to_uuid_devpath('dm-uuid', rootvg), '/', 'defaults')
+ ]
+
def test_output_files_exist(self):
self.output_files_exist(["fstab"])
diff --git a/tests/vmtests/test_mdadm_bcache.py b/tests/vmtests/test_mdadm_bcache.py
index 9819ebf7..f8d3e6ab 100644
--- a/tests/vmtests/test_mdadm_bcache.py
+++ b/tests/vmtests/test_mdadm_bcache.py
@@ -151,10 +151,6 @@ class BionicTestMdadmBcache(relbase.bionic, TestMdadmBcacheAbs):
__test__ = True
-class DiscoTestMdadmBcache(relbase.disco, TestMdadmBcacheAbs):
- __test__ = True
-
-
class EoanTestMdadmBcache(relbase.eoan, TestMdadmBcacheAbs):
__test__ = True
@@ -162,6 +158,10 @@ class EoanTestMdadmBcache(relbase.eoan, TestMdadmBcacheAbs):
class FocalTestMdadmBcache(relbase.focal, TestMdadmBcacheAbs):
__test__ = True
+ @TestMdadmBcacheAbs.skip_by_date("1861941", fixby="2020-04-15")
+ def test_fstab(self):
+ return super().test_fstab()
+
class TestMirrorbootAbs(TestMdadmAbs):
# alternative config for more complex setup
@@ -200,10 +200,6 @@ class BionicTestMirrorboot(relbase.bionic, TestMirrorbootAbs):
__test__ = True
-class DiscoTestMirrorboot(relbase.disco, TestMirrorbootAbs):
- __test__ = True
-
-
class EoanTestMirrorboot(relbase.eoan, TestMirrorbootAbs):
__test__ = True
@@ -223,7 +219,7 @@ class TestMirrorbootPartitionsAbs(TestMdadmAbs):
def get_fstab_expected(self):
return [
- (self._kname_to_uuid_devpath('md-uuid', 'md0'), '/', 'defaults')
+ (self._kname_to_uuid_devpath('md-uuid', 'md0p1'), '/', 'defaults')
]
@@ -252,11 +248,6 @@ class BionicTestMirrorbootPartitions(relbase.bionic,
__test__ = True
-class DiscoTestMirrorbootPartitions(relbase.disco,
- TestMirrorbootPartitionsAbs):
- __test__ = True
-
-
class EoanTestMirrorbootPartitions(relbase.eoan,
TestMirrorbootPartitionsAbs):
__test__ = True
@@ -315,11 +306,6 @@ class BionicTestMirrorbootPartitionsUEFI(relbase.bionic,
__test__ = True
-class DiscoTestMirrorbootPartitionsUEFI(relbase.disco,
- TestMirrorbootPartitionsUEFIAbs):
- __test__ = True
-
-
class EoanTestMirrorbootPartitionsUEFI(relbase.eoan,
TestMirrorbootPartitionsUEFIAbs):
__test__ = True
@@ -367,10 +353,6 @@ class BionicTestRaid5boot(relbase.bionic, TestRaid5bootAbs):
__test__ = True
-class DiscoTestRaid5boot(relbase.disco, TestRaid5bootAbs):
- __test__ = True
-
-
class EoanTestRaid5boot(relbase.eoan, TestRaid5bootAbs):
__test__ = True
@@ -432,10 +414,6 @@ class BionicTestRaid6boot(relbase.bionic, TestRaid6bootAbs):
__test__ = True
-class DiscoTestRaid6boot(relbase.disco, TestRaid6bootAbs):
- __test__ = True
-
-
class EoanTestRaid6boot(relbase.eoan, TestRaid6bootAbs):
__test__ = True
@@ -483,10 +461,6 @@ class BionicTestRaid10boot(relbase.bionic, TestRaid10bootAbs):
__test__ = True
-class DiscoTestRaid10boot(relbase.disco, TestRaid10bootAbs):
- __test__ = True
-
-
class EoanTestRaid10boot(relbase.eoan, TestRaid10bootAbs):
__test__ = True
@@ -591,10 +565,6 @@ class BionicTestAllindata(relbase.bionic, TestAllindataAbs):
__test__ = True
-class DiscoTestAllindata(relbase.disco, TestAllindataAbs):
- __test__ = True
-
-
class EoanTestAllindata(relbase.eoan, TestAllindataAbs):
__test__ = True
diff --git a/tests/vmtests/test_mdadm_iscsi.py b/tests/vmtests/test_mdadm_iscsi.py
index c0e6989a..26b1f71f 100644
--- a/tests/vmtests/test_mdadm_iscsi.py
+++ b/tests/vmtests/test_mdadm_iscsi.py
@@ -50,10 +50,6 @@ class BionicTestIscsiMdadm(relbase.bionic, TestMdadmIscsiAbs):
__test__ = True
-class DiscoTestIscsiMdadm(relbase.disco, TestMdadmIscsiAbs):
- __test__ = True
-
-
class EoanTestIscsiMdadm(relbase.eoan, TestMdadmIscsiAbs):
__test__ = True
diff --git a/tests/vmtests/test_multipath.py b/tests/vmtests/test_multipath.py
index c807a9bc..b00303ec 100644
--- a/tests/vmtests/test_multipath.py
+++ b/tests/vmtests/test_multipath.py
@@ -81,10 +81,6 @@ class BionicTestMultipathBasic(relbase.bionic, TestMultipathBasicAbs):
__test__ = True
-class DiscoTestMultipathBasic(relbase.disco, TestMultipathBasicAbs):
- __test__ = True
-
-
class EoanTestMultipathBasic(relbase.eoan, TestMultipathBasicAbs):
__test__ = True
diff --git a/tests/vmtests/test_network.py b/tests/vmtests/test_network.py
index f54e40a0..601cad4b 100644
--- a/tests/vmtests/test_network.py
+++ b/tests/vmtests/test_network.py
@@ -472,10 +472,6 @@ class BionicTestNetworkBasic(relbase.bionic, TestNetworkBasicAbs):
__test__ = True
-class DiscoTestNetworkBasic(relbase.disco, TestNetworkBasicAbs):
- __test__ = True
-
-
class EoanTestNetworkBasic(relbase.eoan, TestNetworkBasicAbs):
__test__ = True
diff --git a/tests/vmtests/test_network_alias.py b/tests/vmtests/test_network_alias.py
index 13c89eee..68e7de48 100644
--- a/tests/vmtests/test_network_alias.py
+++ b/tests/vmtests/test_network_alias.py
@@ -52,10 +52,6 @@ class BionicTestNetworkAlias(relbase.bionic, TestNetworkAliasAbs):
__test__ = True
-class DiscoTestNetworkAlias(relbase.disco, TestNetworkAliasAbs):
- __test__ = True
-
-
class EoanTestNetworkAlias(relbase.eoan, TestNetworkAliasAbs):
__test__ = True
diff --git a/tests/vmtests/test_network_bonding.py b/tests/vmtests/test_network_bonding.py
index b808aecd..913c7ff3 100644
--- a/tests/vmtests/test_network_bonding.py
+++ b/tests/vmtests/test_network_bonding.py
@@ -57,10 +57,6 @@ class BionicTestBonding(relbase.bionic, TestNetworkBondingAbs):
__test__ = True
-class DiscoTestBonding(relbase.disco, TestNetworkBondingAbs):
- __test__ = True
-
-
class EoanTestBonding(relbase.eoan, TestNetworkBondingAbs):
__test__ = True
diff --git a/tests/vmtests/test_network_bridging.py b/tests/vmtests/test_network_bridging.py
index 3b5b99c6..daaade54 100644
--- a/tests/vmtests/test_network_bridging.py
+++ b/tests/vmtests/test_network_bridging.py
@@ -236,10 +236,6 @@ class BionicTestBridging(relbase.bionic, TestBridgeNetworkAbs):
__test__ = True
-class DiscoTestBridging(relbase.disco, TestBridgeNetworkAbs):
- __test__ = True
-
-
class EoanTestBridging(relbase.eoan, TestBridgeNetworkAbs):
__test__ = True
diff --git a/tests/vmtests/test_network_ipv6.py b/tests/vmtests/test_network_ipv6.py
index e0a39a05..8f0dd542 100644
--- a/tests/vmtests/test_network_ipv6.py
+++ b/tests/vmtests/test_network_ipv6.py
@@ -53,10 +53,6 @@ class BionicTestNetworkIPV6(relbase.bionic, TestNetworkIPV6Abs):
__test__ = True
-class DiscoTestNetworkIPV6(relbase.disco, TestNetworkIPV6Abs):
- __test__ = True
-
-
class EoanTestNetworkIPV6(relbase.eoan, TestNetworkIPV6Abs):
__test__ = True
diff --git a/tests/vmtests/test_network_ipv6_static.py b/tests/vmtests/test_network_ipv6_static.py
index 278c8377..8a1ba2f4 100644
--- a/tests/vmtests/test_network_ipv6_static.py
+++ b/tests/vmtests/test_network_ipv6_static.py
@@ -23,10 +23,6 @@ class BionicTestNetworkIPV6Static(relbase.bionic, TestNetworkIPV6StaticAbs):
__test__ = True
-class DiscoTestNetworkIPV6Static(relbase.disco, TestNetworkIPV6StaticAbs):
- __test__ = True
-
-
class EoanTestNetworkIPV6Static(relbase.eoan, TestNetworkIPV6StaticAbs):
__test__ = True
diff --git a/tests/vmtests/test_network_ipv6_vlan.py b/tests/vmtests/test_network_ipv6_vlan.py
index f0f73890..6d38621a 100644
--- a/tests/vmtests/test_network_ipv6_vlan.py
+++ b/tests/vmtests/test_network_ipv6_vlan.py
@@ -22,16 +22,12 @@ class BionicTestNetworkIPV6Vlan(relbase.bionic, TestNetworkIPV6VlanAbs):
__test__ = True
-class DiscoTestNetworkIPV6Vlan(relbase.disco, TestNetworkIPV6VlanAbs):
- __test__ = True
-
-
class EoanTestNetworkIPV6Vlan(relbase.eoan, TestNetworkIPV6VlanAbs):
__test__ = True
- @TestNetworkVlanAbs.skip_by_date("1846232", fixby="2020-01-10")
+ @TestNetworkVlanAbs.skip_by_date("1846232", fixby="2020-03-10")
def test_ip_output(self):
- pass
+ return super().test_ip_output()
class FocalTestNetworkIPV6Vlan(relbase.focal, TestNetworkIPV6VlanAbs):
diff --git a/tests/vmtests/test_network_mtu.py b/tests/vmtests/test_network_mtu.py
index e1a55654..bf134596 100644
--- a/tests/vmtests/test_network_mtu.py
+++ b/tests/vmtests/test_network_mtu.py
@@ -189,14 +189,6 @@ class BionicTestNetworkMtu(relbase.bionic, TestNetworkMtuAbs):
upgrade_packages = "cloud-init,systemd"
-class DiscoTestNetworkMtu(relbase.disco, TestNetworkMtuAbs):
- conf_file = "examples/tests/network_mtu_networkd.yaml"
- __test__ = True
- # Until systemd is released with the fix for LP:#1671951
- add_repos = "ppa:ddstreet/systemd"
- upgrade_packages = "cloud-init,systemd"
-
-
class EoanTestNetworkMtu(relbase.eoan, TestNetworkMtuAbs):
conf_file = "examples/tests/network_mtu_networkd.yaml"
__test__ = True
diff --git a/tests/vmtests/test_network_ovs.py b/tests/vmtests/test_network_ovs.py
new file mode 100644
index 00000000..3e23bd01
--- /dev/null
+++ b/tests/vmtests/test_network_ovs.py
@@ -0,0 +1,45 @@
+# This file is part of curtin. See LICENSE file for copyright and license info.
+
+from .releases import base_vm_classes as relbase
+from .test_network import TestNetworkBaseTestsAbs
+
+
+class TestNetworkOvsAbs(TestNetworkBaseTestsAbs):
+ """ This class only needs to verify that when provided a v2 config
+ that on Bionic+ openvswitch packages are installed. """
+ conf_file = "examples/tests/network_v2_ovs.yaml"
+
+ def test_openvswitch_package_status(self):
+ """openvswitch-switch is expected installed in Ubuntu >= bionic."""
+ rel = self.target_release
+ pkg = "openvswitch-switch"
+ self.assertIn(
+ pkg, self.debian_packages,
+ "%s package expected in %s but not found" % (pkg, rel))
+
+ def test_etc_network_interfaces(self):
+ pass
+
+ def test_ip_output(self):
+ pass
+
+ def test_etc_resolvconf(self):
+ pass
+
+ def test_bridge_params(self):
+ pass
+
+
+class BionicTestNetworkOvs(relbase.bionic, TestNetworkOvsAbs):
+ __test__ = True
+
+
+class EoanTestNetworkOvs(relbase.eoan, TestNetworkOvsAbs):
+ __test__ = True
+
+
+class FocalTestNetworkOvs(relbase.focal, TestNetworkOvsAbs):
+ __test__ = True
+
+
+# vi: ts=4 expandtab syntax=python
diff --git a/tests/vmtests/test_network_static.py b/tests/vmtests/test_network_static.py
index b2fac163..80ff2cd6 100644
--- a/tests/vmtests/test_network_static.py
+++ b/tests/vmtests/test_network_static.py
@@ -28,10 +28,6 @@ class BionicTestNetworkStatic(relbase.bionic, TestNetworkStaticAbs):
__test__ = True
-class DiscoTestNetworkStatic(relbase.disco, TestNetworkStaticAbs):
- __test__ = True
-
-
class EoanTestNetworkStatic(relbase.eoan, TestNetworkStaticAbs):
__test__ = True
diff --git a/tests/vmtests/test_network_static_routes.py b/tests/vmtests/test_network_static_routes.py
index 8e63df8f..dfcbffe7 100644
--- a/tests/vmtests/test_network_static_routes.py
+++ b/tests/vmtests/test_network_static_routes.py
@@ -28,11 +28,6 @@ class BionicTestNetworkStaticRoutes(relbase.bionic,
__test__ = True
-class DiscoTestNetworkStaticRoutes(relbase.disco,
- TestNetworkStaticRoutesAbs):
- __test__ = True
-
-
class EoanTestNetworkStaticRoutes(relbase.eoan,
TestNetworkStaticRoutesAbs):
__test__ = True
diff --git a/tests/vmtests/test_network_vlan.py b/tests/vmtests/test_network_vlan.py
index 27aaa2b5..cdd06c31 100644
--- a/tests/vmtests/test_network_vlan.py
+++ b/tests/vmtests/test_network_vlan.py
@@ -76,24 +76,20 @@ class BionicTestNetworkVlan(relbase.bionic, TestNetworkVlanAbs):
__test__ = True
-class DiscoTestNetworkVlan(relbase.disco, TestNetworkVlanAbs):
- __test__ = True
-
-
class EoanTestNetworkVlan(relbase.eoan, TestNetworkVlanAbs):
__test__ = True
- @TestNetworkBaseTestsAbs.skip_by_date("1846232", fixby="2020-01-10")
+ @TestNetworkBaseTestsAbs.skip_by_date("1846232", fixby="2020-03-10")
def test_ip_output(self):
- pass
+ return super().test_ip_output()
class FocalTestNetworkVlan(relbase.focal, TestNetworkVlanAbs):
__test__ = True
- @TestNetworkBaseTestsAbs.skip_by_date("1846232", fixby="2020-01-10")
+ @TestNetworkBaseTestsAbs.skip_by_date("1846232", fixby="2020-03-10")
def test_ip_output(self):
- pass
+ return super().test_ip_output()
class Centos66TestNetworkVlan(centos_relbase.centos66_xenial,
diff --git a/tests/vmtests/test_nvme.py b/tests/vmtests/test_nvme.py
index 4f0b4d77..ca36ca80 100644
--- a/tests/vmtests/test_nvme.py
+++ b/tests/vmtests/test_nvme.py
@@ -73,10 +73,6 @@ class BionicTestNvme(relbase.bionic, TestNvmeAbs):
__test__ = True
-class DiscoTestNvme(relbase.disco, TestNvmeAbs):
- __test__ = True
-
-
class EoanTestNvme(relbase.eoan, TestNvmeAbs):
__test__ = True
@@ -143,14 +139,11 @@ class BionicTestNvmeBcache(relbase.bionic, TestNvmeBcacheAbs):
__test__ = True
-class DiscoTestNvmeBcache(relbase.disco, TestNvmeBcacheAbs):
- __test__ = True
-
-
class EoanTestNvmeBcache(relbase.eoan, TestNvmeBcacheAbs):
__test__ = True
[email protected]_by_date("1861941", fixby="2020-04-15")
class FocalTestNvmeBcache(relbase.focal, TestNvmeBcacheAbs):
__test__ = True
diff --git a/tests/vmtests/test_pollinate_useragent.py b/tests/vmtests/test_pollinate_useragent.py
index 046fff54..ff21f20d 100644
--- a/tests/vmtests/test_pollinate_useragent.py
+++ b/tests/vmtests/test_pollinate_useragent.py
@@ -61,10 +61,6 @@ class BionicTestPollinateUserAgent(relbase.bionic, TestPollinateUserAgent):
__test__ = True
-class DiscoTestPollinateUserAgent(relbase.disco, TestPollinateUserAgent):
- __test__ = True
-
-
class EoanTestPollinateUserAgent(relbase.eoan, TestPollinateUserAgent):
__test__ = True
diff --git a/tests/vmtests/test_preserve.py b/tests/vmtests/test_preserve.py
index 6194ab09..f02ba6c0 100644
--- a/tests/vmtests/test_preserve.py
+++ b/tests/vmtests/test_preserve.py
@@ -25,10 +25,6 @@ class BionicTestPreserve(relbase.bionic, TestPreserve):
__test__ = True
-class DiscoTestPreserve(relbase.disco, TestPreserve):
- __test__ = True
-
-
class EoanTestPreserve(relbase.eoan, TestPreserve):
__test__ = True
diff --git a/tests/vmtests/test_preserve_raid.py b/tests/vmtests/test_preserve_raid.py
index 3168f574..cf3a6bb7 100644
--- a/tests/vmtests/test_preserve_raid.py
+++ b/tests/vmtests/test_preserve_raid.py
@@ -25,10 +25,6 @@ class BionicTestPreserveRAID(relbase.bionic, TestPreserveRAID):
__test__ = True
-class DiscoTestPreserveRAID(relbase.disco, TestPreserveRAID):
- __test__ = True
-
-
class EoanTestPreserveRAID(relbase.eoan, TestPreserveRAID):
__test__ = True
diff --git a/tests/vmtests/test_raid5_bcache.py b/tests/vmtests/test_raid5_bcache.py
index a2df2182..7138a2ce 100644
--- a/tests/vmtests/test_raid5_bcache.py
+++ b/tests/vmtests/test_raid5_bcache.py
@@ -43,12 +43,17 @@ class TestMdadmBcacheAbs(TestMdadmAbs):
bcache-super-show /dev/vda2 > bcache_super_vda2
ls /sys/fs/bcache > bcache_ls
cat /sys/block/bcache0/bcache/cache_mode > bcache_cache_mode
+ ls -al /dev/bcache/by-uuid/ > ls_al_bcache_byuuid
exit 0""")])
- fstab_expected = {
- '/dev/bcache0': '/',
- '/dev/md0': '/srv/data',
- }
+
+ def get_fstab_expected(self):
+ bcache0_kname = self._dname_to_kname('bcache0')
+ return [
+ (self._bcache_to_byuuid(bcache0_kname), '/', 'defaults'),
+ (self._kname_to_uuid_devpath('md-uuid', 'md0'),
+ '/srv/data', 'defaults')
+ ]
def test_bcache_output_files_exist(self):
self.output_files_exist(["bcache_super_vda2", "bcache_ls",
@@ -83,10 +88,6 @@ class BionicTestRaid5Bcache(relbase.bionic, TestMdadmBcacheAbs):
__test__ = True
-class DiscoTestRaid5Bcache(relbase.disco, TestMdadmBcacheAbs):
- __test__ = True
-
-
class EoanTestRaid5Bcache(relbase.eoan, TestMdadmBcacheAbs):
__test__ = True
@@ -94,5 +95,9 @@ class EoanTestRaid5Bcache(relbase.eoan, TestMdadmBcacheAbs):
class FocalTestRaid5Bcache(relbase.focal, TestMdadmBcacheAbs):
__test__ = True
+ @TestMdadmBcacheAbs.skip_by_date("1861941", fixby="2020-04-15")
+ def test_fstab(self):
+ return super().test_fstab()
+
# vi: ts=4 expandtab syntax=python
diff --git a/tests/vmtests/test_reuse_raid_member.py b/tests/vmtests/test_reuse_raid_member.py
index af46a9b5..07259660 100644
--- a/tests/vmtests/test_reuse_raid_member.py
+++ b/tests/vmtests/test_reuse_raid_member.py
@@ -28,10 +28,6 @@ class BionicTestReuseRAIDMember(relbase.bionic, TestReuseRAIDMember):
__test__ = True
-class DiscoTestReuseRAIDMember(relbase.disco, TestReuseRAIDMember):
- __test__ = True
-
-
class EoanTestReuseRAIDMember(relbase.eoan, TestReuseRAIDMember):
__test__ = True
@@ -45,11 +41,6 @@ class BionicTestReuseRAIDMemberPartition(relbase.bionic,
__test__ = True
-class DiscoTestReuseRAIDMemberPartition(relbase.disco,
- TestReuseRAIDMemberPartition):
- __test__ = True
-
-
class EoanTestReuseRAIDMemberPartition(relbase.eoan,
TestReuseRAIDMemberPartition):
__test__ = True
diff --git a/tests/vmtests/test_reuse_uefi_esp.py b/tests/vmtests/test_reuse_uefi_esp.py
new file mode 100644
index 00000000..1e999355
--- /dev/null
+++ b/tests/vmtests/test_reuse_uefi_esp.py
@@ -0,0 +1,52 @@
+# This file is part of curtin. See LICENSE file for copyright and license info.
+
+from .test_uefi_basic import TestBasicAbs
+from .releases import base_vm_classes as relbase
+from .releases import centos_base_vm_classes as cent_rbase
+
+
+class TestUefiReuseEspAbs(TestBasicAbs):
+ conf_file = "examples/tests/uefi_reuse_esp.yaml"
+
+ def test_efiboot_menu_has_one_distro_entry(self):
+ efiboot_mgr_content = self.load_collect_file("efibootmgr.out")
+ distro_lines = [line for line in efiboot_mgr_content.splitlines()
+ if self.target_distro in line]
+ print(distro_lines)
+ self.assertEqual(1, len(distro_lines))
+
+
+class Cent70TestUefiReuseEsp(cent_rbase.centos70_bionic, TestUefiReuseEspAbs):
+ __test__ = True
+
+
+# grub-efi-amd64 + shim-signed isn't happy on XenialGA ephemeral env
+class XenialGATestUefiReuseEsp(relbase.xenial_ga, TestUefiReuseEspAbs):
+ __test__ = False
+
+
+class BionicTestUefiReuseEsp(relbase.bionic, TestUefiReuseEspAbs):
+ __test__ = True
+
+ @TestUefiReuseEspAbs.skip_by_date("1863015", fixby="2020-04-15")
+ def test_efiboot_menu_has_one_distro_entry(self):
+ return super().test_efiboot_menu_has_one_distro_entry()
+
+
+class EoanTestUefiReuseEsp(relbase.eoan, TestUefiReuseEspAbs):
+ __test__ = True
+
+ @TestUefiReuseEspAbs.skip_by_date("1863015", fixby="2020-04-15")
+ def test_efiboot_menu_has_one_distro_entry(self):
+ return super().test_efiboot_menu_has_one_distro_entry()
+
+
+class FocalTestUefiReuseEsp(relbase.focal, TestUefiReuseEspAbs):
+ __test__ = True
+
+ @TestUefiReuseEspAbs.skip_by_date("1863015", fixby="2020-04-15")
+ def test_efiboot_menu_has_one_distro_entry(self):
+ return super().test_efiboot_menu_has_one_distro_entry()
+
+
+# vi: ts=4 expandtab syntax=python
diff --git a/tests/vmtests/test_simple.py b/tests/vmtests/test_simple.py
index 9a218797..b34a6fc7 100644
--- a/tests/vmtests/test_simple.py
+++ b/tests/vmtests/test_simple.py
@@ -49,13 +49,6 @@ class BionicTestSimple(relbase.bionic, TestSimple):
self.output_files_exist(["netplan.yaml"])
-class DiscoTestSimple(relbase.disco, TestSimple):
- __test__ = True
-
- def test_output_files_exist(self):
- self.output_files_exist(["netplan.yaml"])
-
-
class EoanTestSimple(relbase.eoan, TestSimple):
__test__ = True
@@ -112,13 +105,6 @@ class BionicTestSimpleStorage(relbase.bionic, TestSimpleStorage):
self.output_files_exist(["netplan.yaml"])
-class DiscoTestSimpleStorage(relbase.disco, TestSimpleStorage):
- __test__ = True
-
- def test_output_files_exist(self):
- self.output_files_exist(["netplan.yaml"])
-
-
class EoanTestSimpleStorage(relbase.eoan, TestSimpleStorage):
__test__ = True
diff --git a/tests/vmtests/test_uefi_basic.py b/tests/vmtests/test_uefi_basic.py
index a20506d3..90940dde 100644
--- a/tests/vmtests/test_uefi_basic.py
+++ b/tests/vmtests/test_uefi_basic.py
@@ -105,10 +105,6 @@ class BionicUefiTestBasic(relbase.bionic, TestBasicAbs):
__test__ = True
-class DiscoUefiTestBasic(relbase.disco, TestBasicAbs):
- __test__ = True
-
-
class EoanUefiTestBasic(relbase.eoan, TestBasicAbs):
__test__ = True
@@ -132,11 +128,6 @@ class BionicUefiTestBasic4k(relbase.bionic, TestBasicAbs):
disk_block_size = 4096
-class DiscoUefiTestBasic4k(relbase.disco, TestBasicAbs):
- __test__ = True
- disk_block_size = 4096
-
-
class EoanUefiTestBasic4k(relbase.eoan, TestBasicAbs):
__test__ = True
disk_block_size = 4096
diff --git a/tests/vmtests/test_zfsroot.py b/tests/vmtests/test_zfsroot.py
index 86992c3c..c9c73a37 100644
--- a/tests/vmtests/test_zfsroot.py
+++ b/tests/vmtests/test_zfsroot.py
@@ -96,11 +96,6 @@ class BionicTestZfsRoot(relbase.bionic, TestZfsRootAbs):
__test__ = True
-class DiscoTestZfsRoot(relbase.disco, TestZfsRootAbs):
- __test__ = True
- mem = 4096
-
-
class EoanTestZfsRoot(relbase.eoan, TestZfsRootAbs):
__test__ = True
mem = 4096
@@ -130,11 +125,6 @@ class BionicTestZfsRootFsType(relbase.bionic, TestZfsRootFsTypeAbs):
__test__ = True
-class DiscoTestZfsRootFsType(relbase.disco, TestZfsRootFsTypeAbs):
- __test__ = True
- mem = 4096
-
-
class EoanTestZfsRootFsType(relbase.eoan, TestZfsRootFsTypeAbs):
__test__ = True
mem = 4096