disk = device.Device("/dev/sdb")
assert disk.is_valid
+ def test_reject_readonly_device(self, device_info):
+ data = {"/dev/cdrom": {"ro": 1}}
+ device_info(devices=data)
+ disk = device.Device("/dev/cdrom")
+ assert not disk.is_valid
+
+ def test_accept_non_readonly_device(self, device_info):
+ data = {"/dev/sda": {"ro": 0}}
+ device_info(devices=data)
+ disk = device.Device("/dev/sda")
+ assert disk.is_valid
+
@pytest.mark.parametrize("label", ceph_partlabels)
def test_is_member_lsblk(self, device_info, label):
lsblk = {"PARTLABEL": label}
except KeyError:
pass
reject_device('removable', 1, 'removable')
+ reject_device('ro', 1, 'read-only')
self._valid = len(self._rejected_reasons) == 0
return self._valid
continue
metadata['removable'] = get_file_contents(os.path.join(sysdir, 'removable'))
+ # Is the device read-only ?
+ metadata['ro'] = get_file_contents(os.path.join(sysdir, 'ro'))
+
for key in ['vendor', 'model', 'sas_address', 'sas_device_handle']:
metadata[key] = get_file_contents(sysdir + "/device/" + key)