apache / cloudstack

Apache CloudStack is an opensource Infrastructure as a Service (IaaS) cloud computing platform
https://cloudstack.apache.org/
Apache License 2.0
1.95k stars 1.09k forks source link

Redfish support for Host HA (Out of Band) #3624

Closed wido closed 4 years ago

wido commented 4 years ago
ISSUE TYPE
COMPONENT NAME
Management Server
CLOUDSTACK VERSION
master
SUMMARY

The current implementation of Host HA (Out of Band) only supports IPMI (v2).

Redfish is a new implementation supported by the big vendors which provides a HTTP REST API to control servers.

DMTF’s Redfish® is a standard designed to deliver simple and secure management for converged, hybrid IT and the Software Defined Data Center (SDDC). Both human readable and machine capable, Redfish leverages common Internet and web services standards to expose information directly to the modern tool chain.

The follow manufacturers support Redfish in their OOB solutions:

By supporting Redfish we can support the latest generation of hardware and specifications for the OOB management of Hosts.

There is no need to use 'ipmitool' as Redfish are just HTTP calls which need to be send to the server's OOB system to reboot the Host when needed.

wido commented 4 years ago

Screenshot from 2019-10-07 10-15-59

There should be a Redfish driver there

wido commented 4 years ago

SuperMicro: https://www.supermicro.com/en/solutions/management-software/redfish Dell: https://www.dell.com/support/article/in/en/inbsd1/sln310624/redfish

andrijapanicsb commented 4 years ago

Moving this one to 4.15, I don't see it happening in 4.14 due to lack of time.

wido commented 4 years ago

Work is in progress here. @GabrielBrascher has been writing a lot of code: https://github.com/PCextreme/cloudstack/commits/redfish-oob-driver

GabrielBrascher commented 4 years ago

[Update] On the last couple days we did some progress in this implementation.

Tested Redfish Client and Redfish OOB management driver on nodes with Dell iDRAC8 (thanks to our folks at Yourhosting). We still going to run a few tests on Supermicro nodes as well as there are a few differences on the API calls from Dell to Supermicro Rest API.

Here follow a few pics. redfish1 redfish2

We have been able to test and it works fine:

  1. via the CloudStack UI, enable redfish oob driver for host n05
  2. verified that ACS can retrieve the redfish system ID and system power state
  3. powering Off node works as expected, host state transition worked well and the host was indeed powered off when verifying via the idrac UI
  4. powering On also worked as expected, CloudStack host state transition as expected, host is indeed up again.

It is still necessary to do a few enhancements on the code to have it ready for a PR (e.g. Java docs, and adding unit tests). As soon as we are ready to open a PR I will link the PR here.

kiwiflyer commented 4 years ago

@wido @GabrielBrascher - Nice! This is going to be a great feature. //@nathanejohnson @dcarbone @dmabry

GabrielBrascher commented 4 years ago

@wido @kiwiflyer PR #4175 is open and ready for review/testing.