HP Scripting and Command Line Guides

Querying and Setting Parameters via HTTP using RIBCL

If you have an older HP server, and as usual with Python, the python-hpilo will bomb out with SSL errors, most likely due to SSLv2 and SSLv3 being obsolete, thereby making python-hpilo or hpilo_cli entirely useless unless you want to spend time recompiling OpenSSL (enjoy).

The HP command and scripting guides for iLO document RIBCL but do not mention that RIBCL may also be accessed via plain HTTP remotely. The URL seems to be:

http://iLO_SERVER_NAME/ribcl

where:

In other words, any POST request with the content type set to text/xml, with the body set to a RIBCL XML command sent to http://SERVER_NAME/ribcl will be executed by iLO. For example, to switch the server off remotely via a POST request using curl, create a file named ilo-poweroff.xml with the following contents:

<RIBCL VERSION="2.0">
         <LOGIN USER_LOGIN="iLO_USERNAME" PASSWORD="iLO_PASSWORD">
          <SERVER_INFO MODE="write">
           <!--  Modify the HOST_POWER attribute to toggle power on the host server  -->
           <!--  HOST_POWER="No"  (Turns host server power off)                      -->
           <!--  A graceful shutdown will be attempted for ACPI-aware                -->
           <!--  operating systems configured to support graceful shutdown.          -->
           <!--  HOST_POWER="Yes" (Turns host server power on)                       -->
           <SET_HOST_POWER HOST_POWER="No"/>
          </SERVER_INFO>
         </LOGIN>
</RIBCL>

and replace iLO_USERNAME and iLO_PASSWORD with the iLO web-interface username and password respectively.

Then issue the following command in the same directory:

curl -k -X POST -H "Content-Type: text/html" --data-binary "@ilo-poweroff.xml" http://iLO_SERVER_NAME/ribcl

where: