示例#1
0
 def test_filter_by_lv_uuid_nothing_found(self, volumes):
     osd = api.Volume(lv_name='volume1', lv_path='/dev/volume1', lv_uuid='1111', lv_tags='')
     journal = api.Volume(lv_name='volume2', lv_path='/dev/volume2', lv_uuid='', lv_tags='')
     volumes.append(osd)
     volumes.append(journal)
     volumes.filter(lv_uuid='22222')
     assert volumes == []
示例#2
0
 def test_filter_by_lv_path(self, volumes):
     osd = api.Volume(lv_name='volume1', lv_path='/dev/volume1', lv_tags='')
     journal = api.Volume(lv_name='volume2', lv_path='/dev/volume2', lv_tags='')
     volumes.append(osd)
     volumes.append(journal)
     volumes.filter(lv_path='/dev/volume1')
     assert len(volumes) == 1
     assert volumes[0].lv_name == 'volume1'
示例#3
0
 def test_filter_by_vg_name(self, volumes):
     lv_tags = "ceph.type=data,ceph.fsid=000-aaa"
     osd = api.Volume(lv_name='volume1', vg_name='ceph_vg', lv_tags=lv_tags)
     journal = api.Volume(lv_name='volume2', vg_name='system_vg', lv_tags='ceph.type=journal')
     volumes.append(osd)
     volumes.append(journal)
     volumes.filter(vg_name='ceph_vg')
     assert len(volumes) == 1
     assert volumes[0].lv_name == 'volume1'
示例#4
0
 def test_filter_by_tag(self, volumes):
     lv_tags = "ceph.type=data,ceph.fsid=000-aaa"
     osd = api.Volume(lv_name='volume1', lv_path='/dev/vg/lv', lv_tags=lv_tags)
     journal = api.Volume(lv_name='volume2', lv_path='/dev/vg/lv', lv_tags='ceph.type=journal')
     volumes.append(osd)
     volumes.append(journal)
     volumes.filter(lv_tags={'ceph.type': 'data'})
     assert len(volumes) == 1
     assert volumes[0].lv_name == 'volume1'
示例#5
0
 def test_find_the_correct_one(self, volumes):
     volume1 = api.Volume(lv_name='volume1',
                          lv_path='/dev/vg/lv',
                          lv_tags='')
     volume2 = api.Volume(lv_name='volume2',
                          lv_path='/dev/vg/lv',
                          lv_tags='')
     volumes.append(volume1)
     volumes.append(volume2)
     assert volumes.get(lv_name='volume1') == volume1
示例#6
0
 def test_filter_by_tag_does_not_match_one(self, volumes):
     lv_tags = "ceph.type=data,ceph.fsid=000-aaa"
     osd = api.Volume(lv_name='volume1',
                      lv_path='/dev/vg/lv',
                      lv_tags=lv_tags)
     journal = api.Volume(lv_name='volume2',
                          lv_path='/dev/vg/lv',
                          lv_tags='ceph.osd_id=1,ceph.type=journal')
     volumes.append(osd)
     volumes.append(journal)
     # note the different osd_id!
     volumes.filter(lv_tags={'ceph.type': 'data', 'ceph.osd_id': '2'})
     assert volumes == []
示例#7
0
 def test_single_pv_is_matched_by_uuid(self, volumes, monkeypatch):
     FooVolume = api.Volume(
         lv_name='foo', lv_path='/dev/vg/foo',
         lv_uuid='1111', lv_tags="ceph.type=data")
     volumes.append(FooVolume)
     monkeypatch.setattr(api, 'Volumes', lambda: volumes)
     assert api.get_lv(lv_uuid='1111') == FooVolume
示例#8
0
 def test_volume_has_multiple_matches(self, volumes):
     volume1 = volume2 = api.Volume(lv_name='foo',
                                    lv_path='/dev/vg/lv',
                                    lv_tags='')
     volumes.append(volume1)
     volumes.append(volume2)
     with pytest.raises(exceptions.MultipleLVsError):
         volumes.get(lv_name='foo')
示例#9
0
 def test_no_osd_id_no_matching_fsid(self, is_root, volumes, monkeypatch,
                                     capture):
     FooVolume = api.Volume(lv_name='foo',
                            lv_path='/dev/vg/foo',
                            lv_tags="ceph.osd_fsid=11234")
     volumes.append(FooVolume)
     monkeypatch.setattr(api, 'Volumes', lambda: volumes)
     monkeypatch.setattr(activate, 'activate_filestore', capture)
     args = Args(osd_id=None, osd_fsid='1234')
     with pytest.raises(RuntimeError):
         activate.Activate([]).activate(args)
示例#10
0
 def test_no_osd_id_matches_fsid(self, is_root, volumes, monkeypatch,
                                 capture):
     FooVolume = api.Volume(lv_name='foo',
                            lv_path='/dev/vg/foo',
                            lv_tags="ceph.osd_fsid=1234")
     volumes.append(FooVolume)
     monkeypatch.setattr(api, 'Volumes', lambda: volumes)
     monkeypatch.setattr(activate, 'activate_filestore', capture)
     args = Args(osd_id=None, osd_fsid='1234')
     activate.Activate([]).activate(args)
     assert capture.calls[0]['args'][0] == [FooVolume]
示例#11
0
 def setup(self):
     self.foo_volume = api.Volume(lv_name='foo', lv_path='/path', vg_name='foo_group', lv_tags='')