canonical / canonical/hardware-observer-operator

PowerEdge RAID collector hardcodes legacy perccli and fails to detect Dell PowerEdge R770 SAS40xx / mpi3mr controller that requires perccli2

Open
#522 2 comments 0 reactions 0 assignees View on GitHub
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

Open the contributing 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.