in selftest/selftest.py [0:0]
def get_nvme_controllers_with_model(model: str) -> List[str]:
"""Get a list of all NVMe controllers with the specified model."""
nvme_controllers = []
nvme_path = "/sys/class/nvme"
for controller in glob.glob(os.path.join(nvme_path, "nvme*")):
logger.debug("checking controller: %s", controller)
model_path = os.path.join(controller, "model")
try:
with open(model_path, "r", encoding="utf-8") as file:
controller_model = file.read().strip()
logger.debug("controller: %s model: %s", controller, controller_model)
if controller_model == model:
controller_name = controller.split("/")[-1]
nvme_controllers.append(controller_name)
except FileNotFoundError:
logger.debug("model file not found: %s", model_path)
continue
return device_sort(nvme_controllers)