コード例 #1
0
    def test_calculate_overprovision(self):
        '''When calculated space is higher than available space, raise an exception.'''
        vg_size = 20 * 10**6  # 20 mb drive
        vg_available = 10  # 10 bytes available
        size_str = '80%'

        vg = VolumeGroup(None, size=vg_size, available_size=vg_available)

        with pytest.raises(error.NotEnoughStorage):
            ApplyNodeStorage.calculate_bytes(size_str=size_str, context=vg)
コード例 #2
0
    def test_calculate_min_label(self):
        '''Adding the min marker '>' should provision all available space.'''
        vg_size = 20 * 10**6  # 20 mb drive
        vg_available = 15 * 10**6
        size_str = '>10%'

        vg = VolumeGroup(None, size=vg_size, available_size=vg_available)

        calc_size = ApplyNodeStorage.calculate_bytes(
            size_str=size_str, context=vg)

        assert calc_size == vg_available - ApplyNodeStorage.PART_TABLE_RESERVATION
コード例 #3
0
    def test_calculate_percent_vg(self):
        '''Convert a percent of total blockdev space to explicit byte count.'''
        vg_size = 20 * 10**6  # 20 mb drive
        lv_size = math.floor(.2 * vg_size)  # calculate 20% of drive size
        size_str = '20%'

        vg = VolumeGroup(None, size=vg_size, available_size=vg_size)

        calc_size = ApplyNodeStorage.calculate_bytes(
            size_str=size_str, context=vg)

        assert calc_size == lv_size
コード例 #4
0
    def test_calculate_overprovision(self):
        '''When calculated space is higher than available space, raise an exception.'''
        vg_size = 20 * 1000 * 1000  # 20 mb drive
        vg_available = 10  # 10 bytes available
        lv_size = math.floor(.8 * vg_size)  # calculate 80% of drive size
        size_str = '80%'

        vg = VolumeGroup(None, size=vg_size, available_size=vg_available)

        with pytest.raises(error.NotEnoughStorage):
            calc_size = MaasTaskRunner.calculate_bytes(size_str=size_str,
                                                       context=vg)
コード例 #5
0
    def test_calculate_min_label(self):
        '''Adding the min marker '>' should provision all available space.'''
        vg_size = 20 * 1000 * 1000  # 20 mb drive
        vg_available = 15 * 1000 * 1000
        lv_size = math.floor(.1 * vg_size)  # calculate 20% of drive size
        size_str = '>10%'

        vg = VolumeGroup(None, size=vg_size, available_size=vg_available)

        calc_size = MaasTaskRunner.calculate_bytes(size_str=size_str,
                                                   context=vg)

        assert calc_size == vg_available