]>
Commit | Line | Data |
---|---|---|
181888fb | 1 | import pytest |
f6b5b4d7 | 2 | from copy import deepcopy |
3efd9988 FG |
3 | from ceph_volume.devices.lvm import activate |
4 | from ceph_volume.api import lvm as api | |
94b18763 | 5 | from ceph_volume.tests.conftest import Capture |
181888fb FG |
6 | |
7 | ||
8 | class Args(object): | |
9 | ||
10 | def __init__(self, **kw): | |
3efd9988 FG |
11 | # default flags |
12 | self.bluestore = False | |
13 | self.filestore = False | |
94b18763 | 14 | self.no_systemd = False |
3efd9988 | 15 | self.auto_detect_objectstore = None |
181888fb FG |
16 | for k, v in kw.items(): |
17 | setattr(self, k, v) | |
18 | ||
19 | ||
20 | class TestActivate(object): | |
21 | ||
22 | # these tests are very functional, hence the heavy patching, it is hard to | |
23 | # test the negative side effect with an actual functional run, so we must | |
24 | # setup a perfect scenario for this test to check it can really work | |
25 | # with/without osd_id | |
f6b5b4d7 TL |
26 | def test_no_osd_id_matches_fsid(self, is_root, monkeypatch, capture): |
27 | FooVolume = api.Volume(lv_name='foo', lv_path='/dev/vg/foo', | |
28 | lv_tags="ceph.osd_fsid=1234") | |
29 | volumes = [] | |
181888fb | 30 | volumes.append(FooVolume) |
f6b5b4d7 | 31 | monkeypatch.setattr(api, 'get_lvs', lambda **kwargs: volumes) |
181888fb | 32 | monkeypatch.setattr(activate, 'activate_filestore', capture) |
3efd9988 FG |
33 | args = Args(osd_id=None, osd_fsid='1234', filestore=True) |
34 | activate.Activate([]).activate(args) | |
35 | assert capture.calls[0]['args'][0] == [FooVolume] | |
36 | ||
f6b5b4d7 TL |
37 | def test_no_osd_id_matches_fsid_bluestore(self, is_root, monkeypatch, capture): |
38 | FooVolume = api.Volume(lv_name='foo', lv_path='/dev/vg/foo', | |
39 | lv_tags="ceph.osd_fsid=1234") | |
40 | volumes = [] | |
3efd9988 | 41 | volumes.append(FooVolume) |
f6b5b4d7 | 42 | monkeypatch.setattr(api, 'get_lvs', lambda **kwargs: volumes) |
3efd9988 FG |
43 | monkeypatch.setattr(activate, 'activate_bluestore', capture) |
44 | args = Args(osd_id=None, osd_fsid='1234', bluestore=True) | |
181888fb FG |
45 | activate.Activate([]).activate(args) |
46 | assert capture.calls[0]['args'][0] == [FooVolume] | |
47 | ||
f6b5b4d7 TL |
48 | def test_no_osd_id_no_matching_fsid(self, is_root, monkeypatch, capture): |
49 | FooVolume = api.Volume(lv_name='foo', lv_path='/dev/vg/foo', | |
50 | lv_tags="ceph.osd_fsid=1111") | |
51 | volumes = [] | |
181888fb | 52 | volumes.append(FooVolume) |
f6b5b4d7 TL |
53 | monkeypatch.setattr(api, 'get_lvs', lambda **kwargs: []) |
54 | monkeypatch.setattr(api, 'get_first_lv', lambda **kwargs: []) | |
181888fb | 55 | monkeypatch.setattr(activate, 'activate_filestore', capture) |
f6b5b4d7 TL |
56 | |
57 | args = Args(osd_id=None, osd_fsid='2222') | |
181888fb FG |
58 | with pytest.raises(RuntimeError): |
59 | activate.Activate([]).activate(args) | |
3efd9988 | 60 | |
f6b5b4d7 | 61 | def test_filestore_no_systemd(self, is_root, monkeypatch, capture): |
91327a77 | 62 | monkeypatch.setattr('ceph_volume.configuration.load', lambda: None) |
94b18763 FG |
63 | fake_enable = Capture() |
64 | fake_start_osd = Capture() | |
65 | monkeypatch.setattr('ceph_volume.util.system.device_is_mounted', lambda *a, **kw: True) | |
66 | monkeypatch.setattr('ceph_volume.util.system.chown', lambda *a, **kw: True) | |
67 | monkeypatch.setattr('ceph_volume.process.run', lambda *a, **kw: True) | |
68 | monkeypatch.setattr(activate.systemctl, 'enable_volume', fake_enable) | |
69 | monkeypatch.setattr(activate.systemctl, 'start_osd', fake_start_osd) | |
70 | JournalVolume = api.Volume( | |
71 | lv_name='journal', | |
72 | lv_path='/dev/vg/journal', | |
73 | lv_uuid='000', | |
74 | lv_tags=','.join([ | |
75 | "ceph.cluster_name=ceph", "ceph.journal_device=/dev/vg/journal", | |
76 | "ceph.journal_uuid=000", "ceph.type=journal", | |
91327a77 AA |
77 | "ceph.osd_id=0", "ceph.osd_fsid=1234"]) |
78 | ) | |
94b18763 FG |
79 | DataVolume = api.Volume( |
80 | lv_name='data', | |
81 | lv_path='/dev/vg/data', | |
f6b5b4d7 TL |
82 | lv_uuid='001', |
83 | lv_tags="ceph.cluster_name=ceph,ceph.journal_device=/dev/vg/" + \ | |
84 | "journal,ceph.journal_uuid=000,ceph.type=data," + \ | |
85 | "ceph.osd_id=0,ceph.osd_fsid=1234") | |
86 | volumes = [] | |
94b18763 FG |
87 | volumes.append(DataVolume) |
88 | volumes.append(JournalVolume) | |
f6b5b4d7 TL |
89 | monkeypatch.setattr(api, 'get_lvs', lambda **kwargs: deepcopy(volumes)) |
90 | ||
94b18763 FG |
91 | args = Args(osd_id=None, osd_fsid='1234', no_systemd=True, filestore=True) |
92 | activate.Activate([]).activate(args) | |
93 | assert fake_enable.calls == [] | |
94 | assert fake_start_osd.calls == [] | |
95 | ||
f6b5b4d7 | 96 | def test_filestore_no_systemd_autodetect(self, is_root, monkeypatch, capture): |
91327a77 AA |
97 | monkeypatch.setattr('ceph_volume.configuration.load', lambda: None) |
98 | fake_enable = Capture() | |
99 | fake_start_osd = Capture() | |
100 | monkeypatch.setattr('ceph_volume.util.system.device_is_mounted', lambda *a, **kw: True) | |
101 | monkeypatch.setattr('ceph_volume.util.system.chown', lambda *a, **kw: True) | |
102 | monkeypatch.setattr('ceph_volume.process.run', lambda *a, **kw: True) | |
103 | monkeypatch.setattr(activate.systemctl, 'enable_volume', fake_enable) | |
104 | monkeypatch.setattr(activate.systemctl, 'start_osd', fake_start_osd) | |
105 | JournalVolume = api.Volume( | |
106 | lv_name='journal', | |
107 | lv_path='/dev/vg/journal', | |
108 | lv_uuid='000', | |
109 | lv_tags=','.join([ | |
110 | "ceph.cluster_name=ceph", "ceph.journal_device=/dev/vg/journal", | |
111 | "ceph.journal_uuid=000", "ceph.type=journal", | |
112 | "ceph.osd_id=0", "ceph.osd_fsid=1234"]) | |
113 | ) | |
114 | DataVolume = api.Volume( | |
115 | lv_name='data', | |
116 | lv_path='/dev/vg/data', | |
f6b5b4d7 TL |
117 | lv_uuid='001', |
118 | lv_tags="ceph.cluster_name=ceph,ceph.journal_device=/dev/vg/" + \ | |
119 | "journal,ceph.journal_uuid=000,ceph.type=data," + \ | |
120 | "ceph.osd_id=0,ceph.osd_fsid=1234") | |
121 | volumes = [] | |
91327a77 AA |
122 | volumes.append(DataVolume) |
123 | volumes.append(JournalVolume) | |
f6b5b4d7 TL |
124 | monkeypatch.setattr(api, 'get_lvs', lambda **kwargs: deepcopy(volumes)) |
125 | ||
126 | args = Args(osd_id=None, osd_fsid='1234', no_systemd=True, | |
127 | filestore=True, auto_detect_objectstore=True) | |
91327a77 AA |
128 | activate.Activate([]).activate(args) |
129 | assert fake_enable.calls == [] | |
130 | assert fake_start_osd.calls == [] | |
131 | ||
f6b5b4d7 | 132 | def test_filestore_systemd_autodetect(self, is_root, monkeypatch, capture): |
91327a77 AA |
133 | fake_enable = Capture() |
134 | fake_start_osd = Capture() | |
135 | monkeypatch.setattr('ceph_volume.configuration.load', lambda: None) | |
136 | monkeypatch.setattr('ceph_volume.util.system.device_is_mounted', lambda *a, **kw: True) | |
137 | monkeypatch.setattr('ceph_volume.util.system.chown', lambda *a, **kw: True) | |
138 | monkeypatch.setattr('ceph_volume.process.run', lambda *a, **kw: True) | |
139 | monkeypatch.setattr(activate.systemctl, 'enable_volume', fake_enable) | |
140 | monkeypatch.setattr(activate.systemctl, 'start_osd', fake_start_osd) | |
141 | JournalVolume = api.Volume( | |
142 | lv_name='journal', | |
143 | lv_path='/dev/vg/journal', | |
144 | lv_uuid='000', | |
145 | lv_tags=','.join([ | |
146 | "ceph.cluster_name=ceph", "ceph.journal_device=/dev/vg/journal", | |
147 | "ceph.journal_uuid=000", "ceph.type=journal", | |
148 | "ceph.osd_id=0","ceph.osd_fsid=1234"]) | |
149 | ) | |
150 | DataVolume = api.Volume( | |
151 | lv_name='data', | |
152 | lv_path='/dev/vg/data', | |
f6b5b4d7 TL |
153 | lv_uuid='001', |
154 | lv_tags="ceph.cluster_name=ceph,ceph.journal_device=/dev/vg/" + \ | |
155 | "journal,ceph.journal_uuid=000,ceph.type=data," + \ | |
156 | "ceph.osd_id=0,ceph.osd_fsid=1234") | |
157 | volumes = [] | |
91327a77 AA |
158 | volumes.append(DataVolume) |
159 | volumes.append(JournalVolume) | |
f6b5b4d7 TL |
160 | monkeypatch.setattr(api, 'get_lvs', lambda **kwargs: deepcopy(volumes)) |
161 | ||
162 | args = Args(osd_id=None, osd_fsid='1234', no_systemd=False, | |
163 | filestore=True, auto_detect_objectstore=False) | |
91327a77 AA |
164 | activate.Activate([]).activate(args) |
165 | assert fake_enable.calls != [] | |
166 | assert fake_start_osd.calls != [] | |
167 | ||
f6b5b4d7 | 168 | def test_filestore_systemd(self, is_root, monkeypatch, capture): |
94b18763 FG |
169 | fake_enable = Capture() |
170 | fake_start_osd = Capture() | |
91327a77 | 171 | monkeypatch.setattr('ceph_volume.configuration.load', lambda: None) |
94b18763 FG |
172 | monkeypatch.setattr('ceph_volume.util.system.device_is_mounted', lambda *a, **kw: True) |
173 | monkeypatch.setattr('ceph_volume.util.system.chown', lambda *a, **kw: True) | |
174 | monkeypatch.setattr('ceph_volume.process.run', lambda *a, **kw: True) | |
175 | monkeypatch.setattr(activate.systemctl, 'enable_volume', fake_enable) | |
176 | monkeypatch.setattr(activate.systemctl, 'start_osd', fake_start_osd) | |
177 | JournalVolume = api.Volume( | |
178 | lv_name='journal', | |
179 | lv_path='/dev/vg/journal', | |
180 | lv_uuid='000', | |
181 | lv_tags=','.join([ | |
182 | "ceph.cluster_name=ceph", "ceph.journal_device=/dev/vg/journal", | |
183 | "ceph.journal_uuid=000", "ceph.type=journal", | |
184 | "ceph.osd_id=0","ceph.osd_fsid=1234"]) | |
185 | ) | |
186 | DataVolume = api.Volume( | |
187 | lv_name='data', | |
188 | lv_path='/dev/vg/data', | |
f6b5b4d7 TL |
189 | lv_uuid='001', |
190 | lv_tags="ceph.cluster_name=ceph,ceph.journal_device=/dev/vg/" + \ | |
191 | "journal,ceph.journal_uuid=000,ceph.type=data," + \ | |
192 | "ceph.osd_id=0,ceph.osd_fsid=1234") | |
193 | volumes = [] | |
94b18763 FG |
194 | volumes.append(DataVolume) |
195 | volumes.append(JournalVolume) | |
f6b5b4d7 TL |
196 | monkeypatch.setattr(api, 'get_lvs', lambda **kwargs: deepcopy(volumes)) |
197 | ||
198 | args = Args(osd_id=None, osd_fsid='1234', no_systemd=False, | |
199 | filestore=True) | |
94b18763 FG |
200 | activate.Activate([]).activate(args) |
201 | assert fake_enable.calls != [] | |
202 | assert fake_start_osd.calls != [] | |
203 | ||
f6b5b4d7 | 204 | def test_bluestore_no_systemd(self, is_root, monkeypatch, capture): |
94b18763 FG |
205 | fake_enable = Capture() |
206 | fake_start_osd = Capture() | |
207 | monkeypatch.setattr('ceph_volume.util.system.path_is_mounted', lambda *a, **kw: True) | |
208 | monkeypatch.setattr('ceph_volume.util.system.chown', lambda *a, **kw: True) | |
209 | monkeypatch.setattr('ceph_volume.process.run', lambda *a, **kw: True) | |
210 | monkeypatch.setattr(activate.systemctl, 'enable_volume', fake_enable) | |
211 | monkeypatch.setattr(activate.systemctl, 'start_osd', fake_start_osd) | |
212 | DataVolume = api.Volume( | |
213 | lv_name='data', | |
214 | lv_path='/dev/vg/data', | |
f6b5b4d7 TL |
215 | lv_tags="ceph.cluster_name=ceph,,ceph.journal_uuid=000," + \ |
216 | "ceph.type=block,ceph.osd_id=0,ceph.osd_fsid=1234") | |
217 | volumes = [] | |
94b18763 | 218 | volumes.append(DataVolume) |
f6b5b4d7 TL |
219 | monkeypatch.setattr(api, 'get_lvs', lambda **kwargs: deepcopy(volumes)) |
220 | ||
94b18763 FG |
221 | args = Args(osd_id=None, osd_fsid='1234', no_systemd=True, bluestore=True) |
222 | activate.Activate([]).activate(args) | |
223 | assert fake_enable.calls == [] | |
224 | assert fake_start_osd.calls == [] | |
225 | ||
f6b5b4d7 | 226 | def test_bluestore_systemd(self, is_root, monkeypatch, capture): |
94b18763 FG |
227 | fake_enable = Capture() |
228 | fake_start_osd = Capture() | |
229 | monkeypatch.setattr('ceph_volume.util.system.path_is_mounted', lambda *a, **kw: True) | |
230 | monkeypatch.setattr('ceph_volume.util.system.chown', lambda *a, **kw: True) | |
231 | monkeypatch.setattr('ceph_volume.process.run', lambda *a, **kw: True) | |
232 | monkeypatch.setattr(activate.systemctl, 'enable_volume', fake_enable) | |
233 | monkeypatch.setattr(activate.systemctl, 'start_osd', fake_start_osd) | |
234 | DataVolume = api.Volume( | |
235 | lv_name='data', | |
236 | lv_path='/dev/vg/data', | |
f6b5b4d7 TL |
237 | lv_tags="ceph.cluster_name=ceph,,ceph.journal_uuid=000," + \ |
238 | "ceph.type=block,ceph.osd_id=0,ceph.osd_fsid=1234") | |
239 | volumes = [] | |
94b18763 | 240 | volumes.append(DataVolume) |
f6b5b4d7 TL |
241 | monkeypatch.setattr(api, 'get_lvs', lambda **kwargs: deepcopy(volumes)) |
242 | ||
243 | args = Args(osd_id=None, osd_fsid='1234', no_systemd=False, | |
244 | bluestore=True) | |
94b18763 FG |
245 | activate.Activate([]).activate(args) |
246 | assert fake_enable.calls != [] | |
247 | assert fake_start_osd.calls != [] | |
248 | ||
f6b5b4d7 | 249 | def test_bluestore_no_systemd_autodetect(self, is_root, monkeypatch, capture): |
91327a77 AA |
250 | fake_enable = Capture() |
251 | fake_start_osd = Capture() | |
252 | monkeypatch.setattr('ceph_volume.util.system.path_is_mounted', lambda *a, **kw: True) | |
253 | monkeypatch.setattr('ceph_volume.util.system.chown', lambda *a, **kw: True) | |
254 | monkeypatch.setattr('ceph_volume.process.run', lambda *a, **kw: True) | |
255 | monkeypatch.setattr(activate.systemctl, 'enable_volume', fake_enable) | |
256 | monkeypatch.setattr(activate.systemctl, 'start_osd', fake_start_osd) | |
257 | DataVolume = api.Volume( | |
258 | lv_name='data', | |
259 | lv_path='/dev/vg/data', | |
f6b5b4d7 TL |
260 | lv_tags="ceph.cluster_name=ceph,,ceph.block_uuid=000," + \ |
261 | "ceph.type=block,ceph.osd_id=0,ceph.osd_fsid=1234") | |
262 | volumes = [] | |
91327a77 | 263 | volumes.append(DataVolume) |
f6b5b4d7 TL |
264 | monkeypatch.setattr(api, 'get_lvs', lambda **kwargs: deepcopy(volumes)) |
265 | ||
266 | args = Args(osd_id=None, osd_fsid='1234', no_systemd=True, | |
267 | bluestore=True, auto_detect_objectstore=True) | |
91327a77 AA |
268 | activate.Activate([]).activate(args) |
269 | assert fake_enable.calls == [] | |
270 | assert fake_start_osd.calls == [] | |
271 | ||
f6b5b4d7 | 272 | def test_bluestore_systemd_autodetect(self, is_root, monkeypatch, capture): |
91327a77 AA |
273 | fake_enable = Capture() |
274 | fake_start_osd = Capture() | |
f6b5b4d7 TL |
275 | monkeypatch.setattr('ceph_volume.util.system.path_is_mounted', |
276 | lambda *a, **kw: True) | |
277 | monkeypatch.setattr('ceph_volume.util.system.chown', lambda *a, **kw: | |
278 | True) | |
91327a77 AA |
279 | monkeypatch.setattr('ceph_volume.process.run', lambda *a, **kw: True) |
280 | monkeypatch.setattr(activate.systemctl, 'enable_volume', fake_enable) | |
281 | monkeypatch.setattr(activate.systemctl, 'start_osd', fake_start_osd) | |
282 | DataVolume = api.Volume( | |
283 | lv_name='data', | |
284 | lv_path='/dev/vg/data', | |
f6b5b4d7 TL |
285 | lv_tags="ceph.cluster_name=ceph,,ceph.journal_uuid=000," + \ |
286 | "ceph.type=block,ceph.osd_id=0,ceph.osd_fsid=1234") | |
287 | volumes = [] | |
91327a77 | 288 | volumes.append(DataVolume) |
f6b5b4d7 TL |
289 | monkeypatch.setattr(api, 'get_lvs', lambda **kwargs: deepcopy(volumes)) |
290 | ||
291 | args = Args(osd_id=None, osd_fsid='1234', no_systemd=False, | |
292 | bluestore=True, auto_detect_objectstore=False) | |
91327a77 AA |
293 | activate.Activate([]).activate(args) |
294 | assert fake_enable.calls != [] | |
295 | assert fake_start_osd.calls != [] | |
3efd9988 FG |
296 | |
297 | class TestActivateFlags(object): | |
298 | ||
299 | def test_default_objectstore(self, capture): | |
300 | args = ['0', 'asdf-ljh-asdf'] | |
301 | activation = activate.Activate(args) | |
302 | activation.activate = capture | |
303 | activation.main() | |
304 | parsed_args = capture.calls[0]['args'][0] | |
305 | assert parsed_args.filestore is False | |
306 | assert parsed_args.bluestore is True | |
307 | ||
308 | def test_uses_filestore(self, capture): | |
309 | args = ['--filestore', '0', 'asdf-ljh-asdf'] | |
310 | activation = activate.Activate(args) | |
311 | activation.activate = capture | |
312 | activation.main() | |
313 | parsed_args = capture.calls[0]['args'][0] | |
314 | assert parsed_args.filestore is True | |
315 | assert parsed_args.bluestore is False | |
316 | ||
317 | def test_uses_bluestore(self, capture): | |
318 | args = ['--bluestore', '0', 'asdf-ljh-asdf'] | |
319 | activation = activate.Activate(args) | |
320 | activation.activate = capture | |
321 | activation.main() | |
322 | parsed_args = capture.calls[0]['args'][0] | |
323 | assert parsed_args.filestore is False | |
324 | assert parsed_args.bluestore is True | |
94b18763 FG |
325 | |
326 | ||
327 | class TestActivateAll(object): | |
328 | ||
329 | def test_does_not_detect_osds(self, capsys, is_root, capture, monkeypatch): | |
330 | monkeypatch.setattr('ceph_volume.devices.lvm.activate.direct_report', lambda: {}) | |
331 | args = ['--all'] | |
332 | activation = activate.Activate(args) | |
333 | activation.main() | |
334 | out, err = capsys.readouterr() | |
494da23a TL |
335 | assert 'Was unable to find any OSDs to activate' in err |
336 | assert 'Verify OSDs are present with ' in err | |
94b18763 FG |
337 | |
338 | def test_detects_running_osds(self, capsys, is_root, capture, monkeypatch): | |
339 | monkeypatch.setattr('ceph_volume.devices.lvm.activate.direct_report', lambda: direct_report) | |
340 | monkeypatch.setattr('ceph_volume.devices.lvm.activate.systemctl.osd_is_active', lambda x: True) | |
341 | args = ['--all'] | |
342 | activation = activate.Activate(args) | |
343 | activation.main() | |
344 | out, err = capsys.readouterr() | |
494da23a TL |
345 | assert 'a8789a96ce8b process is active. Skipping activation' in err |
346 | assert 'b8218eaa1634 process is active. Skipping activation' in err | |
94b18763 FG |
347 | |
348 | def test_detects_osds_to_activate(self, is_root, capture, monkeypatch): | |
349 | monkeypatch.setattr('ceph_volume.devices.lvm.activate.direct_report', lambda: direct_report) | |
350 | monkeypatch.setattr('ceph_volume.devices.lvm.activate.systemctl.osd_is_active', lambda x: False) | |
351 | args = ['--all'] | |
352 | activation = activate.Activate(args) | |
353 | activation.activate = capture | |
354 | activation.main() | |
355 | calls = sorted(capture.calls, key=lambda x: x['kwargs']['osd_id']) | |
356 | assert calls[0]['kwargs']['osd_id'] == '0' | |
357 | assert calls[0]['kwargs']['osd_fsid'] == '957d22b7-24ce-466a-9883-b8218eaa1634' | |
358 | assert calls[1]['kwargs']['osd_id'] == '1' | |
359 | assert calls[1]['kwargs']['osd_fsid'] == 'd0f3e4ad-e52a-4520-afc0-a8789a96ce8b' | |
360 | ||
361 | # | |
362 | # Activate All fixture | |
363 | # | |
364 | ||
365 | direct_report = { | |
366 | "0": [ | |
367 | { | |
368 | "lv_name": "osd-block-957d22b7-24ce-466a-9883-b8218eaa1634", | |
369 | "lv_path": "/dev/ceph-d4962338-46ff-4cd5-8ea6-c033dbdc5b44/osd-block-957d22b7-24ce-466a-9883-b8218eaa1634", | |
370 | "lv_tags": "ceph.block_device=/dev/ceph-d4962338-46ff-4cd5-8ea6-c033dbdc5b44/osd-block-957d22b7-24ce-466a-9883-b8218eaa1634,ceph.block_uuid=6MixOd-2Q1I-f8K3-PPOq-UJGV-L3A0-0XwUm4,ceph.cephx_lockbox_secret=,ceph.cluster_fsid=d4962338-46ff-4cd5-8ea6-c033dbdc5b44,ceph.cluster_name=ceph,ceph.crush_device_class=None,ceph.encrypted=0,ceph.osd_fsid=957d22b7-24ce-466a-9883-b8218eaa1634,ceph.osd_id=0,ceph.type=block", | |
371 | "lv_uuid": "6MixOd-2Q1I-f8K3-PPOq-UJGV-L3A0-0XwUm4", | |
372 | "name": "osd-block-957d22b7-24ce-466a-9883-b8218eaa1634", | |
373 | "path": "/dev/ceph-d4962338-46ff-4cd5-8ea6-c033dbdc5b44/osd-block-957d22b7-24ce-466a-9883-b8218eaa1634", | |
374 | "tags": { | |
375 | "ceph.block_device": "/dev/ceph-d4962338-46ff-4cd5-8ea6-c033dbdc5b44/osd-block-957d22b7-24ce-466a-9883-b8218eaa1634", | |
376 | "ceph.block_uuid": "6MixOd-2Q1I-f8K3-PPOq-UJGV-L3A0-0XwUm4", | |
377 | "ceph.cephx_lockbox_secret": "", | |
378 | "ceph.cluster_fsid": "d4962338-46ff-4cd5-8ea6-c033dbdc5b44", | |
379 | "ceph.cluster_name": "ceph", | |
380 | "ceph.crush_device_class": "None", | |
381 | "ceph.encrypted": "0", | |
382 | "ceph.osd_fsid": "957d22b7-24ce-466a-9883-b8218eaa1634", | |
383 | "ceph.osd_id": "0", | |
384 | "ceph.type": "block" | |
385 | }, | |
386 | "type": "block", | |
387 | "vg_name": "ceph-d4962338-46ff-4cd5-8ea6-c033dbdc5b44" | |
388 | } | |
389 | ], | |
390 | "1": [ | |
391 | { | |
392 | "lv_name": "osd-block-d0f3e4ad-e52a-4520-afc0-a8789a96ce8b", | |
393 | "lv_path": "/dev/ceph-7538bcf0-f155-4d3f-a9fd-d8b15905e532/osd-block-d0f3e4ad-e52a-4520-afc0-a8789a96ce8b", | |
394 | "lv_tags": "ceph.block_device=/dev/ceph-7538bcf0-f155-4d3f-a9fd-d8b15905e532/osd-block-d0f3e4ad-e52a-4520-afc0-a8789a96ce8b,ceph.block_uuid=1igwLb-ZlmV-eLgp-hapx-c1Hr-M5gz-sHjnyW,ceph.cephx_lockbox_secret=,ceph.cluster_fsid=d4962338-46ff-4cd5-8ea6-c033dbdc5b44,ceph.cluster_name=ceph,ceph.crush_device_class=None,ceph.encrypted=0,ceph.osd_fsid=d0f3e4ad-e52a-4520-afc0-a8789a96ce8b,ceph.osd_id=1,ceph.type=block", | |
395 | "lv_uuid": "1igwLb-ZlmV-eLgp-hapx-c1Hr-M5gz-sHjnyW", | |
396 | "name": "osd-block-d0f3e4ad-e52a-4520-afc0-a8789a96ce8b", | |
397 | "path": "/dev/ceph-7538bcf0-f155-4d3f-a9fd-d8b15905e532/osd-block-d0f3e4ad-e52a-4520-afc0-a8789a96ce8b", | |
398 | "tags": { | |
399 | "ceph.block_device": "/dev/ceph-7538bcf0-f155-4d3f-a9fd-d8b15905e532/osd-block-d0f3e4ad-e52a-4520-afc0-a8789a96ce8b", | |
400 | "ceph.block_uuid": "1igwLb-ZlmV-eLgp-hapx-c1Hr-M5gz-sHjnyW", | |
401 | "ceph.cephx_lockbox_secret": "", | |
402 | "ceph.cluster_fsid": "d4962338-46ff-4cd5-8ea6-c033dbdc5b44", | |
403 | "ceph.cluster_name": "ceph", | |
404 | "ceph.crush_device_class": "None", | |
405 | "ceph.encrypted": "0", | |
406 | "ceph.osd_fsid": "d0f3e4ad-e52a-4520-afc0-a8789a96ce8b", | |
407 | "ceph.osd_id": "1", | |
408 | "ceph.type": "block" | |
409 | }, | |
410 | "type": "block", | |
411 | "vg_name": "ceph-7538bcf0-f155-4d3f-a9fd-d8b15905e532" | |
412 | } | |
413 | ] | |
414 | } |