Repository navigation
KVM HA fencing fails using Redfish with HPE ILO with misleading OBM error when Redfish reset returns HTTP 400, leaving host stuck in Fencing #12921
Description
problem
ISSUE TYPE
- Bug Report
COMPONENT NAME
KVM, HA, Out-of-band Management, Redfish
CLOUDSTACK VERSION
4.22.x
CONFIGURATION
- KVM hypervisor
- Shared primary storage on NFS
- Host HA enabled
- Host under test has Out-of-band management enabled
- OBM driver:
redfish - OBM address:
10.9.3.166 - Host under test:
- Name:
kvm-18-1.servercontrol.com.au - UUID:
0fb632c6-c3d4-418a-9fa8-ee21afdc9f0a
- Name:
- HA provider:
kvmhaprovider - sync.interval = 60
- no ha.tag configured
OS / ENVIRONMENT
- CloudStack management servers on Ubuntu
- MySQL 8
- KVM hosts on Ubuntu 24.04 / libvirt
- BMC/iLO exposed via Redfish
- Primary storage: NFS
SUMMARY
When a KVM host is powered off unexpectedly, CloudStack detects the host failure and enters HA fencing for the host. However, fencing fails with a misleading exception:
HAFenceException: OBM service is not configured or enabled for this host
In reality, OBM is configured and enabled, and the host object in CloudStack confirms this. The actual underlying failure is that the Redfish reset request returns HTTP 400.
This leaves the host stuck in HA state = Fencing and appears to block/delay HA recovery actions for VMs on that host.
Additionally, manual Redfish testing from the management server confirms that the Redfish endpoint exists and accepts a valid POST reset request with {"ResetType":"On"}, which strongly suggests the issue is not OBM configuration but the specific fencing action CloudStack is attempting.
EXPECTED RESULTS
If the host is powered off and OBM/Redfish is correctly configured, CloudStack should be able to fence the host successfully or recognize that the host is already safely powered off.
Expected behavior:
- CloudStack detects the host failure.
- CloudStack investigates the host and confirms it is down.
- CloudStack performs a successful fence action using the configured OBM provider, or treats an already-powered-off host as successfully fenced.
- The host exits the fencing workflow cleanly.
- HA recovery for affected VMs proceeds normally.
The system should not report that OBM is “not configured or enabled” when:
- OBM is enabled on the host object, and
- the real failure is an HTTP 400 from a Redfish action.
ACTUAL RESULTS
CloudStack detects the host failure and enters fencing, but fencing fails repeatedly.
Host details in CloudStack show OBM is enabled and configured:
Out-of-band management = trueOut-of-band management driver = redfishOut-of-band management address = 10.9.3.166Out-of-band management power state = OffHA state = Fencing
Management log shows repeated fencing failures with a misleading error message:
2026-03-31 03:19:33,574 WARN [o.a.c.k.h.KVMHAProvider] ... OOBM service is not configured or enabled for this host Host {"id":6,"name":"kvm-18-1.servercontrol.com.au"...} error is Failed to execute System power command for host by performing 'POST' request on URL 'https://10.9.3.166/redfish/v1/Systems/1/Actions/ComputerSystem.Reset' and host address '10.9.3.166'. The expected HTTP status code is '2XX' but it got '400'
2026-03-31 03:19:33,575 WARN [o.a.c.h.t.FenceTask] ... org.apache.cloudstack.ha.provider.HAFenceException: OBM service is not configured or enabled for this host kvm-18-1.servercontrol.com.au
The same pattern repeats multiple times.
Manual Redfish POST to power the system on succeeds:
curl -k -u ADMIN:xxxxxx -H 'Content-Type: application/json' -X POST https://10.
9.3.166/redfish/v1/Systems/1/Actions/ComputerSystem.Reset -d '{"ResetType":"On"}'
Response:
{"error":{"code":"iLO.0.10.ExtendedInfo","message":"See @Message.ExtendedInfo for more information.","@Message.ExtendedInfo":[{"MessageId":"Base.1.18.Success"}]}}
versions
ACS 4.22
Ubuntu 24.04
HPE ILO 1.72 Nov 09 2025
The steps to reproduce the bug
STEPS TO REPRODUCE
-
Configure a KVM host with:
- Host HA enabled
- OBM enabled
- OBM driver
redfish - valid Redfish endpoint / credentials
-
Confirm the host is healthy and part of a KVM cluster.
-
Power off the host unexpectedly.
-
Observe the management server log and host HA state in the CloudStack UI.
-
Observe that the host enters
Fencingstate and fencing repeatedly fails. -
Test the Redfish endpoint manually from the management server:
GET /redfish/v1/Systems/1POST /redfish/v1/Systems/1/Actions/ComputerSystem.Resetwith{"ResetType":"On"}
What to do about it?
Please review the KVM HA fencing flow for Redfish-backed OBM hosts.
What appears to be happening in this case:
- CloudStack correctly detects the KVM host failure and moves the host into
Fencing - CloudStack then attempts a Redfish power/reset action
- the Redfish request returns HTTP
400 - CloudStack wraps that as
OBM service is not configured or enabled for this host, which is misleading because OBM is in fact enabled and functional - manual Redfish power control from the management server succeeds against the same host and endpoint
Requested fixes / improvements:
-
Fix the misleading exception text
- Do not report
OBM service is not configured or enabledwhen OBM is configured and the actual failure is an HTTP error returned by the BMC.
- Do not report
-
Log the exact Redfish fencing request details
- Log the
ResetTypebeing used - Log the response body / Redfish message ID
- This would make debugging much easier
- Log the
-
Handle already-powered-off hosts as successfully fenced where appropriate
- If the host is already in
PowerState = Off, HA should not remain stuck inFencingjust because an additional reset action is rejected by the BMC.
- If the host is already in
-
Review the Redfish action selected by KVM HA fencing
- In this environment, manual
POSTtoComputerSystem.Resetwith{"ResetType":"On"}succeeds - CloudStack fencing appears to be using a request that the BMC rejects with HTTP
400 - Please verify whether the selected
ResetTypeis valid for the current power state of the host
- In this environment, manual
-
Ensure VM recovery is not blocked indefinitely by this fencing failure
- Once the host is confirmed down and safely powered off, HA should be able to proceed with recovery of affected VMs
In short: this looks like a Redfish fencing handling bug in KVM HA, not an OBM configuration problem.
Metadata
Metadata
Assignees
Labels
Type
Projects
- StatusShow more project fieldsDiscuss
Activity
TimServers commentedon Mar 31, 2026
I realised hpe redfish is not yet supported. Please reach out if you need, I have plenty of hpe servers to test with
kiranchavala commentedon Apr 2, 2026
@TimServers Cloudstack support redfish for powermanagement (oobm)
TimServers commentedon Apr 7, 2026
@kiranchavala It doesn't work with HPE's ILO implementation of Redfish and HPE is not listed as supported. I tested it, and it doesn't work for HA when trying to execute power reset it fails with a malformed API request to the HPE redfish API. Details above.
kiranchavala commentedon Apr 7, 2026
@TimServers Could you please provide us the management server logs
I think the oobm is not correctly configured on your kvm host
from the database please check
select * from oobm
Please find the logs that i had tested with the emulator
https://github.com/HewlettPackard/ilo-redfish-emulator
TimServers commentedon Apr 8, 2026
@kiranchavala
Redfish is configured without issue - all power actions and status works fine from the UI - we only see the above errors during host ha / fencing event.
You can see it's configured normally.
The issue is that OOBM works fine until a HA event occurs.
During the HA fencing workflow is the only time we see any errors.
All power actions via the UI / web interface work fine.
As you can see, host never properly completes fencing.
As you can see, the curl returns a 'successful' result, but within an "error" block, I think cloudstack is mis-interpreting this as a failure.
Here is the result of a successful curl
It's a "success" return, however, may be misinterpreted by cloudstack as an error?
Here are the logs when doing power actions via the GUI, you can see it's configured fine and there are no errors - all power actions work fine. We're running the latest version of ILO.
kiranchavala commentedon Apr 8, 2026
@TimServers Thanks for the update
could you upload the complete management server logs for the date 2026-04-08
TimServers commentedon Apr 8, 2026
@kiranchavala
Sure. no problem.
Please note that I reconfigured the servers from IPMI back to redfish to assist with testing around 5 - 10 minutes before 2026-04-08 02:29:15, so you can probably ignore anything before that time.
After I reconfigured to use redfish, and tested power actions. Once the server was powerd off the first error around redfish getting a 400 error is around 02:34:41
management-server.log.tar.gz
Let me know if you need any other details.
TimServers commentedon Apr 16, 2026
@kiranchavala I have some more details for you.
It looks like the issue is not just related to HA, but in cloudstack's REDFISH implementation of the ComputerSystem.Reset API call specifically, as well as some logic bugs.
The following tests were all done via the GUI "Issue out-of-band management power action" feature:
The behaviour seems to be tied to the current state of the host.
Scenario 1 - the host is powered ON
The following actions all work without error:
The following actions will all fail with the same error:
Scenario 2 - the host is powered OFF
The following actions work without error:
The following actions will all fail with the same error:
When receiving an error, it's ALWAYS the same API call that's failing:
So apart from the failing API call, there also look to be some logic bugs here as well.
I hope this information helps, let me know if you need any more details.