def test_sys_api(self, device_info):
data = {"/dev/sda": {"foo": "bar"}}
- device_info(devices=data)
+ lsblk = {"TYPE": "disk"}
+ device_info(devices=data,lsblk=lsblk)
disk = device.Device("/dev/sda")
assert disk.sys_api
assert "foo" in disk.sys_api
def test_lvm_size(self, device_info):
# 5GB in size
data = {"/dev/sda": {"size": "5368709120"}}
- device_info(devices=data)
+ lsblk = {"TYPE": "disk"}
+ device_info(devices=data,lsblk=lsblk)
disk = device.Device("/dev/sda")
assert disk.lvm_size.gb == 4
def test_lvm_size_rounds_down(self, device_info):
# 5.5GB in size
data = {"/dev/sda": {"size": "5905580032"}}
- device_info(devices=data)
+ lsblk = {"TYPE": "disk"}
+ device_info(devices=data,lsblk=lsblk)
disk = device.Device("/dev/sda")
assert disk.lvm_size.gb == 4
def test_is_lv(self, device_info):
data = {"lv_path": "vg/lv", "vg_name": "vg", "name": "lv"}
- device_info(lv=data)
+ lsblk = {"TYPE": "lvm"}
+ device_info(lv=data,lsblk=lsblk)
disk = device.Device("vg/lv")
assert disk.is_lv
assert disk.is_device is True
def test_is_partition(self, device_info, pvolumes):
- data = {"/dev/sda": {"foo": "bar"}}
+ data = {"/dev/sda1": {"foo": "bar"}}
lsblk = {"TYPE": "part"}
device_info(devices=data, lsblk=lsblk)
- disk = device.Device("/dev/sda")
+ disk = device.Device("/dev/sda1")
assert disk.is_partition
+ def test_is_not_acceptable_device(self, device_info):
+ data = {"/dev/dm-0": {"foo": "bar"}}
+ lsblk = {"TYPE": "mpath"}
+ device_info(devices=data, lsblk=lsblk)
+ disk = device.Device("/dev/dm-0")
+ assert not disk.is_device
+
def test_is_not_lvm_memeber(self, device_info, pvolumes):
- data = {"/dev/sda": {"foo": "bar"}}
+ data = {"/dev/sda1": {"foo": "bar"}}
lsblk = {"TYPE": "part"}
device_info(devices=data, lsblk=lsblk)
- disk = device.Device("/dev/sda")
+ disk = device.Device("/dev/sda1")
assert not disk.is_lvm_member
def test_is_lvm_memeber(self, device_info, pvolumes):
- data = {"/dev/sda": {"foo": "bar"}}
+ data = {"/dev/sda1": {"foo": "bar"}}
lsblk = {"TYPE": "part"}
device_info(devices=data, lsblk=lsblk)
- disk = device.Device("/dev/sda")
+ disk = device.Device("/dev/sda1")
assert not disk.is_lvm_member
def test_is_mapper_device(self, device_info):
- device_info()
+ lsblk = {"TYPE": "lvm"}
+ device_info(lsblk=lsblk)
disk = device.Device("/dev/mapper/foo")
assert disk.is_mapper
def test_dm_is_mapper_device(self, device_info):
- device_info()
+ lsblk = {"TYPE": "lvm"}
+ device_info(lsblk=lsblk)
disk = device.Device("/dev/dm-4")
assert disk.is_mapper
def test_is_not_mapper_device(self, device_info):
- device_info()
+ lsblk = {"TYPE": "disk"}
+ device_info(lsblk=lsblk)
disk = device.Device("/dev/sda")
assert not disk.is_mapper
"disable_kernel_queries",
"disable_lvm_queries")
def test_is_ceph_disk_blkid(self, monkeypatch, patch_bluestore_label):
- monkeypatch.setattr("ceph_volume.util.device.disk.lsblk",
- lambda path: {'PARTLABEL': ""})
disk = device.Device("/dev/sda")
assert disk.is_ceph_disk_member
"disable_kernel_queries",
"disable_lvm_queries")
def test_is_ceph_disk_member_not_available_blkid(self, monkeypatch, patch_bluestore_label):
- monkeypatch.setattr("ceph_volume.util.device.disk.lsblk",
- lambda path: {'PARTLABEL': ""})
disk = device.Device("/dev/sda")
assert disk.is_ceph_disk_member
assert not disk.available
def test_reject_removable_device(self, device_info):
data = {"/dev/sdb": {"removable": 1}}
- device_info(devices=data)
+ lsblk = {"TYPE": "disk"}
+ device_info(devices=data,lsblk=lsblk)
disk = device.Device("/dev/sdb")
assert not disk.available
def test_accept_non_removable_device(self, device_info):
data = {"/dev/sdb": {"removable": 0, "size": 5368709120}}
- device_info(devices=data)
+ lsblk = {"TYPE": "disk"}
+ device_info(devices=data,lsblk=lsblk)
disk = device.Device("/dev/sdb")
assert disk.available
+ def test_reject_not_acceptable_device(self, device_info):
+ data = {"/dev/dm-0": {"foo": "bar"}}
+ lsblk = {"TYPE": "mpath"}
+ device_info(devices=data, lsblk=lsblk)
+ disk = device.Device("/dev/dm-0")
+ assert not disk.available
+
def test_reject_readonly_device(self, device_info):
data = {"/dev/cdrom": {"ro": 1}}
- device_info(devices=data)
+ lsblk = {"TYPE": "disk"}
+ device_info(devices=data,lsblk=lsblk)
disk = device.Device("/dev/cdrom")
assert not disk.available
def test_reject_smaller_than_5gb(self, device_info):
data = {"/dev/sda": {"size": 5368709119}}
- device_info(devices=data)
+ lsblk = {"TYPE": "disk"}
+ device_info(devices=data,lsblk=lsblk)
disk = device.Device("/dev/sda")
assert not disk.available, 'too small device is available'
def test_accept_non_readonly_device(self, device_info):
data = {"/dev/sda": {"ro": 0, "size": 5368709120}}
- device_info(devices=data)
+ lsblk = {"TYPE": "disk"}
+ device_info(devices=data,lsblk=lsblk)
disk = device.Device("/dev/sda")
assert disk.available
- def test_reject_bluestore_device(self, monkeypatch, patch_bluestore_label):
+ def test_reject_bluestore_device(self, monkeypatch, patch_bluestore_label, device_info):
patch_bluestore_label.return_value = True
+ lsblk = {"TYPE": "disk"}
+ device_info(lsblk=lsblk)
disk = device.Device("/dev/sda")
assert not disk.available
assert "Has BlueStore device label" in disk.rejected_reasons
def test_get_device_id(self, device_info):
udev = {k:k for k in ['ID_VENDOR', 'ID_MODEL', 'ID_SCSI_SERIAL']}
- device_info(udevadm=udev)
+ lsblk = {"TYPE": "disk"}
+ device_info(udevadm=udev,lsblk=lsblk)
disk = device.Device("/dev/sda")
assert disk._get_device_id() == 'ID_VENDOR_ID_MODEL_ID_SCSI_SERIAL'
}
def test_valid_before_invalid(self, device_info):
- device_info(devices=self.data)
+ lsblk = {"TYPE": "disk"}
+ device_info(devices=self.data,lsblk=lsblk)
sda = device.Device("/dev/sda")
sdb = device.Device("/dev/sdb")
assert sdb > sda
def test_valid_alphabetical_ordering(self, device_info):
- device_info(devices=self.data)
+ lsblk = {"TYPE": "disk"}
+ device_info(devices=self.data,lsblk=lsblk)
sda = device.Device("/dev/sda")
sdc = device.Device("/dev/sdc")
assert sdc > sda
def test_invalid_alphabetical_ordering(self, device_info):
- device_info(devices=self.data)
+ lsblk = {"TYPE": "disk"}
+ device_info(devices=self.data,lsblk=lsblk)
sdb = device.Device("/dev/sdb")
sdd = device.Device("/dev/sdd")
class TestCephDiskDevice(object):
def test_partlabel_lsblk(self, device_info):
- lsblk = {"PARTLABEL": ""}
+ lsblk = {"TYPE": "disk", "PARTLABEL": ""}
device_info(lsblk=lsblk)
disk = device.CephDiskDevice(device.Device("/dev/sda"))
assert disk.partlabel == ''
def test_partlabel_blkid(self, device_info):
- lsblk = {"PARTLABEL": ""}
- blkid = {"PARTLABEL": "ceph data"}
- device_info(lsblk=lsblk, blkid=blkid)
+ blkid = {"TYPE": "disk", "PARTLABEL": "ceph data"}
+ device_info(blkid=blkid)
disk = device.CephDiskDevice(device.Device("/dev/sda"))
assert disk.partlabel == 'ceph data'
"disable_kernel_queries",
"disable_lvm_queries")
def test_is_member_blkid(self, monkeypatch, patch_bluestore_label):
- monkeypatch.setattr("ceph_volume.util.device.disk.lsblk",
- lambda path: {'PARTLABEL': ""})
disk = device.CephDiskDevice(device.Device("/dev/sda"))
assert disk.is_member is True
@pytest.mark.usefixtures("lsblk_ceph_disk_member",
"disable_kernel_queries",
"disable_lvm_queries")
- def test_is_member_lsblk(self, patch_bluestore_label):
+ def test_is_member_lsblk(self, patch_bluestore_label, device_info):
+ lsblk = {"TYPE": "disk", "PARTLABEL": "ceph"}
+ device_info(lsblk=lsblk)
disk = device.CephDiskDevice(device.Device("/dev/sda"))
assert disk.is_member is True
def test_unknown_type(self, device_info):
- lsblk = {"PARTLABEL": "gluster"}
+ lsblk = {"TYPE": "disk", "PARTLABEL": "gluster"}
device_info(lsblk=lsblk)
disk = device.CephDiskDevice(device.Device("/dev/sda"))
"disable_kernel_queries",
"disable_lvm_queries")
def test_type_blkid(self, monkeypatch, device_info, ceph_partlabel):
- monkeypatch.setattr("ceph_volume.util.device.disk.lsblk",
- lambda path: {'PARTLABEL': ''})
disk = device.CephDiskDevice(device.Device("/dev/sda"))
assert disk.type in self.ceph_types