]> git.proxmox.com Git - ceph.git/blob - ceph/src/python-common/ceph/tests/utils.py
04b8a4e38955425441d5b80d2c8dbb6f71b2d6a1
[ceph.git] / ceph / src / python-common / ceph / tests / utils.py
1 from ceph.deployment.inventory import Devices, Device
2
3 try:
4 from typing import Any, List
5 except ImportError:
6 pass # for type checking
7
8
9 def _mk_device(rotational=True,
10 locked=False,
11 size="394.27 GB",
12 vendor='Vendor',
13 model='Model'):
14 return [Device(
15 path='??',
16 sys_api={
17 "rotational": '1' if rotational else '0',
18 "vendor": vendor,
19 "human_readable_size": size,
20 "partitions": {},
21 "locked": int(locked),
22 "sectorsize": "512",
23 "removable": "0",
24 "path": "??",
25 "support_discard": "",
26 "model": model,
27 "ro": "0",
28 "nr_requests": "128",
29 "size": 423347879936 # ignore coversion from human_readable_size
30 },
31 available=not locked,
32 rejected_reasons=['locked'] if locked else [],
33 lvs=[],
34 device_id="Model-Vendor-foobar"
35 )]
36
37
38 def _mk_inventory(devices):
39 # type: (Any) -> List[Device]
40 devs = []
41 for dev_, name in zip(devices, map(chr, range(ord('a'), ord('z')))):
42 dev = Device.from_json(dev_.to_json())
43 dev.path = '/dev/sd' + name
44 dev.sys_api = dict(dev_.sys_api, path='/dev/sd' + name)
45 devs.append(dev)
46 return Devices(devices=devs).devices