preloader
14 October 2013 / #Esxi

Reset ILO password

Nous avons rencontré un usecase que nous pourrions catégoriser comme un Worst Case Scenario et nous avons bien entendu décidé de vous en faire profiter 🙂 Pour résumer la situation, nous avons eu un soucis matériel avec un serveur ESX qui se trouvait dans une DMZ. Jusque là, rien de bien sorcier, mais c’est après que cela se gatte!

Afin de pouvoir créer un SR chez HP, il nous a fallu générer des journaux de l'Active Health System, chose qui n’est possible que depuis l’ILO bien évidemment.

Et c’est là que les choses commencent à déraper, impossible de mettre la main sur l’adresse IP de l’ILO pour nous connecter dessus et bien entendu, personne n’avait l’information souhaitée!

Il est possible de faire un reset password de l’ILO depuis le shell ESXi, si toutefois les agents HP sont installés:

~ # esxcli software vib list | grep "Hewlett-Packard"
Name                           Version                               Vendor           Acceptance Level  Install Date
-----------------------------  ------------------------------------  ---------------  ----------------  ------------
char-hpcru                     5.0.3.09-1OEM.500.0.0.434156          Hewlett-Packard  PartnerSupported  2013-10-14
char-hpilo                     500.9.0.0.9-1OEM.500.0.0.434156       Hewlett-Packard  PartnerSupported  2013-10-14
hp-ams                         500.9.4.0-25.434156                   Hewlett-Packard  PartnerSupported  2013-10-14
hp-build                       5.61.2-434156                         Hewlett-Packard  PartnerSupported  2013-10-14
hp-smx-provider                500.03.03.20.2-434156                 Hewlett-Packard  VMwareAccepted    2013-10-14
hpbootcfg                      01-01.02                              Hewlett-Packard  PartnerSupported  2013-10-14
hponcfg                        5.0.0.04-00.11.10.434156              Hewlett-Packard  PartnerSupported  2013-10-14
hpssacli                       1.50.4.0-5.0.0.377826                 Hewlett-Packard  PartnerSupported  2013-10-14
hptestevent                    5.0.0.01-00.00.4.434156               Hewlett-Packard  PartnerSupported  2013-10-14
scsi-hpvsa                     5.0.0-66OEM.500.0.0.472560            Hewlett-Packard  PartnerSupported  2013-10-14

L’outil hponcfg permet d’effectuer des opérations directement sur l’ILO:

/opt/hp # cd /opt/hp/tools/
/opt/hp/tools # ./hponcfg
HP Lights-Out Online Configuration utility

Version 4.0-11 (c) Hewlett-Packard Company, 2011
Firmware Revision=1.32 Device type=iLO 4 Driver name=hpilo

USAGE:
  hponcfg  -?
  hponcfg  -h
  hponcfg  -m minFw
  hponcfg  -r [-m minFw ]
  hponcfg  [-a] -w filename [-m minFw]
  hponcfg  -g [-m minFw]
  hponcfg  -f filename [-l filename] [-s namevaluepair] [-v] [-m minFw]
  hponcfg  -i [-l filename] [-s namevaluepair] [-v] [-m minFw]

  -h,  --help           Display this message
  -?                    Display this message
  -r,  --reset          Reset the Management Processor to factory defaults
  -f,  --file           Get/Set Management Processor configuration from "filename"
  -i,  --input          Get/Set Management Processor configuration from the XML input
                        received through the standard input stream.
  -w,  --writeconfig    Write the Management Processor configuration to "filename"
  -a,  --all            Capture complete Management Processor configuration to the file.
                        This should be used along with '-w' option
  -l,  --log            Log replies to "filename"
  -v,  --xmlverbose     Display all the responses from Management Processor
  -s,  --substitute     Substitute variables present in input config file
                        with values specified in "namevaluepairs"
  -g,  --get_hostinfo   Get the Host information
  -m,  --minfwlevel     Minimum firmware level

Un extract de la configuration permet d’avoir déjà quelques infos:

/opt/hp/tools # ./hponcfg -w /tmp/ilo.log
HP Lights-Out Online Configuration utility

Version 4.0-11 (c) Hewlett-Packard Company, 2011
Firmware Revision=1.32 Device type=iLO 4 Driver name=hpilo
Management Processor configuration is successfully written to file "/tmp/ilo.log"

