assert api.get_api_vgs() == [{'vg_name': 'VolGroup00'}]
def test_report_has_stuff_with_empty_attrs(self, monkeypatch):
- report = [' VolGroup00 ;;;;;;9g']
+ report = [' VolGroup00 ;;;;;;4194304']
monkeypatch.setattr(api.process, 'call', lambda x, **kw: (report, '', 0))
result = api.get_api_vgs()[0]
assert len(result.keys()) == 7
assert result['vg_name'] == 'VolGroup00'
- assert result['vg_free'] == '9g'
+ assert result['vg_extent_size'] == '4194304'
def test_report_has_multiple_items(self, monkeypatch):
report = [' VolGroup00;;;;;;;', ' ceph_vg;;;;;;;']
class TestCreateLVs(object):
+ def setup(self):
+ self.vg = api.VolumeGroup(vg_name='ceph',
+ vg_extent_size=1073741824,
+ vg_extent_count=99999999,
+ vg_free_count=999)
+
def test_creates_correct_lv_number_from_parts(self, monkeypatch):
monkeypatch.setattr('ceph_volume.api.lvm.create_lv', lambda *a, **kw: (a, kw))
- vg = api.VolumeGroup(
- vg_name='ceph', vg_free='1024g',
- vg_size='99999999g', vg_free_count='999'
- )
- lvs = api.create_lvs(vg, parts=4)
+ lvs = api.create_lvs(self.vg, parts=4)
assert len(lvs) == 4
def test_suffixes_the_size_arg(self, monkeypatch):
monkeypatch.setattr('ceph_volume.api.lvm.create_lv', lambda *a, **kw: (a, kw))
- vg = api.VolumeGroup(
- vg_name='ceph', vg_free='1024g',
- vg_size='99999999g', vg_free_count='999'
- )
- lvs = api.create_lvs(vg, parts=4)
+ lvs = api.create_lvs(self.vg, parts=4)
assert lvs[0][1]['extents'] == 249
def test_only_uses_free_size(self, monkeypatch):
monkeypatch.setattr('ceph_volume.api.lvm.create_lv', lambda *a, **kw: (a, kw))
- vg = api.VolumeGroup(
- vg_name='ceph', vg_free='1024g',
- vg_size='99999999g', vg_free_count='1000'
- )
+ vg = api.VolumeGroup(vg_name='ceph',
+ vg_extent_size=1073741824,
+ vg_extent_count=99999999,
+ vg_free_count=1000)
lvs = api.create_lvs(vg, parts=4)
assert lvs[0][1]['extents'] == 250
def test_null_tags_are_set_by_default(self, monkeypatch):
monkeypatch.setattr('ceph_volume.api.lvm.create_lv', lambda *a, **kw: (a, kw))
- vg = api.VolumeGroup(
- vg_name='ceph', vg_free='1024g',
- vg_size='99999999g', vg_free_count='999'
- )
- kwargs = api.create_lvs(vg, parts=4)[0][1]
+ kwargs = api.create_lvs(self.vg, parts=4)[0][1]
assert list(kwargs['tags'].values()) == ['null', 'null', 'null', 'null']
def test_fallback_to_one_part(self, monkeypatch):
monkeypatch.setattr('ceph_volume.api.lvm.create_lv', lambda *a, **kw: (a, kw))
- vg = api.VolumeGroup(
- vg_name='ceph', vg_free='1024g',
- vg_size='99999999g', vg_free_count='999'
- )
- lvs = api.create_lvs(vg)
+ lvs = api.create_lvs(self.vg)
assert len(lvs) == 1
class TestVolumeGroupSizing(object):
def setup(self):
- self.vg = api.VolumeGroup(
- vg_name='ceph', vg_free='1024g',
- vg_free_count='261129'
- )
+ self.vg = api.VolumeGroup(vg_name='ceph',
+ vg_extent_size=1073741824,
+ vg_free_count=1024)
def test_parts_and_size_errors(self):
with pytest.raises(ValueError) as error:
def test_extents_are_halfed_rounded_down(self):
result = self.vg.sizing(size=512)
- # the real extents would've given 130564.5
- assert result['extents'] == 130564
+ assert result['extents'] == 512
def test_bit_less_size_rounds_down(self):
result = self.vg.sizing(size=129)