HP ILO 3 – Fixing XML Syntax Errors with Hponcfg Utility

hphp-proliantiloxml

I have an HP ProLiant DL360 G7 server running VMWare ESX 4.1. The system board on the server was changed months ago following a lightning strike at the facility.

The HP technician reprogrammed the ILO3 interface and provided a login/password to access following the system board replacement. This worked at the time.

I'm now in a situation where those given credentials do not work. I'm trying to rebuild the system as an ESXi server, but I am unable to login via the ILO.

Since I do have shell and VMWare Service Console access, I thought I could use the well. known. trick. of resetting the password from within the running operating system. I loaded the hponcfg utility and first made sure that I could communicate with the ILO via the host's channel driver:

[root@esx2 ~]# hponcfg -w ilo.xml 
HP Lights-Out Online Configuration utility
Version 4.0.1 Date 09/24/2012 (c) Hewlett-Packard Company, 2012
Firmware Revision = 1.16 Device type = iLO 3 Driver name = 
Management Processor configuration is successfully written to file "ilo.xml"

Good. Now to use a simple ILO modify_user XML script and run hponcfg -f mod_user.xml to read it.

<RIBCL VERSION="2.22">
   <LOGIN USER_LOGIN="Administrator" PASSWORD="password">
      <USER_INFO MODE="write">
         <MOD_USER USER_LOGIN="Administrator">
            <USER_NAME value="admin"/>
            <USER_LOGIN value="admin"/>
            <PASSWORD value="neener-nanner-poo-poo"/>
            <ADMIN_PRIV value="Yes"/>
            <REMOTE_CONS_PRIV value="No"/>
            <RESET_SERVER_PRIV value="Yes"/>
            <VIRTUAL_MEDIA_PRIV value="Yes"/>
            <CONFIG_ILO_PRIV value="Yes"/>
         </MOD_USER>
      </USER_INFO>
   </LOGIN>
</RIBCL>

and the command line:

[root@esx2 ~]# hponcfg -f mod_user.xml 
HP Lights-Out Online Configuration utility
Version 4.0.1 Date 09/24/2012 (c) Hewlett-Packard Company, 2012
Firmware Revision = 1.16 Device type = iLO 3 Driver name = 
</-- ERROR :      STATUS= 0x0001
     MESSAGE= Error: Line #1: syntax error near "?>". -->
Script failed

Hmm… an error. How about reimporting the ilo.xml file I exported.

[root@esx2 ~]# hponcfg -f ilo.xml 
HP Lights-Out Online Configuration utility
Version 4.0.1 Date 09/24/2012 (c) Hewlett-Packard Company, 2012
Firmware Revision = 1.16 Device type = iLO 3 Driver name = 
</-- ERROR :      STATUS= 0x0001
     MESSAGE= Error: Line #1: syntax error near "?>". -->
Script failed 

Same error. No matter what I try to feed into the ILO 3, I receive an "Error: Line #1: syntax error near "?>"" message.

This is covered in a few HP support forum questions, but there's no resolution noted.

There's a chance that this is just a poor firmware revision, but I've encountered this same set of XML error on three unrelated systems in recent weeks. However, without physical access, ILO media access or a valid username, I can't upgrade the firmware easily, and it seems like the benefit of the scripting interface is lost…

— edit —

I managed to get the ILO firmware from version 1.16 to 1.50. Same errors… Am I doing something wrong?

Best Answer

All of HP's example scripts use <RIBCL VERSION="2.0">, but that's the only difference I see. I'm also not sure whether renaming a user in this way will actually work, so maybe that's it. Try just changing the password:

<RIBCL VERSION="2.0">
   <LOGIN USER_LOGIN="Administrator" PASSWORD="does-not-matter">
      <USER_INFO MODE="write">
         <MOD_USER USER_LOGIN="Administrator">
            <PASSWORD value="new-password"/>
         </MOD_USER>
      </USER_INFO>
   </LOGIN>
</RIBCL>

Also be aware that characters <>"& are not supported properly in passwords (iLO's don't quite parse XML correctly).

If that still fails, try using hpilo_cli, which can generate XML for you and pipe it through hponcfg.