/opt/hp/tools # vi /tmp/ilo.log
<!-- HPONCFG VERSION="4.0-11.0" -->
<!-- Generated 11/5/2015 15:3:29 -->
<RIBCL VERSION="2.1">
 <LOGIN USER_LOGIN="Administrator" PASSWORD="password">
  <DIR_INFO MODE="write">
  <MOD_DIR_CONFIG>
    <DIR_AUTHENTICATION_ENABLED VALUE="N"/>
    <DIR_LOCAL_USER_ACCT VALUE="Y"/>
    <DIR_SERVER_ADDRESS VALUE=""/>
    <DIR_SERVER_PORT VALUE="636"/>
    <DIR_OBJECT_DN VALUE=""/>
    <DIR_OBJECT_PASSWORD VALUE=""/>
    <DIR_USER_CONTEXT_1 VALUE=""/>
    <DIR_USER_CONTEXT_2 VALUE=""/>
    <DIR_USER_CONTEXT_3 VALUE=""/>
  </MOD_DIR_CONFIG>
  </DIR_INFO>
  <RIB_INFO MODE="write">
  <MOD_NETWORK_SETTINGS>
    <SPEED_AUTOSELECT VALUE="Y"/>
    <NIC_SPEED VALUE="10"/>
    <FULL_DUPLEX VALUE="N"/>
    <IP_ADDRESS VALUE="***IP***"/>
    <SUBNET_MASK VALUE="***NETMASK***"/>
    <GATEWAY_IP_ADDRESS VALUE="***GW***"/>
    <DNS_NAME VALUE="***HOSTNAME***"/>
    <PRIM_DNS_SERVER value="0.0.0.0"/>
    <DHCP_ENABLE VALUE="N"/>
    <DOMAIN_NAME VALUE="***DOMAIN***"/>
    <DHCP_GATEWAY VALUE="Y"/>
    <DHCP_DNS_SERVER VALUE="Y"/>
    <DHCP_STATIC_ROUTE VALUE="Y"/>
    <DHCP_WINS_SERVER VALUE="Y"/>
    <REG_WINS_SERVER VALUE="Y"/>
    <PRIM_WINS_SERVER value="0.0.0.0"/>
    <STATIC_ROUTE_1 DEST="0.0.0.0" GATEWAY="0.0.0.0"/>
    <STATIC_ROUTE_2 DEST="0.0.0.0" GATEWAY="0.0.0.0"/>
    <STATIC_ROUTE_3 DEST="0.0.0.0" GATEWAY="0.0.0.0"/>
  </MOD_NETWORK_SETTINGS>
  </RIB_INFO>
  <USER_INFO MODE="write">
  <ADD_USER USER_NAME="root" USER_LOGIN="root" PASSWORD="%user_password%">
    <ADMIN_PRIV value="Y"/>
    <REMOTE_CONS_PRIV value="Y"/>
    <RESET_SERVER_PRIV value="Y"/>
    <VIRTUAL_MEDIA_PRIV value="Y"/>
    <CONFIG_ILO_PRIV value="Y"/>
  </ADD_USER>
  </USER_INFO>
 </LOGIN>
</RIBCL>

Il est possible aussi de pousser une nouvelle configuration (avec notemment le nouveau mot de passe):

/opt/hp/tools # vi /tmp/new
<RIBCL VERSION="2.1">
<LOGIN USER_LOGIN="Administrator" PASSWORD="password">
<USER_INFO MODE="write">
<ADD_USER USER_NAME="usertemp" USER_LOGIN="usertemp" PASSWORD="complicatedpassword">
<ADMIN_PRIV value="Y"/>
<REMOTE_CONS_PRIV value="Y"/>
<RESET_SERVER_PRIV value="Y"/>
<VIRTUAL_MEDIA_PRIV value="Y"/>
<CONFIG_ILO_PRIV value="Y"/>
</ADD_USER>
</USER_INFO>
</LOGIN>
</RIBCL>

Une fois la commande poussée, le nouveau mot de passe ILO est fonctionnel!

/opt/hp/tools # ./hponcfg -f /tmp/new
HP Lights-Out Online Configuration utility

Version 4.0-11 (c) Hewlett-Packard Company, 2011
Firmware Revision=1.32 Device type=iLO 4 Driver name=hpilo
<INFORM>Scripting utility should be updated to the latest version.</INFORM>
Script succeeded

> Frederic MARTIN