canonical / canonical/hardware-observer-operator
PowerEdge RAID collector hardcodes legacy perccli and fails to detect Dell PowerEdge R770 SAS40xx / mpi3mr controller that requires perccli2
- Dominant language
- Python
- Stars
- 20
- Forks
- 18
- Avg merge
- 1d 5h
- Merged PRs (30d)
- 3
Description
### Description
We are seeing a misleading PowerEdgeRAIDControllerNotFound alert from hardware-observer on a Dell PowerEdge R770.
The host is Dell PowerEdge hardware, and Linux can see the RAID-class controller. However, the current hardware-observer PowerEdge RAID collector calls the legacy perccli command. On this R770 system, legacy perccli cannot detect the controller and returns No Controller found.
As a result, hardware-observer exports:
`poweredgeraid_controllers 0.0`
This triggers the PowerEdgeRAIDControllerNotFound alert, even though the controller is visible to the OS.
This appears to be a tooling compatibility issue, not a confirmed hardware failure. The R770 controller is a newer Broadcom/LSI SAS40xx controller using the mpi3mr kernel driver. This generation appears to require Dell **perccli2**, but the current collector hardcodes **perccli**.
Hardware detected by Linux:
```
0000:ae:00.0 RAID bus controller [0104]: Broadcom / LSI Fusion-MPT 24GSAS/PCIe SAS40xx [1000:00a5] (rev 01)
DeviceName: SL3 RAID
Subsystem: Dell Fusion-MPT 24GSAS/PCIe SAS40xx [1028:22cc]
Kernel driver in use: mpi3mr
Kernel modules: mpi3mr
```
### Charm revision
latest/stable
### Juju version
3.6.8
### Cloud
_No response_
### Expected behaviour
N/A
### Reproduce / Test
```BASH
$ sudo perccli /call show j
{
"Controllers":[
{
"Command Status" : {
"CLI Version" : "007.2313.0000.0000 Mar 07, 2023",
"Operating system" : "Linux 6.8.0-65-generic",
"Status" : "Failure",
"Description" : "No Controller found"
}
}
]
}
```
### Notes & References
_No response_
Contributor guide
Research direction
The payload names no files or tests; start by locating the PowerEdge RAID collector and its hardcoded perccli invocation. Compare the collector's command handling with the reported perccli2 requirement and the Linux-visible mpi3mr controller. Done means the R770/SAS40xx case no longer reports zero controllers or raises the false not-found alert, with regression coverage for the failure case.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- linux, python
- Domain
- infrastructure, observability-sre
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 48/100