Example #1
0
 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'
Example #2
0
 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'
Example #3
0
 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')
Example #4
0
 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 == []
Example #5
0
 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
Example #6
0
 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