11import pytest
22from ceph_volume .devices import lvm
3- from ceph_volume .api import lvm as api
43from unittest .mock import patch
5- from ceph_volume import objectstore
6-
74
85class TestLVM (object ):
96
@@ -25,35 +22,6 @@ def test_main_shows_prepare_subcommands(self, capsys):
2522 assert 'Format an LVM device' in stdout
2623
2724
28- @patch ('ceph_volume.util.prepare.create_key' , return_value = 'fake-secret' )
29- class TestPrepareDevice (object ):
30-
31- def test_cannot_use_device (self , m_create_key , factory ):
32- args = factory (data = '/dev/var/foo' )
33- with pytest .raises (RuntimeError ) as error :
34- p = lvm .prepare .Prepare ([])
35- p .objectstore = objectstore .lvmbluestore .LvmBlueStore (args = args )
36- p .objectstore .prepare_data_device ( 'data' , '0' )
37- assert 'Cannot use device (/dev/var/foo)' in str (error .value )
38- assert 'A vg/lv path or an existing device is needed' in str (error .value )
39-
40- @patch ('ceph_volume.util.prepare.create_key' , return_value = 'fake-secret' )
41- class TestGetClusterFsid (object ):
42- def setup_method (self ):
43- self .p = lvm .prepare .Prepare ([])
44-
45- def test_fsid_is_passed_in (self , m_create_key , factory ):
46- args = factory (cluster_fsid = 'aaaa-1111' )
47- self .p .objectstore = objectstore .lvmbluestore .LvmBlueStore (args )
48- assert self .p .objectstore .get_cluster_fsid () == 'aaaa-1111'
49-
50- def test_fsid_is_read_from_ceph_conf (self , m_create_key , factory , conf_ceph_stub ):
51- conf_ceph_stub ('[global]\n fsid = bbbb-2222' )
52- args = factory (cluster_fsid = '' )
53- self .p .objectstore = objectstore .lvmbluestore .LvmBlueStore (args )
54- assert self .p .objectstore .get_cluster_fsid () == 'bbbb-2222'
55-
56-
5725@patch ('ceph_volume.util.prepare.create_key' , return_value = 'fake-secret' )
5826class TestPrepare (object ):
5927
@@ -72,56 +40,6 @@ def test_main_shows_full_help(self, m_create_key, capsys):
7240 assert 'Use the bluestore objectstore' in stdout
7341 assert 'A physical device or logical' in stdout
7442
75- def test_setup_device_device_name_is_none (self , m_create_key ):
76- self .p .objectstore = objectstore .lvmbluestore .LvmBlueStore (args = [])
77- result = self .p .objectstore .setup_device (device_type = 'data' ,
78- device_name = None ,
79- tags = {'ceph.type' : 'data' },
80- size = 0 ,
81- slots = None )
82- assert result == ('' , '' , {'ceph.type' : 'data' })
83-
84- @patch ('ceph_volume.api.lvm.Volume.set_tags' )
85- @patch ('ceph_volume.api.lvm.get_single_lv' )
86- def test_setup_device_lv_passed (self , m_get_single_lv , m_set_tags , m_create_key ):
87- fake_volume = api .Volume (lv_name = 'lv_foo' , lv_path = '/fake-path' , vg_name = 'vg_foo' , lv_tags = '' , lv_uuid = 'fake-uuid' )
88- m_get_single_lv .return_value = fake_volume
89- self .p .objectstore = objectstore .lvmbluestore .LvmBlueStore (args = [])
90- result = self .p .objectstore .setup_device (device_type = 'data' , device_name = 'vg_foo/lv_foo' , tags = {'ceph.type' : 'data' }, size = 0 , slots = None )
91-
92- assert result == ('/fake-path' , 'fake-uuid' , {'ceph.type' : 'data' ,
93- 'ceph.vdo' : '0' ,
94- 'ceph.data_uuid' : 'fake-uuid' ,
95- 'ceph.data_device' : '/fake-path' })
96-
97- @patch ('ceph_volume.api.lvm.create_lv' )
98- @patch ('ceph_volume.api.lvm.Volume.set_tags' )
99- @patch ('ceph_volume.util.disk.is_device' )
100- def test_setup_device_device_passed (self , m_is_device , m_set_tags , m_create_lv , m_create_key ):
101- fake_volume = api .Volume (lv_name = 'lv_foo' , lv_path = '/fake-path' , vg_name = 'vg_foo' , lv_tags = '' , lv_uuid = 'fake-uuid' )
102- m_is_device .return_value = True
103- m_create_lv .return_value = fake_volume
104- self .p .objectstore = objectstore .lvmbluestore .LvmBlueStore (args = [])
105- result = self .p .objectstore .setup_device (device_type = 'data' , device_name = '/dev/sdx' , tags = {'ceph.type' : 'data' }, size = 0 , slots = None )
106-
107- assert result == ('/fake-path' , 'fake-uuid' , {'ceph.type' : 'data' ,
108- 'ceph.vdo' : '0' ,
109- 'ceph.data_uuid' : 'fake-uuid' ,
110- 'ceph.data_device' : '/fake-path' })
111-
112- @patch ('ceph_volume.objectstore.baseobjectstore.BaseObjectStore.get_ptuuid' )
113- @patch ('ceph_volume.api.lvm.get_single_lv' )
114- def test_setup_device_partition_passed (self , m_get_single_lv , m_get_ptuuid , m_create_key ):
115- m_get_single_lv .side_effect = ValueError ()
116- m_get_ptuuid .return_value = 'fake-uuid'
117- self .p .objectstore = objectstore .lvmbluestore .LvmBlueStore (args = [])
118- result = self .p .objectstore .setup_device (device_type = 'data' , device_name = '/dev/sdx' , tags = {'ceph.type' : 'data' }, size = 0 , slots = None )
119-
120- assert result == ('/dev/sdx' , 'fake-uuid' , {'ceph.type' : 'data' ,
121- 'ceph.vdo' : '0' ,
122- 'ceph.data_uuid' : 'fake-uuid' ,
123- 'ceph.data_device' : '/dev/sdx' })
124-
12543 def test_invalid_osd_id_passed (self , m_create_key ):
12644 with pytest .raises (SystemExit ):
12745 lvm .prepare .Prepare (argv = ['--osd-id' , 'foo' ]).main ()
0 commit comments