canonical / canonical/hardware-observer-operator
Feature Request / Bug: smartctl fails on Marvell SATA RAID controllers (Cisco UCS); request mvcli support
- 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
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