]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
ceph-volume tests verify create_lvs behavior
authorAlfredo Deza <adeza@redhat.com>
Mon, 4 Jun 2018 18:04:52 +0000 (14:04 -0400)
committerAlfredo Deza <adeza@redhat.com>
Tue, 5 Jun 2018 15:40:30 +0000 (11:40 -0400)
Signed-off-by: Alfredo Deza <adeza@redhat.com>
src/ceph-volume/ceph_volume/tests/api/test_lvm.py

index d4d89bb1dc2fc8e1a2d00135718984ea823c74b6..77335ea5d9b36d67eeedebe53a0812e3d2c5973a 100644 (file)
@@ -388,6 +388,39 @@ class TestVolumeGroupFree(object):
         assert vg.free == 100
 
 
+class TestCreateLVs(object):
+
+    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')
+        lvs = api.create_lvs(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')
+        lvs = api.create_lvs(vg, parts=4)
+        assert lvs[0][1]['size'] == '256g'
+
+    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')
+        lvs = api.create_lvs(vg, parts=4)
+        assert lvs[0][1]['size'] == '256g'
+
+    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')
+        kwargs = api.create_lvs(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')
+        lvs = api.create_lvs(vg)
+        assert len(lvs) == 1
+
+
 class TestVolumeGroupSizing(object):
 
     def test_parts_and_size_errors(self):