canonical / canonical/hardware-observer-operator

Feature Request / Bug: smartctl fails on Marvell SATA RAID controllers (Cisco UCS); request mvcli support

Open
#548 1 comment 0 reactions 0 assignees View on GitHub
Dominant language
Python
Stars
20
Forks
18
Avg merge
1d 5h
Merged PRs (30d)
3

Description

### Description

The hardware-observer-operator relies on smartctl for drive health monitoring. However, on servers utilizing Marvell hardware RAID controllers (such as the Marvell 88SE9230 integrated into Cisco UCS systems), smartctl is unable to read SMART attributes or query underlying physical disk status.

As a result, drive failure alerts fail to trigger or report incorrect disk state for system boot drives attached to these controllers.

## Environment Details

- Hardware Vendor: Cisco Systems Inc
- Hardware Model: UCSC-C245-M8SX
- OS: Ubuntu 24.04.4 LTS
- Kernel: 6.8.0-134-generic
- Storage Controller: Marvell Technology Group Ltd. 88SE9230 PCIe 2.0 x2 4-port SATA 6 Gb/s RAID Controller [1b4b:9230] (rev 11)
- Kernel Driver in Use: ahci

## Observed Behavior

Standard smartctl query fails:
When running smartctl -x /dev/sda, the OS sees the virtual drive array (CISCO VD) created by the Marvell controller rather than the raw SATA disks:

```
=== START OF INFORMATION SECTION ===
Device Model: CISCO VD
Serial Number: eba7b72d30e80010
Firmware Version: MV.R00-0
User Capacity: 960,129,990,656 bytes [960 GB]
SMART support is: Unavailable - device lacks SMART capability.

A mandatory SMART command failed: exiting. To continue, add one or more '-T permissive' options.
```

To retrieve raw disk health metrics, wear levels, and SMART logs from physical drives behind a Marvell SATA RAID controller, native Marvell utilities like `mvcli` must be used.

### Charm revision

891

### Juju version

3.6

### Cloud

OpenStack

### Expected behaviour

Get the metrics of the disk and doesn't trigger `SmartExitStatusDiskFail`. I think in this case when detected the Marvell raid, it shouldn't install smartctl.

### Reproduce / Test

Run smartcl in a machine like the one described:

```
sudo smartctl -x /dev/sda
```

### Notes & References

_No response_

Contributor guide

Open the contributing guide

Research direction

Start by tracing the smartctl -x /dev/sda path to the SmartExitStatusDiskFail check and identify how the Marvell controller is detected. Review how the charm installs or invokes smartctl, then determine the mvcli integration needed to expose physical-disk metrics without a false failure. Done means the described Marvell setup reports disk health and does not trigger SmartExitStatusDiskFail.

Written by the indexing model from the issue text.

Assessment

Tech stack
linux, python
Domain
observability, operating-systems
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Active
Clarity
Mostly clear
Newbie friendliness
48/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.