Ejemplo n.º 1
0
    def test_lvmdata_same_as_hlm_model_numbering(self):
        hlm_model = yaml.safe_load(lvm_disk_model)
        server0 = hlm_model.get('global').get('all_servers')[0]
        drive_model = server0.get('disk_model')
        swift_devs = LogicalVol.get_lvms(drive_model)
        name_numbers = []
        for dev in swift_devs:
            name_numbers.append(dev.swift_lvm_name)

        # Do not change this without also examining test_hlm_model.py
        dev_expected = ['lvm0', 'lvm1', 'lvm2']
        for dev in set(dev_expected):
            self.assertTrue(dev in name_numbers,
                            '%s missing from %s' % (dev, name_numbers))
            name_numbers.remove(dev)
        self.assertEqual(0, len(name_numbers), 'still have %s' % name_numbers)

        # Check we handle empty ring list (lvm2 has no rings), but has
        # Swift consumer
        server1 = hlm_model.get('global').get('all_servers')[1]
        drive_model = server1.get('disk_model')
        swift_devs = LogicalVol.get_lvms(drive_model)
        name_numbers = []
        for dev in swift_devs:
            name_numbers.append(dev.swift_lvm_name)

        # Do not change this without also examining test_hlm_model.py
        dev_expected = ['lvm0', 'lvm1', 'lvm2', 'lvm3']
        for dev in set(dev_expected):
            self.assertTrue(dev in name_numbers,
                            '%s missing from %s' % (dev, name_numbers))
            name_numbers.remove(dev)
        self.assertEqual(0, len(name_numbers), 'still have %s' % name_numbers)
Ejemplo n.º 2
0
    def test_lvmdata_same_as_hlm_model_numbering(self):
        hlm_model = yaml.safe_load(lvm_disk_model)
        server0 = hlm_model.get('global').get('all_servers')[0]
        drive_model = server0.get('disk_model')
        swift_devs = LogicalVol.get_lvms(drive_model)
        name_numbers = []
        for dev in swift_devs:
            name_numbers.append(dev.swift_lvm_name)

        # Do not change this without also examining test_hlm_model.py
        dev_expected = ['lvm0', 'lvm1', 'lvm2']
        for dev in set(dev_expected):
            self.assertTrue(dev in name_numbers, '%s missing from %s' % (
                dev, name_numbers))
            name_numbers.remove(dev)
        self.assertEqual(0, len(name_numbers), 'still have %s' % name_numbers)

        # Check we handle empty ring list (lvm2 has no rings), but has
        # Swift consumer
        server1 = hlm_model.get('global').get('all_servers')[1]
        drive_model = server1.get('disk_model')
        swift_devs = LogicalVol.get_lvms(drive_model)
        name_numbers = []
        for dev in swift_devs:
            name_numbers.append(dev.swift_lvm_name)

        # Do not change this without also examining test_hlm_model.py
        dev_expected = ['lvm0', 'lvm1', 'lvm2', 'lvm3']
        for dev in set(dev_expected):
            self.assertTrue(dev in name_numbers, '%s missing from %s' % (
                dev, name_numbers))
            name_numbers.remove(dev)
        self.assertEqual(0, len(name_numbers), 'still have %s' % name_numbers)
Ejemplo n.º 3
0
    def test_no_swift_consumers(self):
        disk_model = '''
volume_groups:
-   consumer:
        name: os
    logical_volumes:
    -   fstype: ext4
        mount: /
        name: root
        size: 40%
    -   fstype: ext4
        mkfs_opts: -O large_file
        mount: /var/log
        name: log
        size: 20%
    -   fstype: ext4
        mkfs_opts: -O large_file
        mount: /var/crash
        name: crash
        size: 10%
    -   fstype: ext4
        mkfs_opts: -O large_file
        mount: /var/lib/elasticsearch
        name: elasticsearch
        size: 10%
    -   fstype: ext4
        mkfs_opts: -O large_file
        mount: /var/lib/zookeeper
        name: zookeeper
        size: 5%
    name: ardana-vg
'''
        swift_lvms = LogicalVol.get_lvms(yaml.safe_load(disk_model))
        self.assertEqual(len(swift_lvms), 0)
Ejemplo n.º 4
0
    def test_no_swift_consumers(self):
        disk_model = '''
volume_groups:
-   consumer:
        name: os
    logical_volumes:
    -   fstype: ext4
        mount: /
        name: root
        size: 40%
    -   fstype: ext4
        mkfs_opts: -O large_file
        mount: /var/log
        name: log
        size: 20%
    -   fstype: ext4
        mkfs_opts: -O large_file
        mount: /var/crash
        name: crash
        size: 10%
    -   fstype: ext4
        mkfs_opts: -O large_file
        mount: /var/lib/elasticsearch
        name: elasticsearch
        size: 10%
    -   fstype: ext4
        mkfs_opts: -O large_file
        mount: /var/lib/zookeeper
        name: zookeeper
        size: 5%
    name: hlm-vg
'''
        swift_lvms = LogicalVol.get_lvms(yaml.safe_load(disk_model))
        self.assertEqual(len(swift_lvms), 0)
