summaryrefslogtreecommitdiff
path: root/tests/vmtests/test_lvm_raid.py
blob: 362191a2e602c7f97a53d471bfde5073e861e7b9 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
# This file is part of curtin. See LICENSE file for copyright and license info.

from .releases import base_vm_classes as relbase
from .test_mdadm_bcache import TestMdadmAbs
from .test_lvm import TestLvmAbs

import textwrap


class TestLvmOverRaidAbs(TestMdadmAbs, TestLvmAbs):
    conf_file = "examples/tests/lvmoverraid.yaml"
    active_mdadm = "2"
    nr_cpus = 2
    dirty_disks = True
    extra_disks = ['10G'] * 4

    extra_collect_scripts = (
        TestLvmAbs.extra_collect_scripts +
        TestMdadmAbs.extra_collect_scripts +
        [textwrap.dedent("""
            cd OUTPUT_COLLECT_D
            ls -al /dev/md* > dev_md
            cp -a /etc/mdadm etc_mdadm
            cp -a /etc/lvm etc_lvm

            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 test_lvs(self):
        self.check_file_strippedline("lvs", "lv-0=vg0")

    def test_pvs(self):
        dname_to_vg = {'md0': 'vg0', 'md1': 'vg0'}
        return self._test_pvs(dname_to_vg)


class EoanTestLvmOverRaid(relbase.eoan, TestLvmOverRaidAbs):
    __test__ = True


class DiscoTestLvmOverRaid(relbase.disco, TestLvmOverRaidAbs):
    __test__ = True


class CosmicTestLvmOverRaid(relbase.cosmic, TestLvmOverRaidAbs):
    __test__ = True


class BionicTestLvmOverRaid(relbase.bionic, TestLvmOverRaidAbs):
    __test__ = True


class XenialGATestLvmOverRaid(relbase.xenial_ga, TestLvmOverRaidAbs):
    __test__ = True