Project

General

Profile

Actions

Bug #52580

open

src/common/blkdev.cc - get_device_vendor(devname) - Don't return correct vendor.

Added by Daniel Persson over 2 years ago.

Status:
New
Priority:
Normal
Assignee:
-
Category:
common
Target version:
-
% Done:

0%

Source:
Tags:
Backport:
Regression:
No
Severity:
3 - minor
Reviewed:
Affected Versions:
ceph-qa-suite:
ceph-disk
Pull request ID:
Crash signature (v1):
Crash signature (v2):

Description

Hi everyone.

We are running our production environment with only NVME drives as we need low latency operation. I've configured the prediction module and smart monitoring to get information out, but sadly we don't get any NVME information. I did some digging in the code and might have found the problem.

  string vendor = get_device_vendor(devname);
  if (vendor.size()) {
    base["nvme_vendor"] = vendor;

Checking the output I found that it reported the vendor lvm even if the nvme disks are intel.

 "nvme_vendor": "lvm",

When we run the process in block_device_run_vendor_nvme to get extra information, it fails, telling us there is no lvm module for the nvme command.

  SubProcessTimed nvmecli(
    "sudo", SubProcess::CLOSE, SubProcess::PIPE, SubProcess::CLOSE,
    timeout);
  nvmecli.add_cmd_args(
    "nvme",
    vendor.c_str(),
    "smart-log-add",
    "--json",
    device.c_str(),
    NULL);

No data to display

Actions

Also available in: Atom PDF