Ejemplo n.º 5
0
    def test_valid_disk_model(self):
        disk_model = '''
volume_groups:
-   consumer:
        name: os
    logical_volumes:
    -   fstype: ext4
        mount: /
        name: root
        size: 40%
    -   attrs:
            rings:
            - account
            - container
        consumer:
            name: swift
        name: swf1
        size: 5%
    -   attrs:
            rings:
            - account
            - container
        consumer:
            name: swift
        name: swf2
        size: 5%
    -   fstype: ext4
        mkfs_opts: -O large_file
        mount: /var/log
        name: log
        size: 20%
    -   fstype: ext4
        mkfs_opts: -O large_file
        mount: /var/crash
        name: crash
        size: 10%
    -   fstype: ext4
        mkfs_opts: -O large_file
        mount: /var/lib/elasticsearch
        name: elasticsearch
        size: 10%
    -   fstype: ext4
        mkfs_opts: -O large_file
        mount: /var/lib/zookeeper
        name: zookeeper
        size: 5%
    name: ardana-vg
'''
        swift_lvms = LogicalVol.get_lvms(yaml.safe_load(disk_model))
        expect0 = ('swf1', 'lvm0')
        expect1 = ('swf2', 'lvm1')
        results = []
        for swift_lvm in swift_lvms:
            name = swift_lvm.lvm
            mount = swift_lvm.swift_lvm_name
            results.append((name, mount))
        self.assertEqual(results, [expect0, expect1])
Ejemplo n.º 6
0
    def test_valid_disk_model(self):
        disk_model = '''
volume_groups:
-   consumer:
        name: os
    logical_volumes:
    -   fstype: ext4
        mount: /
        name: root
        size: 40%
    -   attrs:
            rings:
            - account
            - container
        consumer:
            name: swift
        name: swf1
        size: 5%
    -   attrs:
            rings:
            - account
            - container
        consumer:
            name: swift
        name: swf2
        size: 5%
    -   fstype: ext4
        mkfs_opts: -O large_file
        mount: /var/log
        name: log
        size: 20%
    -   fstype: ext4
        mkfs_opts: -O large_file
        mount: /var/crash
        name: crash
        size: 10%
    -   fstype: ext4
        mkfs_opts: -O large_file
        mount: /var/lib/elasticsearch
        name: elasticsearch
        size: 10%
    -   fstype: ext4
        mkfs_opts: -O large_file
        mount: /var/lib/zookeeper
        name: zookeeper
        size: 5%
    name: hlm-vg
'''
        swift_lvms = LogicalVol.get_lvms(yaml.safe_load(disk_model))
        expect0 = ('swf1', 'lvm0')
        expect1 = ('swf2', 'lvm1')
        results = []
        for swift_lvm in swift_lvms:
            name = swift_lvm.lvm
            mount = swift_lvm.swift_lvm_name
            results.append((name, mount))
        self.assertEqual(results, [expect0, expect1])
Ejemplo n.º 7
0
    def test_lvmdata_same_as_ardana_model_numbering(self):
        ardana_model = yaml.safe_load(lvm_disk_model)
        server0 = ardana_model.get('global').get('all_servers')[0]
        drive_model = server0.get('disk_model')
        swift_devs = LogicalVol.get_lvms(drive_model)
        name_numbers = []
        for dev in swift_devs:
            name_numbers.append(dev.swift_lvm_name)

        # Do not change this without also examining test_ardana_model.py
        dev_expected = ['lvm0', 'lvm1', 'lvm2']
        for dev in set(dev_expected):
            self.assertTrue(dev in name_numbers, '%s missing from %s' % (
                dev, name_numbers))
            dev_expected.remove(dev)
        self.assertEqual(0, len(dev_expected), 'still have %s' % dev_expected)
Ejemplo n.º 8
0
    def test_bad_consumer_syntax(self):
        disk_model = '''
volume_groups:
-   consumer:
        name: os
    logical_volumes:
    -   fstype: ext4
        mount: /
        name: root
        size: 40%
    -   name: swf1
        consumer: swift   # should be object with name and attrs
        attrs:
            rings:
               - junk
    name: ardana-vg
'''
        swift_lvms = LogicalVol.get_lvms(yaml.safe_load(disk_model))
        self.assertEqual(len(swift_lvms), 0)
Ejemplo n.º 9
0
    def test_bad_consumer_syntax(self):
        disk_model = '''
volume_groups:
-   consumer:
        name: os
    logical_volumes:
    -   fstype: ext4
        mount: /
        name: root
        size: 40%
    -   name: swf1
        consumer: swift   # should be object with name and attrs
        attrs:
            rings:
               - junk
    name: hlm-vg
'''
        swift_lvms = LogicalVol.get_lvms(yaml.safe_load(disk_model))
        self.assertEqual(len(swift_lvms), 0)