How to set date and time in iLO3 / iLO4 using SNTP and RIBCL scripts from Onboard Administrator in HP Proliant Blades

By default iLO is configured to use Date and Time information as set in the BIOS but that is not very reliable.

I would have expected an iLO to connect with Onboard Administrator and get the time synced and we would only make sure our OA is synced with NTP server but here HPE asks us to configure SNTP (Simple Network Time Protocol) on all the iLOs for them to reflect correct date and time.

If it is one blade then there is not much effort but assuming we have 100s of blades obviously you would not login to each iLO and update the SNTP server details.
This can be performed on a large scale using Onboard Administrator.

NOTE: The default polling interval for SNTP is 30 minutes and an iLO reset is needed to activate the SNTP related changes

IMPORTANT NOTE: 
Executing RIBCL scripts is not supported on older firmware versions of Onboard Administrator and iLO4. Below steps are executed and tested from OA 4.40 and higher and iLO4 2.40 and higher

There is no SNTP support for iLO-2, the iLO date and time can be synchronised through the following:
  • System ROM (during POST)
  • Insight Management Agents (in the OS)

I have not validated the steps on iLO3 but as per HPE this should also work on iLO3 so attempt in your lab setup before trying this on production environment.

Below RIBCL script can be used to update the SNTP values for the iLO, here replace the fields highlighted with yellow with the values as per your environment.

hponcfg 11 << eof
<RIBCL VERSION="2.0">
<LOGIN USER_LOGIN="HPadmin" PASSWORD="Passw0rd">
<RIB_INFO MODE="write">
<MOD_NETWORK_SETTINGS>
    <DHCP_SNTP_SETTINGS value="No"/>
    <DHCPV6_SNTP_SETTINGS value="No"/>
    <SNTP_SERVER1 value="10.10.10.11"/>
    <SNTP_SERVER2 value="10.10.10.12"/>
    <TIMEZONE value="Asia/Kolkata"/>
</MOD_NETWORK_SETTINGS>
</RIB_INFO>
</LOGIN>
</RIBCL>
eof

Login to the Onboard Administrator with a user having Administrator privilege using an ssh client like Putty

If you intend to update SNTP only for one server then provide the bay number of the respective bay in the below highlighted section (copy and paste the entire section on the OA CLI console)

BlrSiteA1-01-01> hponcfg 11 << eof
<RIBCL VERSION="2.0">
<LOGIN USER_LOGIN="HPadmin" PASSWORD="Passw0rd">
<RIB_INFO MODE="write">
<MOD_NETWORK_SETTINGS>
    <DHCP_SNTP_SETTINGS value="No"/>
    <DHCPV6_SNTP_SETTINGS value="No"/>
    <SNTP_SERVER1 value="10.10.10.11"/>
    <SNTP_SERVER2 value="10.10.10.12"/>
    <TIMEZONE value="Asia/Kolkata"/>
</MOD_NETWORK_SETTINGS>
</RIB_INFO>
</LOGIN>
</RIBCL>
eof

Below would be the execution output

Bay 11: Executing RIBCL request ...
Bay 11: Awaiting RIBCL results ...
Bay 11: RIBCL results retrieved.
<!-- ======== START RIBCL RESULTS ======== -->

<!-- ======== Bay 11 RIBCL results ======== -->

<?xml version="1.0"?>
<RIBCL VERSION="2.23">
<RESPONSE
    STATUS="0x0000"
    MESSAGE='No error'
     />
</RIBCL>
<?xml version="1.0"?>
<RIBCL VERSION="2.23">
<RESPONSE
    STATUS="0x0000"
    MESSAGE='No error'
     />
</RIBCL>
<?xml version="1.0"?>
<RIBCL VERSION="2.23">
<RESPONSE
    STATUS="0x0000"
    MESSAGE='No error'
     />
</RIBCL>
<?xml version="1.0"?>
<RIBCL VERSION="2.23">
<RESPONSE
    STATUS="0x0000"
    MESSAGE='No error'
     />
</RIBCL>
<?xml version="1.0"?>
<RIBCL VERSION="2.23">
<RESPONSE
    STATUS="0x0000"
    MESSAGE='No error'
     />
</RIBCL>

<!-- ======== END RIBCL RESULTS ======== -->

Next perform iLO reset to activate the changes
Execute below command from the Oanboard Administrator CLI

> reset ilo 11

Entering anything other than 'YES' will result in the command not executing.

Are you sure you want to reset iLO? YES

Bay 11: Resetting iLO using Hardware reset...

Bay 11: Successfully reset iLO through Hardware reset

If you have multiple blades on which you wish to update the SNTP value then replace "11" with the list of blades separated by comma

For example:
Below will be executed only on blade 11

hponcfg 11 << eof
<RIBCL VERSION="2.0">
<LOGIN USER_LOGIN="HPadmin" PASSWORD="Passw0rd">
<RIB_INFO MODE="write">
<MOD_NETWORK_SETTINGS>
    <DHCP_SNTP_SETTINGS value="No"/>
    <DHCPV6_SNTP_SETTINGS value="No"/>
    <SNTP_SERVER1 value="10.10.10.11"/>
    <SNTP_SERVER2 value="10.10.10.12"/>
    <TIMEZONE value="Asia/Kolkata"/>
</MOD_NETWORK_SETTINGS>
</RIB_INFO>
</LOGIN>
</RIBCL>
eof

Below script will be called on blade 11,12,13

hponcfg 11,12,13 << eof
<RIBCL VERSION="2.0">
<LOGIN USER_LOGIN="HPadmin" PASSWORD="Passw0rd">
<RIB_INFO MODE="write">
<MOD_NETWORK_SETTINGS>
    <DHCP_SNTP_SETTINGS value="No"/>
    <DHCPV6_SNTP_SETTINGS value="No"/>
    <SNTP_SERVER1 value="10.10.10.11"/>
    <SNTP_SERVER2 value="10.10.10.12"/>
    <TIMEZONE value="Asia/Kolkata"/>
</MOD_NETWORK_SETTINGS>
</RIB_INFO>
</LOGIN>
</RIBCL>
eof

If you wish to execute the script on all the blades of the enclosure

hponcfg all << eof
<RIBCL VERSION="2.0">
<LOGIN USER_LOGIN="HPadmin" PASSWORD="Passw0rd">
<RIB_INFO MODE="write">
<MOD_NETWORK_SETTINGS>
    <DHCP_SNTP_SETTINGS value="No"/>
    <DHCPV6_SNTP_SETTINGS value="No"/>
    <SNTP_SERVER1 value="10.10.10.11"/>
    <SNTP_SERVER2 value="10.10.10.12"/>
    <TIMEZONE value="Asia/Kolkata"/>
</MOD_NETWORK_SETTINGS>
</RIB_INFO>
</LOGIN>
</RIBCL>
eof

You can also configure SNTP manually using the iLO4 web page.

Open the iLO using any supported browser (preferred IE)

Navigate to Network -> iLO Dedicated Network Port
Select "SNTP" from the Menu TAB as shown and provide the NTP server address details

Next to activate the changes reset your iLO using the RESET TAB under Diagnostics option as shown below

I hope the article was useful.