def test_filter_by_tag(self, volume_groups): vg_tags = "ceph.group=dmcache" osd = api.VolumeGroup(vg_name='volume1', vg_tags=vg_tags) journal = api.VolumeGroup(vg_name='volume2', vg_tags='ceph.group=plain') volume_groups.append(osd) volume_groups.append(journal) volume_groups.filter(vg_tags={'ceph.group': 'dmcache'}) assert len(volume_groups) == 1 assert volume_groups[0].vg_name == 'volume1'
def test_filter_by_vg_name(self, volume_groups): vg_tags = "ceph.type=data,ceph.fsid=000-aaa" osd = api.VolumeGroup(vg_name='ceph_vg', vg_tags=vg_tags) journal = api.VolumeGroup(vg_name='volume2', vg_tags='ceph.type=journal') volume_groups.append(osd) volume_groups.append(journal) volume_groups.filter(vg_name='ceph_vg') assert len(volume_groups) == 1 assert volume_groups[0].vg_name == 'ceph_vg'
def test_volume_has_multiple_matches(self, volume_groups): volume1 = volume2 = api.VolumeGroup(vg_name='foo', lv_path='/dev/vg/lv', lv_tags='') volume_groups.append(volume1) volume_groups.append(volume2) with pytest.raises(exceptions.MultipleVGsError): volume_groups.get(vg_name='foo')
def test_filter_by_tag_does_not_match_one(self, volume_groups): vg_tags = "ceph.group=dmcache,ceph.disk_type=ssd" osd = api.VolumeGroup(vg_name='volume1', vg_path='/dev/vg/lv', vg_tags=vg_tags) volume_groups.append(osd) volume_groups.filter(vg_tags={ 'ceph.group': 'data', 'ceph.disk_type': 'ssd' }) assert volume_groups == []
def test_find_the_correct_one(self, volume_groups): volume1 = api.VolumeGroup(vg_name='volume1', lv_tags='') volume2 = api.VolumeGroup(vg_name='volume2', lv_tags='') volume_groups.append(volume1) volume_groups.append(volume2) assert volume_groups.get(vg_name='volume1') == volume1
def test_single_vg_is_matched(self, volume_groups, monkeypatch): FooVG = api.VolumeGroup(vg_name='foo') volume_groups.append(FooVG) monkeypatch.setattr(api, 'VolumeGroups', lambda: volume_groups) assert api.get_vg(vg_name='foo') == FooVG