0% found this document useful (0 votes)
42 views69 pages

HPE - c04083434 - HP Scripting Toolkit 9.60 For Linux User Guide

Uploaded by

sanioklabs
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
42 views69 pages

HPE - c04083434 - HP Scripting Toolkit 9.60 For Linux User Guide

Uploaded by

sanioklabs
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 69

HP Scripting Toolkit for Linux 9.

60 User
Guide

Abstract
This document provides information about the Scripting Toolkit for Linux utilities and how best to use the Scripting Toolkit for
Linux to configure HP ProLiant servers and BladeSystem infrastructure in a Linux environment. This document is intended for IT
experts with experience in scripting operating system installations and configuring HP ProLiant servers and BladeSystem
infrastructure.

HP Part Number: 761387-001


Published: February 2014
Edition: 1
Notices
© Copyright 2005, 2014 Hewlett-Packard Development Company, L.P.

The information contained herein is subject to change without notice. The only warranties for HP products and services are set forth in the express
warranty statements accompanying such products and services. Nothing herein should be construed as constituting an additional warranty. HP shall
not be liable for technical or editorial errors or omissions contained herein.

Confidential computer software. Valid license from HP required for possession, use or copying. Consistent with FAR 12.211 and 12.212, Commercial
Computer Software, Computer Software Documentation, and Technical Data for Commercial Items are licensed to the U.S. Government under
vendor’s standard commercial license.

Microsoft, Windows, and Windows Server are U.S. registered trademarks of Microsoft Corporation. Intel is a trademark of Intel Corporation in the
U.S. and other countries.
Contents
1 Introduction...............................................................................................7
Scripting Toolkit........................................................................................................................7
Minimum requirements..............................................................................................................7
2 Deployment using the Scripting Toolkit..........................................................8
Deployment overview................................................................................................................8
Sample deployment procedure...................................................................................................8
Creating a network share......................................................................................................9
Capturing a reference configuration from the source server........................................................9
Creating an ISO image to be written to media.......................................................................10
Configuring the target server...............................................................................................11
Installing the operating system.............................................................................................11
3 Booting and OS installation.......................................................................12
SYSLINUX..............................................................................................................................12
Booting using PXE...................................................................................................................12
Setting up a TFTP server......................................................................................................13
Populating the TFTP directory share......................................................................................14
Setting up a DHCP server...................................................................................................14
Booting from a USB drive key...................................................................................................15
Performing an unattended operating system installation...............................................................15
System hardware configuration............................................................................................15
Microsoft Windows install_win.sh sample script.....................................................................19
Red Hat Linux anaconda-ks.cfg sample file............................................................................19
4 Scripting Toolkit utilities.............................................................................22
Native package formats..........................................................................................................22
Syntax conventions.................................................................................................................22
Utility online help...................................................................................................................22
Using Scripting Toolkit utilities..................................................................................................23
Using REBOOT.......................................................................................................................23
REBOOT command-line syntax.............................................................................................23
REBOOT command-line arguments.......................................................................................23
REBOOT return codes.........................................................................................................23
REBOOT command-line examples........................................................................................24
Using SETBOOTORDER...........................................................................................................24
SETBOOTORDER command-line syntax.................................................................................24
SETBOOTORDER command-line arguments...........................................................................24
SETBOOTORDER return codes.............................................................................................24
SETBOOTORDER command-line examples.............................................................................24
Using STATEMGR...................................................................................................................25
STATEMGR command-line syntax.........................................................................................25
STATEMGR command-line arguments....................................................................................25
STATEMGR return codes.....................................................................................................25
STATEMGR command-line examples.....................................................................................25
Using RBSURESET...................................................................................................................25
RBSURESET command-line syntax.........................................................................................26
RBSURESET command-line arguments...................................................................................26
RBSURESET return codes.....................................................................................................26
Using BOOTEXTRACT ............................................................................................................26
BOOTEXTRACT command-line syntax...................................................................................26
BOOTEXTRACT command-line arguments..............................................................................26
BOOTEXTRACT return codes...............................................................................................26

Contents 3
Using HPDISCOVERY..............................................................................................................27
HPDISCOVERY command-line syntax....................................................................................27
HPDISCOVERY command-line arguments..............................................................................27
HPDISCOVERY return codes................................................................................................27
HPDISCOVERY command-line examples................................................................................27
Using IFHW...........................................................................................................................28
IFHW command-line syntax.................................................................................................28
IFHW command-line arguments...........................................................................................28
IFHW return codes.............................................................................................................28
IFHW command-line examples............................................................................................28
Expression operators and terms...........................................................................................28
Expression examples..........................................................................................................29
Using HWQUERY...................................................................................................................29
HWQUERY command-line syntax.........................................................................................29
HWQUERY command-line arguments...................................................................................29
HWQUERY return codes.....................................................................................................30
HWQUERY command-line examples....................................................................................30
Using CONREP......................................................................................................................30
CONREP command-line syntax............................................................................................31
CONREP command-line arguments......................................................................................31
CONREP return codes........................................................................................................32
CONREP screen output.......................................................................................................32
CONREP -s (Store to Data file) ............................................................................................32
CONREP –l (Load from Data File).........................................................................................33
CONREP Data File Sample Contents for HP ProLiant servers not using the Oxx ROM family.........33
CONREP command file contents for HP ProLiant servers not using the Oxx ROM family...............34
Using HPRCU.........................................................................................................................35
HPRCU command-line syntax...............................................................................................35
HPRCU command line arguments.........................................................................................35
HPRCU return codes...........................................................................................................36
HPRCU sample XML format.................................................................................................36
Using HPSSASCRIPTING..........................................................................................................36
Capturing a configuration...................................................................................................37
Using an Input script...........................................................................................................37
Creating an HP SSA script file.............................................................................................38
Sample custom input script.............................................................................................38
Script file options...............................................................................................................39
Control category...........................................................................................................40
Action mode............................................................................................................41
Method mode..........................................................................................................41
Controller category.......................................................................................................41
Controller................................................................................................................41
ChassisName..........................................................................................................42
ClearConfigurationWithDataLoss................................................................................42
LicenseKey, DeleteLicenseKey.....................................................................................42
PreferredPathMode...................................................................................................42
ReadCache, WriteCache...........................................................................................42
RebuildPriority, ExpandPriority....................................................................................43
SSPState..................................................................................................................43
SurfaceScanDelay....................................................................................................43
Video performance options........................................................................................43
Array category.............................................................................................................44
Array......................................................................................................................44
Drive.......................................................................................................................44
DriveType................................................................................................................44

4 Contents
OnlineSpare............................................................................................................45
Logical Drive category...................................................................................................45
ArrayAccelerator......................................................................................................45
LogicalDrive.............................................................................................................45
LogicalDriveSSPState.................................................................................................45
ParityGroups............................................................................................................46
PreferredPath...........................................................................................................46
RAID.......................................................................................................................46
Sectors....................................................................................................................46
Size........................................................................................................................46
SSPAdaptersWithAccess............................................................................................47
StripeSize................................................................................................................47
HBA category...............................................................................................................47
ConnectionName.....................................................................................................47
HBA_WW_ID..........................................................................................................48
HostMode...............................................................................................................48
HP SSA scripting error messages..........................................................................................48
Using HPLPCFG......................................................................................................................52
HPLPCFG command-line syntax............................................................................................52
HPLPCFG command-line arguments......................................................................................52
HPLPCFG return codes........................................................................................................52
HPLPCFG command-line examples.......................................................................................53
Using LO100CFG...................................................................................................................53
LO100CFG command-line syntax.........................................................................................53
LO100CFG command-line arguments...................................................................................54
LO100CFG return codes.....................................................................................................54
LO100CFG command-file contents.......................................................................................54
Using HPQLAREP...................................................................................................................55
HPQLAREP command-line syntax.........................................................................................55
HPQLAREP command-line arguments....................................................................................55
HPQLAREP return codes......................................................................................................56
HPQLAREP command-line examples.....................................................................................56
Using HPONCFG...................................................................................................................57
HPONCFG command-line syntax.........................................................................................57
HPONCFG command-line arguments...................................................................................57
HPONCFG return codes.....................................................................................................58
HPONCFG command file contents.......................................................................................58
Obtaining an entire configuration....................................................................................58
Obtaining a specific configuration...................................................................................59
Setting a configuration...................................................................................................60
HPONCFG command-line examples.....................................................................................60
5 Troubleshooting........................................................................................61
Troubleshooting table..............................................................................................................61
6 Support and other resources......................................................................62
Information to collect before contacting HP.................................................................................62
How to contact HP..................................................................................................................62
Subscription service................................................................................................................62
Related information.................................................................................................................62
Scripting Toolkit support..........................................................................................................63
Typographic conventions.........................................................................................................63
HP Insight Remote Support software..........................................................................................63
HP Insight Online...................................................................................................................64

Contents 5
7 Documentation feedback...........................................................................65
Acronyms and abbreviations.........................................................................66
Index.........................................................................................................68

6 Contents
1 Introduction
Scripting Toolkit
The Scripting Toolkit is a server deployment product for IT experts that delivers an unattended
automated installation for high-volume server and BladeSystem infrastructure deployments. This
document describes how to best use the Scripting Toolkit to configure HP ProLiant servers and
BladeSystem infrastructure. It also contains information about the Scripting Toolkit utilities and how
to use them in an unattended environment. This document does not include information about
installing the operating system.

CAUTION: Improper use of the Scripting Toolkit utilities can result in loss of critical data. Because
of the potential data-loss risk, only individuals experienced in scripting operating system installations
and configuring HP ProLiant server hardware should use the Scripting Toolkit utilities. Before using
the Scripting Toolkit, all necessary precautions must be taken to ensure that mission-critical systems
remain online if a failure occurs.

NOTE: This release of the Scripting Toolkit uses HP Smart Storage Administrator (HP SSA), instead
of the Array Configuration Utility (ACU). HP SSA includes all of the functions previously contained
in ACU and the Array Configuration Utility Command Linux Interface (ACUCLI).

Minimum requirements
Before beginning the deployment process, be sure to have the following items available:
• Scripting Toolkit for Linux
• HP Scripting Toolkit for Linux User Guide
• A Linux workstation (any Linux distribution)

Scripting Toolkit 7
2 Deployment using the Scripting Toolkit
Deployment overview
The Scripting Toolkit includes a set of utilities for configuring and deploying servers in a customized,
predictable, and unattended manner. These utilities enable you to duplicate the configuration of
a source server on target servers with minimal user interaction.

IMPORTANT: HP ProLiant 100 series servers previous to Gen8 do not support all Scripting Toolkit
commands. See the following descriptions for utility usage. Commands that are supported might
not work as expected. For a better understanding, read each section of the documentation carefully.
You can perform server deployments in many different ways using the Scripting Toolkit, but every
deployment must include the following basic steps:
1. Create a network share.
2. Prepare the bootable media (CD/DVD, USB drive key, or PXE).
3. Configure the system and storage hardware on the target server.
4. Perform the operating system installation.
HP also recommends installing the latest version of the HP SPP. To obtain the most current SPP, see
the SPP website at http://www.hp.com/go/spp.

IMPORTANT: Not all options can be configured using Scripting Toolkit utilities. Some options
must be configured manually or with other configuration utilities, which are available online, before
they can be used with the Scripting Toolkit. For more information on configuration, see the option
documentation.

Sample deployment procedure


The following procedure is a case study of a typical deployment. This procedure assumes that you
are performing a media-based installation and that you want to replicate an existing server
configuration. The process described in this section can vary depending on your specific
requirements.
This section provides a simple overview of a basic deployment, but the flexibility of the Scripting
Toolkit enables you to do much more. With an understanding of the basic steps and your own
deployment environment, you can use the Scripting Toolkit to further customize and automate the
deployment process. For information on automating deployments, see “Booting and OS installation”
(page 12).

8 Deployment using the Scripting Toolkit


Creating a network share

To create a network share:


1. Download the appropriate Scripting Toolkit package from the Scripting Toolkit website at
http://www.hp.com/go/ProLiantSTK.
2. Extract the package on a common server that resides on the same network as the servers to
be deployed.
3. Use the Linux NFS Server Configuration Tool to share the directory in which you extracted the
Toolkit package and to assign read and write permissions for all hosts.

Capturing a reference configuration from the source server


Procedure 1
1. At the source server, boot the media (CD/DVD, USB drive key, or PXE) that contains the custom
Linux Toolkit image.
2. At the boot prompt, type bash, and then press Enter. When the process is complete, a
command prompt appears.
3. Load the network drivers using the loadnet script:
/loadnet.sh
4. Load appropriate storage controller drivers:
modprobe -f cciss

Sample deployment procedure 9


5. To add a new device driver name:
modprobe —f hpsa
6. Load the channel interface driver for iLO:
insmod /opt/hp/hp-ilo/bin/`uname -r`/hp_ilo.ko
7. Mount the network share:
mkdir /mnt/toolkit_share
mount -t nfs -o rw,nolock <ip of workstation>:/path/to/toolkit /mnt/toolkit_share

8. Capture a hardware discovery report using the HPDISCOVERY utility:


cd /mnt/toolkit_share/utilities
./hpdiscovery -f /mnt/toolkit_share/data_files/hpdiscovery.xml
9. Capture the system BIOS configuration using the CONREP utility:
cd /mnt/toolkit_share/utilities
./conrep -s -f/mnt/toolkit_share/data_files/conrep.dat
10. Capture the Smart Array configuration using the HP SSA utility:
cd /mnt/toolkit_share/utilities/hpssascripting
./hpssascripting -c /mnt/toolkit_share/data_files/hpssascripting.dat
11. Capture the iLO configuration using the HPONCFG utility:
cd /mnt/toolkit_share/utilities
./hponcfg -w /mnt/toolkit_share/data_files/hponcfg.dat
12. Edit the iLO configuration report to create an iLO configuration script:
vi /mnt/toolkit_share/data_files/hponcfg.dat
Unmount the network share
umount /mnt/toolkit_share
13. Reboot the source server, and then eject the Toolkit CD.

Creating an ISO image to be written to media


The mkisofs command is used to create an ISO image. The following table describes the arguments
used with this command.

Argument Description

-o linuxbootCD.iso This argument is the output of the mkisofs command, the ISO file.

-b isolinux/isolinux.bin This argument sets isolinux.bin as the bootloader.

-V LinuxBootCD This argument sets the volume label of the CD.

./linuxbootCD This argument specifies the target directory that will be the root of
the CD.

To create the ISO image, execute the following command at the shell prompt:
mkisofs -J -iso-level 3 -R -L -o linuxbootCD.iso \
-b isolinux/isolinux.bin -c isolinux/boot.cat \
-V LinuxBootCD \
-no-emul-boot -boot-load-size 4 \
-boot-info-table \
./linuxbootCD
Now, the ISO file can be written to a CD.

10 Deployment using the Scripting Toolkit


Configuring the target server
1. At the target server, boot the media that contains the custom Scripting Toolkit for Linux image.
2. At the boot prompt, type bash and then press Enter. When the process is complete, a command
prompt appears.
3. Load the network drivers using the loadnet script:
/loadnet.sh
4. Load appropriate storage controller drivers:
modprobe -f cciss
5. Load the channel interface driver for iLO:
insmod /opt/hp/hp-ilo/bin/`uname -r`/hp_ilo.ko
6. Mount the network share:
mkdir /mnt/toolkit_share
7. Apply the system BIOS configuration using the CONREP utility:
./conrep -l -f/mnt/toolkit_share/data_files/conrep.dat
8. Apply the Smart Array configuration using the HP SSA utility:
cd /mnt/toolkit_share/utilities/hpssascripting
9. Apply the iLO configuration using the HPONCFG utility:
cd /mnt/toolkit_share/utilities
10. Unmount the network share:
umount /mnt/toolkit_share
11. Insert the operating system CD.
12. Reboot the server to run the operating system installation.

Installing the operating system


For information on performing an unattended operating system installation, see “Booting and OS
installation” (page 12). For additional information, see the following resources:
• Operating system documentation
• Kickstart or AutoYAST documentation

Sample deployment procedure 11


3 Booting and OS installation
SYSLINUX
SYSLINUX is a free third-party bootloader available on the SYSLINUX web page at http://
syslinux.zytor.com/index.php.
SYSLINUX is a suite of programs that perform various boot functions. The Scripting Toolkit uses the
following bootloader programs:
• isolinux.bin—Boot from ISO media.
• pxelinux.0—Boot using PXE protocol.
• ldlinux.sys—Boot from a USB drive key.
The bootloaders each require a configuration file to run:
• isolinux.cfg—Use when booting from ISO media.
• default—Use when booting using PXE.
• syslinux.cfg—Use when booting from a USB drive key.
In the boot files (isolinux.cfg, default, and syslinux.cfg), the following options are
supported in the append statements.

Option Description

sstk_mount=<device> This command specifies the device node or name to mount;


for example, /dev/hdc or 10.0.0.1:/nfs_bootstrap

sstk_mount_type=<mount type> This command specifies the file system type of the device;
for example, nfs, vfat, or iso9660

sstk_mount_options=<mount options> This command specifies the options for mounting the device;
for example, ro, or ro,nolock for NFS

sstk_script=<script filename> This command specifies the administrator-created script


that executes to continue the process. Typically, the script
uses Toolkit tools to configure and update the system, and
then begins an operating system installation.

network=1 This command causes the bootstrap script to load network


drivers and use DHCP to acquire a network address.

The bootstrap script included with the Toolkit performs the following commands:
mount -t $sstk_mount_type $sstk_mount /mnt/main -o $sstk_mount_options
exec /mnt/main/$sstk_script
For more information about SYSLINUX usage, see the SYSLINUX web page at http://
syslinux.zytor.com/index.php

Booting using PXE


A basic understanding of DHCP, PXE, and TFTP is required to perform the procedure described in
this section.
Examples in this section might not be specific to your operating system environment. For more
information about your particular environment, see the Linux system administrator's guide.
The following figure illustrates a simplified Scripting Toolkit PXE boot.

12 Booting and OS installation


Setting up a PXE boot environment requires the following general steps:
1. Set up a DHCP server with the appropriate options.
2. Set up a TFTP server with the appropriate options.
3. Populate the TFTP directory share with the Scripting Toolkit boot components.
These steps assume that a Linux workstation is used as the DHCP/TFTP server. You might need to
download additional components and adapt the following instructions to suit your environment.

Setting up a TFTP server


Most Linux installations include a TFTP server and an automated method of launching the server
upon receiving a TFTP request. The parent process for detecting a TFTP request and launching the
TFTP server is called xinetd. However, you might have to enable the TFTP service. The TFTP file is
located in the /etc/xinetd.d/ directory. The following is a sample TFTP file:
# default: off
# description: The tftp server serves files using the \
# trivial file transfer protocol. The tftp protocol is \
# often used to boot diskless workstations, download \
# configuration files to network-aware printers and to \
# start the installation process for some operating systems.
service tftp
{
socket_type = dgram
protocol = udp
wait = yes
user = root

Booting using PXE 13


server = /usr/sbin/in.tftpd
server_args = -s /tftpboot
disable = yes
per_source = 11
cps = 100 2
}
In this example, disabled is the default setting, and /tftpboot is the root directory for all client
access.
To enable the TFTP service on your server, edit the disable line to read:
disable = no

Populating the TFTP directory share


Use the /tftpboot directory from the “Setting up a TFTP server” (page 13) section as the directory
where TFTP clients get their files. To populate the TFTP directory share:
1. Create a /tftpboot directory, if needed.
2. Copy the necessary boot files to the /tftpboot directory:
• pxelinux.0 (the SYSLINUX binary used for PXE boot)
• initrd.img (the Linux file system)
• vmlinuz (the Linux kernel)
3. Create a PXELINUX configuration file subdirectory called /tftpboot/pxelinux.cfg.
4. Copy the default file (the boot configuration used by pxelinux.0) into the /tftpboot/
pxelinux.cfg/ directory.
The tftpboot directory should now contain the following items:
/tftpboot/pxelinux.0
/tftpboot/initrd.img
/tftpboot/vmlinuz
/tftpboot/pxelinux.cfg/default

Setting up a DHCP server


To set up a DHCP server, create and edit a dhcpd.conf file in the /etc directory of your server.
The following is a sample dhcpd.conf file:
allow booting;
allow bootp;
ddns-update-style interim;
[You must customize the file by inserting the appropriate DHCP directives, IP ranges, subnet masks,
and so on here.]
next-server IP_ADDRESS_OF_TFTP_SERVER;
filename "pxelinux.0";
The next-server command tells the DHCP client where to send the TFTP get request.
The filename command tells the DHCP client which file to get. In this example, the file is
pxelinux.0.
When you have finished creating the dhcpd.conf file, restart the DHCP server:
/etc/init.d/dhcpd restart

14 Booting and OS installation


Booting from a USB drive key
Some applications require the use of a writable medium. While booting from CD is not suitable
for this purpose, a USB drive key provides the ideal medium as a writable medium.

NOTE: Booting from a USB drive key is supported only on certain HP ProLiant servers. For more
information, see the HP SPP website at http://www.hp.com/go/spp.
To set up a USB drive key to boot the Scripting Toolkit environment:
1. Download hp-scripting-toolkit-linux-9.xx.tar.gz (where XX is the minor version
number) from http://www.hp.com.
Extract the file to a directory of your choice. (The following example uses /Toolkit).
2. Make a directory, extract the files, and then change the directory to the extracted toolkit
directory.
mkdir -p /Toolkit
tar xfz hp-scripting-toolkit-linux-9.xx.tar.gz -C /Toolkit
cd /Toolkit/hp-scripting-toolkit-linux-9.xx
3. Enter the following command on the BASH command-line prompt:
./mkusbkey.sh /dev/XXX
where XXX is the device node of your USB drive key.
If you do not know the device node associated with your USB drive key, run the fdisk –l
command to view the devices available to the operating system.
If the script creates the key successfully, the following message appears:
USB Key created successfully on device /dev/XXX

Performing an unattended operating system installation


Sample scripts are provided with the Scripting Toolkit to simplify the installation process. These
scripts are used for the following:
• System hardware configuration
• Operating system preinstallation configuration
However, these scripts must be modified for your particular environment.

System hardware configuration


The sample install_rhel4.sh script performs many hardware configuration tasks, including:
• Copying all Scripting Toolkit utilities from the network share to the target server
• Running hardware discovery to determine server type
• Obtaining server ID information from the hardware discovery file
• Copying server-specific configuration script and data files from the network share
• Loading drivers for storage controllers and any other devices that must be configured
• Running the CONREP utility
• Running the HPSSASCRIPTING utility, if needed (this action is server-specific)
• Running any other configuration utilities
• Running hardware discovery to determine the boot controller
• Obtaining the device node of the boot controller (this information is required for the disk-carving
portion of the operating system setup)
• Running the operating system-specific setup script

Booting from a USB drive key 15


The scripting for these steps must be adapted to your server deployment process. In particular, be
sure to change the IP address and path of the NFS server to match your environment. You might
also need to make other modifications, such as adding extra configuration steps (for instance,
running HPONCFG to configure iLO) or additional servers.
The sample install_rhel4.sh script is similar to the following:
#!/bin/bash
## this script's methods work for RHEL 5
## SAMPLE. Change the NFS mount points to match your environment
export NFS_TOOLKIT_DIR=10.0.0.1:/TOOLKIT
## Internal Variables, do not modify
export TOOLKIT=/TOOLKIT
export NFS_MAIN=/mnt/nfs
export HPDISCOVERY_FILE=/TOOLKIT/hpdiscovery.xml
export SERVERNAME=
export BOOTDEVNODE=
clear
echo "*** Performing RHEL4 installation ***"
echo "Mounting NFS share"
mkdir ${NFS_MAIN}
mount -t nfs ${NFS_TOOLKIT_DIR} ${NFS_MAIN} -o ro,nolock
if [ $? != 0 ]; then
echo "Unable to mount NFS share, make sure you updated the $0 script
with the location of your NFS server."
exec /bin/bash
fi
echo "Copying over toolkit scripts and utilities from NFS share"
cd ${TOOLKIT}
cp -a ${NFS_MAIN}/scripts/* ${TOOLKIT}
cp -a ${NFS_MAIN}/utilities/* ${TOOLKIT}
cp -a ${NFS_MAIN}/data_files ${TOOLKIT}
echo ""
echo "Loading storage drivers for hardware"
./load_modules.sh
echo ""
echo "Pausing to allow drivers to finish loading"
sleep 15
echo ""
echo "Configure server"
## run hardware discovery
./hpdiscovery -f ${HPDISCOVERY_FILE}
## use hwquery to fetch the SystemName from hardware discovery file. ( extra " " are required )
export "`./hwquery ${HPDISCOVERY_FILE} allboards.xml SERVERNAME=SystemName`";
echo "Server Type: ${SERVERNAME}"
case "${SERVERNAME}" in
"ProLiant DL380 G4" )
# Apply System Configuration
./conrep -l -fdata_files/dl380g4_conrep.dat
# Apply Array Configuration for Smart Array 6i Controller if present

16 Booting and OS installation


./ifhw ${HPDISCOVERY_FILE} allboards.xml "PCI:Smart Array 6i Controller" 2> /dev/null
if [ $? = 0 ] ; then
cd ${TOOLKIT}/hpssascripting
./hpssascripting -i ../data_files/dl380g4_sa6i_hpssascripting.dat
fi
# Apply Array Configuration for Smart Array P600 Controller if present
./ifhw ${HPDISCOVERY_FILE} allboards.xml "PCI:Smart Array P600 Controller" 2> /dev/null
if [ $? = 0 ] ; then
cd ${TOOLKIT}/hpssascripting
./hpssascripting -i ../data_files/dl380g4_p600_hpssascripting.dat
fi
## ADD EXTRA DL380 G4 Configuration Steps HERE
;;
"ProLiant BL45p G1" )
./conrep -l -fdata_files/bl45pg1_conrep.dat
# Apply Array Configuration for Smart Array 6i Controller if present
./ifhw ${HPDISCOVERY_FILE} allboards.xml "PCI:Smart Array 6i Controller" 2> /dev/null
if [ $? = 0 ] ; then
cd ${TOOLKIT}/hpssascripting
./hpssascripting -i ../data_files/bl45pg1_sa6i_hpssascripting.dat
fi
## ADD EXTRA BL45p G1 Configuration Steps HERE
;;
"ProLiant ML310 G2" )
./conrep -l -fdata_files/ml310g2_conrep.dat
./ifhw ${HPDISCOVERY_FILE} allboards.xml "PCI:Intel(R) 6300ESB Ultra ATA Storage/SATA Controller"

if [ $? = 0 ] ; then
echo "Plain SATA found"
# Plain SATA, set BOOTDEVNODE manually since hardware discovery won't find IDE devices
export BOOTDEVNODE=/dev/hda
fi
## ADD EXTRA ProLiant ML310 G2 Configuration Steps HERE
;;
## ADD MORE SERVERS HERE
ProLiant* )
echo "No configuration process defined for this ProLiant server"
echo "Update $0 with steps for this ProLiant server"
exec /bin/bash
;;
* )
echo "Unrecognized Server"
exec /bin/bash
;;
esac
## CONTINUE COMMON INSTALL PROCESS
cd ${TOOLKIT}
echo "Pausing to allow drivers to catch up"
sleep 5

Performing an unattended operating system installation 17


echo ""
echo "Rerun hardware discovery to find boot device"
./hpdiscovery -f ${HPDISCOVERY_FILE}
## use hwquery to fetch the boot dev node from hardware discovery file.
if [ -z ${BOOTDEVNODE} ]; then
export `./hwquery ${HPDISCOVERY_FILE} allboards.xml BOOTDEVNODE=DevNode`
fi
echo "Boot Device=${BOOTDEVNODE}"
if [ -z ${BOOTDEVNODE} ]; then
echo "MISSING boot device dev node. Check that the drivers are loaded."
exec /bin/bash
fi
ls -al ${BOOTDEVNODE}*
ln -s ${BOOTDEVNODE} /dev/sssd
echo "### Linux Unattended Install using Kickstart ###"
echo "clearing mbr and a few more sectors"
dd if=/dev/zero of=/dev/sssd bs=512 count=32
echo "forcing kernel to re-read partition table"
sfdisk --re-read /dev/sssd
sleep 5
echo "landing mbr"
dd if=${NFS_MAIN}/linux_unattend/generic.mbr of=/dev/sssd bs=512 count=1
echo "create new 256M FAT16 partition using sfdisk"
echo "0,256,6,*" | sfdisk -uM -D /dev/sssd
echo "forcing kernel to re-read partition table"
sfdisk --re-read /dev/sssd
sleep 5
## make symlink for first partition, usually sda1 or c0d0p1
if test -e ${BOOTDEVNODE}1 ; then
ln -s ${BOOTDEVNODE}1 /dev/sssd1
elif test -e ${BOOTDEVNODE}p1 ; then
ln -s ${BOOTDEVNODE}p1 /dev/sssd1
else
echo "Partition 1 missing, check that partition creation succeeded"
exec /bin/bash
fi
ls -al /dev/sssd1
cd ${NFS_MAIN}/linux_unattend/rhel4/
echo "landing diskboot.img from RHEL4-disc1/images/"
dd if=diskboot.img of=/dev/sssd1
## mount disk
echo "mounting to /mnt/dos"
mount -t vfat /dev/sssd1 /mnt/dos
##### MAKE SURE YOU MODIFY syslinux-rh.cfg FOR YOUR ENVIRONMENT #######
cp -a syslinux-rh.cfg /mnt/dos/syslinux.cfg
cd ${TOOLKIT}
## unmount disk

18 Booting and OS installation


umount /mnt/dos
umount ${NFS_MAIN}
## unmount everything else
#umount -a
#echo "Rebooting"
#sleep 5
#/bin/reboot c:

Microsoft Windows install_win.sh sample script


The install_win.sh sample script performs many of the same hardware configuration tasks
described in “Performing an unattended operating system installation” (page 15).
Additionally, the sample install_win.sh script for Microsoft Windows performs preinstallation
tasks, including:
• Creating a 2 GB FAT16 primary partition
• Formatting the partition for the FAT file system
• Creating a boot sector for the partition
• Copying the FreeDOS operating system to the new C drive
• Copying the Windows installation sources, the $oem$ directory, and unattend.txt files
to the C drive
To use the install_win.sh sample script to install Microsoft Windows and install_w2k8.sh
sample script to install Windows Server 2008:
1. Create an unattend.txt file by following the instructions in the Microsoft documentation
at http://support.microsoft.com/kb/155197. A sample unattend.txt file is included in
the windows_unattend directory.
2. Copy the Windows source files to the installation source. In this sample script, the installation
source is a NFS file share.
3. Adapt the script to perform the correct hardware configuration, and change the NFS server
IP address and path to match your environment.
4. Update the syslinux configuration file (pxelinux.cfg, isolinux.cfg, or syslinux.cfg)
to reference the install_win.sh or install_w2k8.sh sample script.

Red Hat Linux anaconda-ks.cfg sample file


The operating system-dependent unattended installation file is not created by the Toolkit utilities.
The user must create the file separately. In the following example, bold lines indicate modifications
made to fully automate the installation of the operating system.
For a complete description of the options that can be modified in the anaconda-ks.cfg
unattended installation file to customize the installation of Red Hat Linux, see the operating system
documentation or the Red Hat Enterprise Linux Installation Guide at http://www.redhat.com/docs/
manuals/linux/.
lang en_US
REM *** Modify the network settings to reflect required
REM *** network settings.
network --bootproto dhcp
REM *** The IP address should be the address of the
REM *** Linux repository server. The /SHAREVOL/RedHatCD
REM *** must be shared as an NFS volume.
nfs --server 192.1.1.3 --dir /SHAREVOL/RedHatCD
device ethernet eepro100

Performing an unattended operating system installation 19


keyboard "us"
zerombr yes
clearpart --Linux
part /boot --size 30
part swap --size 128
part / --size 100 --grow
install
mouse genericps/2
timezone Etc/GMT-6
#xconfig --server "Mach64" --monitor "generic monitor"
skipx
rootpw iscrypted $1$ltK6jzho$7pPbE8WPNAeg44UlXqG27
auth --useshadow --enablemd5
lilo --location partition
reboot
%packages
ElectricFence
setup
filesystem
basesystem
ldconfig
glibc
shadow-utils
mkkickstart
mktemp
termcap
libtermcap
bash
MAKEDEV
SysVinit
XFree86-Mach64
ncurses
info
grep
XFree86-libs
chkconfig
XFree86-xfs
anacron
anonftp
fileutils
mailcap
textutils
apache
apmd
arpwatch
ash
at

20 Booting and OS installation


authconfig
autoconf
automake
yp-tools
ypbind
ypserv
zlib
zlib-devel
%post
The previous example contains a limited list of packages to be installed. Add to this section any
other packages to be installed.
The server deployment configuration and operating system installation process is complete.

Performing an unattended operating system installation 21


4 Scripting Toolkit utilities
Native package formats
The Scripting Toolkit utilities are available as standalone RPM and DEB packages.
The Scripting Toolkit utilities are published to the HP Software Delivery Repository under the Extras
directory at http://downloads.linux.hp.com/SDR/downloads/Extras.
Get started at http://downloads.linux.hp.com/SDR/getting_started.

Syntax conventions
Syntax refers to the way a command and parameters must be entered. Unless specified otherwise,
enter commands, parameters, and switches in all uppercase or all lowercase letters.
Sample syntax line:
SAMPLE[-R][PATH]FILENAME[...]

Command element Description

SAMPLE Specifies the name of the command.

- Indicates a command line switch for executable files.

PATH Specifies the route the operating system must follow through the directory structure to locate
a directory or file. A path and file name must be specified only if the file is not in the current
directory.

FILENAME Specifies a file name. This document uses uppercase file names. A device name or a drive
letter cannot be specified for a file name.

... Indicates that the previous parameter or switch can be repeated several times in a command.
Enter only the information, not the ellipsis (…).

In this document, the length of an example command or syntax might require it to continue on
another line. When this happens, the second line and any additional lines are indented under the
first line.
Placeholder items used in the syntax lines in this chapter include:
• Source—Specifies the location of the data to be transferred to a specified destination or used
as input to a command. The source can consist of a drive letter and colon, a directory name,
a file name, or a combination of these items.
• Destination—Specifies the destination to which the source transfers the data. The destination
can consist of a drive letter and colon, a directory name, a file name, or a combination of
these items.
• String—Specifies a group of characters to be treated as a unit. A string can include letters,
numbers, spaces, or any other character and is usually enclosed in double quotation marks.

Utility online help


Most Scripting Toolkit utilities include usage instructions. To obtain help with the syntax, parameters,
and switches of a particular Scripting Toolkit utility, enter the file name followed by -h in the
command line. For example, for usage instructions on the CONREP utility, enter the following
command:
CONREP -h
The utility displays information about its command line syntax, argument, and switches.

22 Scripting Toolkit utilities


Using Scripting Toolkit utilities
The Scripting Toolkit utilities control the installation process, read the source server configuration,
and duplicate the configuration on a target server through a generated script file.
The Scripting Toolkit utilities include:
• REBOOT
• SETBOOTORDER (Limited functionality for HP ProLiant 100 series servers)
• STATEMGR (Utility is not supported on 100 series servers)
• RBSURESET
• BOOTEXTRACT
• HPDISCOVERY
• IFHW
• HWQUERY
• CONREP
• HPRCU
• HPSSASCRIPTING
• HPLPCFG
• LO100CFG (Utility only supports HP ProLiant 100 series servers)
• HPQLAREP
• HPONCFG (Not supported on HP ProLiant 100 series servers using the Oxx ROM family)

Using REBOOT
REBOOT, together with other utilities, is used from a batch file to control server reboots. This utility
enables the user to reboot the server with control over which device is the boot device. If no boot
drive argument is passed on to REBOOT, then the utility reboots the server using the drive specified
as the default drive.

REBOOT command-line syntax


REBOOT [DRIVE:] [-h]

REBOOT command-line arguments

Command line argument Description

[DRIVE:] Valid arguments that can be passed to REBOOT are A:, C:, CD, RBSU, or PXE. By
specifying an argument, the drive indicated is set to boot on the next reboot, and the
system is restarted. If no argument is provided, then the system is set to boot using
the defined boot order.

—c This argument performs a one-time cold boot of the system.

—h This argument displays help information.

REBOOT return codes

Value Meaning

0 Success

1 Incorrect command line

Using Scripting Toolkit utilities 23


REBOOT command-line examples

Command-line argument Description

REBOOT A: This command reboots the system to the A: drive.

REBOOT PXE This command reboots the system by itself to the PXE NIC.

Using SETBOOTORDER
SETBOOTORDER enables you to set the order in which devices are booted, including diskette
drives, CD-ROM drives, hard drives, PXE, and USB devices. This utility sets the boot order only for
devices that exist for a server. The devices can be set to boot in any order.
SETBOOTORDER cannot be used to set the storage controller order. You must use the CONREP
utility. For more information about setting the controller order, see “Using CONREP” (page 30).

NOTE: Any changes made to the SETBOOTORDER take affect at the next reboot. For HP ProLiant
servers with Oxx ROM Family (most 100 series servers), only one device can be set as the boot
device and others cannot be re-ordered. These Oxx servers do not support the default or usb
parameters.

SETBOOTORDER command-line syntax


setbootorder [floppy cdrom pxe hd usb | default] [-h]

SETBOOTORDER command-line arguments


Options are disabled if not listed in the argument.

NOTE: UEFI-based servers no longer support “floppy” as a boot option in any mode, including
Legacy mode.

Command-line argument Description

floppy cdrom pxe hd usb The order of these arguments sets the boot order for the
system devices. Each term can be used only once in any
order. It is not necessary to use all terms. HP ProLiant 100
series servers can only pass in one option.

default This argument resets the boot order to the factory default.

—h This argument displays help information.

SETBOOTORDER return codes

Value Meaning

0 The boot order was set successfully.

1 Incorrect command line..

SETBOOTORDER command-line examples

Command-line argument Description

SETBOOTORDER cdrom hd pxe usb This command sets the system devices to boot in this order:
CD-ROM drive, hard drive, PXE, USB.

SETBOOTORDER default This command sets the boot order to the factory default.

24 Scripting Toolkit utilities


Using STATEMGR
The STATEMGR utility enables the user to keep track of the execution state during system reboots.
This utility saves persistent state information across reboots of the system.

NOTE: The STATEMGR utility is not supported on 100 series servers.

STATEMGR command-line syntax


STATEMGR [-R] [EVNAME] [-h]
- or -
STATEMGR [-W] [EVNAME] [VALUE] [-h]

STATEMGR command-line arguments

Command-line argument Description

–R This argument reads the state of the environment variable


defined by [EVNAME]. The value of the environment
variable is returned as a return code.

-W This argument writes the state defined by [VALUE] to an


environment variable defined by [EVNAME].

EVNAME This argument creates an environment variable used to


represent the state to manage. The variable can be any
word that is eight characters or fewer.

VALUE This argument is used only with the -W argument to indicate


the value of the environment variable to maintain. [VALUE]
is limited to integers between 0 and 254. If no value is
provided when using -W, the state environment variable
is cleared.

—h This argument displays help information.

STATEMGR return codes

Value Meaning

0 The command was completed successfully.

n N arguments were ignored because they were not in the


variable=<string> format.

STATEMGR command-line examples

Command-line argument Description

STATEMGR —W PHASE 3 STATEMGR writes the state value 3 to the PHASE


environment variable.

STATEMGR —R PHASE STATEMGR reads the PHASE environment variable and


returns its value as a return code. If the environment
variable has been reset or no value has been stored, the
return code is 0.

Using RBSURESET
RBSURESET resets the BIOS settings for a server by reapplying the default factory setting at the
next reboot. RBSURESET does not erase array configurations or logical storage volumes.

Using STATEMGR 25
NOTE: This command is not yet supported on HP ProLiant 100 series servers, but will be in
futures releases.

RBSURESET command-line syntax


rbsureset [/?]

RBSURESET command-line arguments

Command-line argument Description

[/?] This argument displays help information.

RBSURESET return codes

Value Meaning

0 The BIOS settings have been successfully reset.

1 Incorrect command line.

Using BOOTEXTRACT
BOOTEXTRACT is used to extract the boot sector files from Windows Server 2008. These files can
be used later in the installation of Windows Server 2008.

BOOTEXTRACT command-line syntax


bootextract [ufat.dll][ntldr.bss][ntldr2.bss]

BOOTEXTRACT command-line arguments

Command-line argument Description

ufat.dll Full path to the ufat.dll (from Windows 2008) file to extract
the boot sector

ntldr.bss Full path to the output file to save the first part of the boot
sector

ntldr2.bss Full path to the output file to save the second part of the
boot sector

BOOTEXTRACT return codes

Value Meaning

0 The command was completed successfully.

n Any non-0 return code is an error. For details, see the error
message.

26 Scripting Toolkit utilities


Using HPDISCOVERY
HPDISCOVERY provides an inventory of the server being configured and must run on each deployed
server. HPDISCOVERY is executed by the server configuration script and captures the following
information:
• System ID (This field is not supported on 100 series servers)
• System name
• ROM information
• Processor information
• NIC information
• PCI devices present in the system
• HP Smart Array controller information
User process decisions can be made based on data that is in the file created by this utility.

NOTE: Information may not be as detailed on HP ProLiant 100 series servers.

HPDISCOVERY command-line syntax


hpdiscovery [-f filename] [-h]

HPDISCOVERY command-line arguments

Command-line argument Description

-f filename File name of the output file. Defaults to standard out.

-c config_file File name of the configuration file. Defaults to /etc/


hpdiscovery.conf.

-h This argument displays help information.

HPDISCOVERY return codes

Value Meaning

0 The command was completed successfully. A usage


message might appear.

1 The command contained an invalid parameter.

2 Missing plug-in file

3 Failure to save XML file.

4 Failure to load plug-in.

HPDISCOVERY command-line examples

Command-line argument Description

hpdiscovery -f /toolkit/hpdiscovery.xml This command generates the file hpdiscovery.xml in the


/toolkit directory.

Using HPDISCOVERY 27
Using IFHW
IFHW is used from a script file, in conjunction with other utilities, to control the deployment. The
IFHW utility enables you to make intelligent queries against the hardware discovery file. Queries
take the form of a logical expression, and the result of the expression is returned as the return code
of the tool, which the hosting script can use to conditionally perform actions.

IFHW command-line syntax


ifhw [path]hpdiscoveryfilename [path]allboards.xml <expression>

IFHW command-line arguments

Command-line argument Description

[path]hpdiscoveryfilename This argument specifies the hardware discovery file used


to run the query.

[path]allboards.xml This argument specifies the allboards.xml PCI device


list file, which is used to convert PCI IDs found in hardware
discovery into device names, such as "Smart Array 5i
Controller."

<expression> This argument specifies the query expression. See


“Expression operators and terms” (page 28).

IFHW return codes

Value Meaning

0 The expression is true.

1 The expression is false.

2 The expression was not understood or an argument was invalid.

IFHW command-line examples

Command-line argument Description

ifhw hpdiscovery.xml allboards.xml This command returns the following error levels:
"PCI:Smart Array 5i"
• ERRORLEVEL 0 (True) if the Smart Array 5i is present
• ERRORLEVEL 1 (False) if the device is not present
• ERRORLEVEL 2 (Error) if the expression could not be
understood

Expression operators and terms

Operator or term Result

and True if both operands are true

or True if either operand is true

gt True if the first operand is greater than the second

lt True if the first operand is less than the second

gte True if the first operand is greater than or equal to the second

28 Scripting Toolkit utilities


Operator or term Result

lte True if the first operand is less than or equal to the second

eq True if the two operands are equal

neq True if the two operands are not equal

not True if the operand is false

PCI:<string> True if a PCI device whose name includes <string> is found in the hardware discovery file.
<string> is case-sensitive.

HWQ:<string> The hardware discovery file is searched for <string>, and the corresponding value is the value
of this term. <string> is case-sensitive.

<string> A literal string, used for comparison

<number> A literal number, used for comparison

Expression examples

Expression input Result

"PCI:Smart Array 5i" True if the Smart Array 5i Controller is found in the system

HWQ:TotalRAM gte 512 True if the amount of RAM in the hardware discovery file
is at least 512

HWQ:ROMDate neq True if the ROM date in the hardware discovery file is not
"11/12/2004" 11/12/2004

HWQ:SystemName eq True if the system name in the hardware discovery file


"ProLiant DL380 G2" exactly matches "ProLiant DL380 G2"

HWQ:SystemName eq True if the system is a ProLiant DL380 G2 with a Smart


"ProLiant DL380 G2" and "PCI:Smart Array Array 5i Controller present and a ROM date of
5i" and HWQ:ROMDate eq "11/12/2004" 11/12/2004

"PCI:Smart Array 5i" or "PCI:Smart Array True if the system contains a Smart Array 5i Controller or
6i" a Smart Array 6i Controller

Using HWQUERY
HWQUERY is used from a script, in conjunction with other utilities, to control the deployment. The
HWQUERY utility enables you to use data from the hardware discovery file in your own scripts.
HWQUERY cannot alter environment variables directly. To set the variable, the output of HWQUERY
must be used by the hosting script. The most common way to use it is to write the output to an
intermediate script that is subsequently called by the hosting script.

HWQUERY command-line syntax


hwquery [path]hpdiscoveryfilename [path]allboards.xml variable=<string> ...

HWQUERY command-line arguments

Command-line argument Description

[path]hpdiscoveryfilename This argument specifies the hardware discovery file used


to run the query.

[path]allboards.xml This argument specifies the allboards.xml PCI device list


file, which is used to convert PCI IDs found in hardware

Using HWQUERY 29
Command-line argument Description

discovery into device names, such as "Smart Array 5i


Controller."

variable=<string> In this argument, variable is the name of an environment


variable and <string> is a PCI device name or the name
of an element from the hardware discovery file. Arguments
must be in quotes if <string> contains spaces. <string> is
case-sensitive.

... You can specify multiple variable=<string> arguments.

HWQUERY return codes

Value Meaning

0 The command was completed successfully.

n N arguments were ignored because they were not in the


variable=<string> format.

HWQUERY command-line examples

Command-line argument Description

hwquery hpdiscovery.xml allboards.xml For a hpdiscovery.xml file that contains


MY_SYS_RAM=TotalRAM <TotalRAM>768</TotalRAM>, HWQUERY produces
the following:
MY_SYS_RAM=768

hwquery hpdiscovery.xml allboards.xml For a hpdiscovery.xml file that indicates a Smart Array
"TEST=Smart Array" 5i Controller is present, HWQUERY produces the following:
TEST=Smart Array 5i Controller

hwquery hpdiscovery.xml allboards.xml For a hpdiscovery.xml file that contains


MYRAM=TotalRAM MYROMDATE=ROMDate <TotalRAM>768</TotalRAM> and
<ROMDate>11/15/2002</ROMDate>, HWQUERY
produces the following:
MYRAM=768
MYROMDATE=11/15/2002

hwquery hpdiscovery.xml allboards.xml Although the controller is present, HWQUERY produces


"TEST=smart array 5i" the following:
TEST=
This behavior is correct. The string is case-sensitive, and
the argument uses lowercase lettering instead of the
uppercase found in the allboards.xml file.

Using CONREP
The CONREP utility generates a system configuration XML file used to duplicate the hardware
configuration of one HP ProLiant server onto another. The CONREP utility uses the hardware
configuration XML file to identify and configure the system, which defaults to conrep.xml. You

30 Scripting Toolkit utilities


can change the default using the -x option. The actual system configuration file is captured as an
XML data file. The default name is conrep.dat.

CAUTION: Improper modification of the CONREP data files can result in the loss of critical data.
Only experienced users of the Scripting Toolkit should attempt to modify the data files. Because
of the potential risk of data loss, take all necessary precautions to ensure that mission-critical systems
remain online if a failure occurs.
The CONREP utility reads the state of the system environment settings to determine the server
configuration and writes the results to a file that you can edit. The CONREP utility uses the data in
the generated file to configure the target server hardware.
The CONREP utility uses an XML definition file to determine what information to retrieve from and
restore to the server. You can modify this file to update new features or restrict features when
capturing configurations. The default conrep.xml file contains common hardware configuration
settings for most HP ProLiant series servers other than HP ProLiant 100 series servers using the Oxx
ROM family. Some platforms require special settings that are contained in other XML files. These
files are included in the Scripting Toolkit and are available from the HP website at http://
www.hp.com on the support page for each platform. You can use these files with the -x option to
configure systems that are not supported by the default hardware configuration file.
Many fields in the conrep.xml file contain help text that enables you to configure the field
meanings. This information is also added to the conrep.dat file. Hardware features that are not
supported by the existing platform or ROM version appear in the conrep.dat file.

IMPORTANT: The file format for the DOS version of CONREP and the current version of CONREP
are not compatible.

NOTE: Asset Tag Protection - Lock/Unlock cannot be read or changed on the HP ProLiant DL580
Gen8 server using CONREP. To change this feature, use the UEFI System Utilities. For more
information, see the HP UEFI System Utilities User Guide.

CONREP command-line syntax


conrep [-s | -l] [-x hardware_definition_file] [-f system_configuration_file] [-h]

CONREP command-line arguments

Command-line argument Description

-s This argument saves the system configuration to a file.

-l This argument loads the system configuration from a file


and writes it to the target server.

-x filename This argument defines the name and location of the XML
hardware definition file. The default file is conrep.xml.

-f filename This argument defines the name and location of the system
configuration data file. The default file is conrep.dat.

-h This argument displays help information.

Using CONREP 31
CONREP return codes

Value Meaning

0 The command was completed successfully.

1 The hardware definition data file (conrep.xml) is corrupt


or not found.

2 The system configuration data file (conrep.dat) is corrupt


or not found.

4 The system administrator password is set. The settings


cannot be changed unless this password is cleared.

5 The XML hardware definition file (conrep.xml) is corrupt


or not appropriate for the current platform.

6 No XML tag.

7 Invalid command line or usage error .

255 General error. See error message for details.

CONREP screen output


A typical screen output generated by CONREP is similar to the following:
conrep 3.00 3.10 - Scripting Toolkit Configuration Replication Program
Copyright (c) 2007-2012 Hewlett-Packard Development Company, L.P.
System Type: ProLiant DL360 G4
ROM Date: 08/16/2005
ROM Family: P52
XML System Configuration: conrep.xml
Hardware Configuration: demo.dat
File contains global platform restrictions
Global Restriction: [minimumconrepversion] OK
Platform check:
[ProLiant DL3] match
[ProLiant DL5] no match
Saving configuration data to demo.dat.
CONREP Return code: 0

CONREP -s (Store to Data file)


This is an example of usage for HP ProLiant servers not using the Oxx ROM family. To extract the
BIOS settings from an SL160z G6 server and save the configuration to an "sl160zconrep.dat"
data file:
[root@ilo002481b08134 conrep]# ./conrep -s -xconrepSL160zg6_20090728.xml -fsl160zconrep.dat
conrep 3.00 - Scripting Toolkit Configuration Replication Program
Copyright (c) 2007-2012 Hewlett-Packard Development Company, L.P.
System Type: ProLiant SL160z G6
ROM Date : 07/28/2009
ROM Family : O33
Processor Manufacturer : Intel
XML System Configuration : conrep_SL160zg6_20090728.xml
Hardware Configuration : sl160zconrep.dat

32 Scripting Toolkit utilities


Saving configuration data to sl160zconrep.dat.
CONREP Return code: 0

NOTE: The file names after the -x and -f options must be specified, otherwise, the default file
names conrep.xml and conrep.dat are used, respectively.

NOTE: A platform specific XML file needs to be used for HP ProLiant 100-series servers. If you
use the default name this may cause an error while running the CONREP utility.

CONREP –l (Load from Data File)


This is an example of usage for HP ProLiant servers not using the Oxx ROM family. To load the
BIOS configuration settings from a previously captured/edited data file (in this case
“sl160zconrep.dat”) to an SL160z G6 server:
[root@ilo002481b08134 conrep]# ./conrep -l -xconrepSL160zg6_20090728.xml -fsl160zconrep.dat
conrep 3.00 - Scripting Toolkit Configuration Replication Program
Copyright (c) 2007-2012 Hewlett-Packard Development Company, L.P.
System Type: ProLiant SL160z G6
ROM Date : 07/28/2009
ROM Family : O33
Processor Manufacturer : Intel
XML System Configuration : conrep_SL160zg6_20090728.xml
Hardware Configuration : sl160zconrep.dat
Loading configuration from sl160zconrep.dat.
ASM values not set! aborting
CONREP Return code: 0

CONREP Data File Sample Contents for HP ProLiant servers not using the Oxx ROM
family
A typical data file generated by CONREP is similar to the following:
<Conrep_data>
<Section name="Controller_Order">
<Id0>0e 11 40 80 </Id0>
<Slot0>00 </Slot0>
<BusDev0>00 08 </BusDev0>
<Rest0>01 </Rest0>
<Id1>0e 11 ff ff </Id1>
<Slot1>00 </Slot1>
<BusDev1>00 78 </BusDev1>
<Rest1>c1 </Rest1>
</Section>
<Section name="Language">ENGUSAus </Section>
<Section name="System_WOL">Disabled</Section>
<Section name="System_APIC">Auto Set</Section>
<Section name="System_COMA">COM1</Section>
<Section name="System_COMA_IRQ">IRQ4</Section>
<Section name="System_COMB">Disabled</Section>
<Section name="System_COMB_IRQ">Undefined</Section>
<Section name="System_LPT">LPT1</Section>
<Section name="System_LPT_IRQ">IRQ7</Section>

Using CONREP 33
<Section name="Diskette_Write_Control">Writes_Enabled</Section>
<Section name="NMI_Debug_Button">Disabled</Section>
<Section name="ACPI_Power_Button">Disabled</Section>
<Section name="ASR">Disabled</Section>
<Section name="ASR_Timeout">10 Minutes</Section>
<Section name="Thermal_Shutdown">Enabled</Section>
<Section name="RBSU_Language">01</Section>
<Section name="PXE_NIC1">Disabled</Section>
<Section name="PXE_NIC2">Disabled</Section>
<Section name="BIOS_Console">Disabled</Section>
<Section name="EMS_Console">Disabled</Section>
<Section name="Diskette_Boot">Enabled</Section>
<Section name="NumLock">On</Section>
<Section name="POST_Speed_Up">Enabled</Section>
<Section name="Integrated_Diskette_Controller">Enabled</Section>
<Section name="PCI_Bus_Reset">Enabled</Section>
<Section name="Hot_Plug_Reservation">Auto Set</Section>
<Section name="Memory_Protection">Standard ECC Protection</Section>
</Conrep_data>

CONREP command file contents for HP ProLiant servers not using the Oxx ROM
family
A typical data file generated by the CONREP command is similar to the following:
<?xml version="1.0" encoding="UTF-8"?>
<!--generated by conrep version 3.10-->
<Conrep version="3.00"
originating_platform=
"ProLiant DL360 G4"
originating_family=
"P52"
originating_romdate=
"08/16/2005">
<Section name="IPL_Order"
helptext=
"Current Initial Program Load device boot order">
<Index0>00 </Index0>
<Index1>01 </Index1>
<Index2>03 </Index2>
<Index3>02 </Index3>
<Index4>04 </Index4>
<Index5>ff </Index5>
<Index6>ff </Index6>
<Index7>ff </Index7>
</Section>
<Section name="PCI_Devices"
helptext=
"Lists of PCI devices and their interrupts-not displayed if default" >EMPTY_DELETE</Section>
<Section name="Controller_Order"

34 Scripting Toolkit utilities


helptext=
"Lists the current boot controller ordering">
<Id0>80 86 25 a3 </Id0>
<Slot0>00 </Slot0>
<BusDev0>00 fa </BusDev0>
<Rest0>41 </Rest0>
<Id1>0e 11 ff ff </Id1>
<Slot1>00 </Slot1>
<BusDev1>00 78 </BusDev1>
<Rest1>c1 </Rest1>
</Section>
</Conrep>

Using HPRCU
HPRCU is an RBSU configuration utility similar to CONREP. This utility is supported on all HP
ProLiant Gen8 servers except the HP ProLiant DL580 Gen8 server. This utility does not use a
definition XML file like the CONREP utility, but directly reads the same table that RBSU uses for
feature names and settings. All features and options are number based. Each feature and option
has a unique number.
Using HPRCU has the following features:
• All system ROM settings and the current selections are listed together in one output/input XML
file.
• No updated binary or XML file is needed when BIOS adds or changes features. HPRCU now
reads the same tables that RBSU does, which are located in the memory at system boot. When
the BIOS changes or adds a new setting, no update to HPRCU is needed.
• The HPRCU XML file shows the default settings for each RBSU option.
HPRCU is not supported on UEFI-based ProLiant servers. Instead, use CONREP.

HPRCU command-line syntax


hprcu -s | -l | —r [-f file.xml ] [ -h ]

HPRCU command line arguments

Command line argument Description

-s This argument saves the system configuration to a file.

-l This argument loads the system configuration from a file


and writes it to the target server.

-f {file.xml} Name of the input or output file. If not specified, the XML
configuration defaults to hprcu.xml.

-h This argument displays program usage.

-t Outputs the help and warning text for each feature. Only
valid with the -s option.

-r Saves or loads raw data features, such as IPL, PCI devices,


controller order) Must be applied to identical systems.

Using HPRCU 35
HPRCU return codes

Command line argument Description

0 The command was completed successfully.

1 The server is not supported by this utility.

2 The input XML file is missing or is in an invalid format.

3 One of the dependencies is missing. See the error message


for details.

4 The system RBSU password is set. The settings cannot be


changed until the password is cleared from within RBSU.

5 An error occurred reading the supported features on the


server.

6 Invalid command line syntax. Use the -h parameter for


complete command line parameters.

7 A general error occurred saving or loading the server


settings. See the error message for details.

HPRCU sample XML format


A sample XML format generated by HPRCU is similar to the following:
<hprcu>
<informational>
<product name>ProLiant DL380 Gen8</product_name>
<system_rom_family>P64</ system_rom_family >
<system_rom_date>11/01/2011</system_rom_date>
</informational>
<feature feature_id='176' selected_option_id='2' default_option_id=’1’ feature_type='option'>
<feature_name>Intel(R) Hyperthreading Options</feature_name>
<option option_id='1'><option_name>Enabled</option_name></option>
<option option_id='2'><option_name>Disabled</option_name></option>
</feature>
<feature feature_id='100' feature_type=’string’>
<feature_name>Server Name - Line 1</feature_name>
<feature_value>SERVERNAME</feature_value>
</feature>
</hprcu>

Using HPSSASCRIPTING
Starting with version 8.28.13.0, HP SSA Scripting is now a standalone application that is distributed
with the HP SSA CLI application. In HP SSA versions prior to 8.28.13.0, the scripting executable
was provided with the HP SSA GUI component.
For more information, see the Configuring Arrays on HP Smart Array Controllers Reference Guide
on the HP website at http://www.hp.com/support/CASAC_RG_en.
Users familiar with the previous versions of HP SSA Scripting must now install the HP SSA CLI
application to obtain the scripting executable. The new HP SSA scripting executable
(hpssascripting) replaces the former executable (cpqssaxe) in all scripts.

36 Scripting Toolkit utilities


The HP SSA Scripting application has two scripting modes:
• Capture mode for capturing a configuration (page 37)
HP SSA inspects the configuration of all internal and external array controllers connected to
the server and then writes a script file describing this configuration.
• Input mode for using an Input script (page 37)
HP SSA reads the array configuration described in a specified script file. See “Creating an HP
SSA script file” (page 38). HP SSA then applies this configuration to a target system.

NOTE: For a complete list of all command-line parameters, execute the /h utility.

Capturing a configuration
To capture the configuration of a system, enter the following command at the system command
line prompt:
hpssascripting -c [drive:][path] OUTPUTFILENAME.ext [-internal |
-external] -e [drive:][path]ERRORFILENAME.ext
OUTPUTFILENAME is the name of the capture file, and ext. is the file extension. If you do not
specify a name and location for this file, HP SSA uses the default name HPSSAOUTPUT.ini and
places the file in the HP SSA working directory.
The -internal and -external switches limit capture to internal or external controllers.
The -e switch information is used only if HP SSA must generate an error file. By default, HP SSA
names the error file ERROR.ini and places it in the HP SSA working directory.

Using an Input script


To use an Input script to configure or reconfigure a system, first locate a suitable HP SSA script or
see “Creating an HP SSA script file” (page 38).
Then, enter the following command at the system command line prompt:
hpssascripting -i [drive:][path]FILENAME.ext [-internal | -external]
[-reset] -e [drive:][path]ERRORFILENAME.ext
FILENAME is the name of the HP SSA input file, and ext is the file extension. If you do not specify
the name and location of this file, HP SSA searches for HPSSAINPUT.ini in the HP SSA working
directory.
The -internal and -external switches limit configuration operations to internal or external
controllers.
The -reset flag destroys any existing data and overwrites the current configuration with the
configuration specified in the script.
The -e switch information is used only if HP SSA must generate an error file. By default, HP SSA
names the error file ERROR.ini and places it in the HP SSA working directory.

Using HPSSASCRIPTING 37
Creating an HP SSA script file
To create a valid HP SSA script file, use one of the following methods:
• Modify the sample custom input script (page 38).
• Create a Capture file for capturing a configuration (page 37).
You can create a capture file from any server that has HP SSA loaded, and then modify the
values of options in the file as necessary for the target system. This method is useful for applying
a standard configuration to several servers that have similar storage resources.
• Write an original script.
Each line of text in an HP SSA script file is in the format option = value and can be written
in uppercase or lowercase letters. For information about possible option values and the
minimum configuration information that a valid script must have, see “Sample custom input
script” (page 38).
You can add blank lines and comments to any script to make it easier to read and understand. To
create a comment, enter a semicolon, and then enter the comment text. HP SSA ignores all text on
the same line after a semicolon.

Sample custom input script


The sample script in this section gives all possible values for each option.
• If an option is shown in bold type, you must enter a value for that option when writing your
own script.
• If a value is shown in bold type, HP SSA uses that value as a default setting when creating
new logical drives.
You can use this script as a template for your own script. The Control category has the following
options:
• Action mode
• Method mode
Action = Configure|Reconfigure
Method = Custom|Auto ; COMMENT: HP SSA cannot create a RAID 50 or
RAID 60 configuration in Auto mode. You must create such
configurations manually using the Custom setting.
Controller = All | First | Slot [N][:N]| WWN [N]| SerialNumber [N]|
IOCabinet [N],IOBay [N],IOChassis [N],Slot [N],Cabinet [N],Cell [N]
ClearConfigurationWithDataLoss = Yes|No ; COMMENT: This option is now
deprecated.
LicenseKey = XXXXX-XXXXX-XXXXX-XXXXX-XXXXX
DeleteLicenseKey = XXXXX-XXXXX-XXXXX-XXXXX-XXXXX | * ; COMMENT: *
is a wild card that enables you to delete all license keys on the
specified controller.
RAIDArrayID = “XXXXXXXXXXXXXXXXXXXX”
ReadCache = 0|10|20|25|30|40|50|60|70|75|80|90|100
WriteCache = 0|10|20|25|30|40|50|60|70|75|80|90|100
RebuildPriority = Low|Medium|High
ExpandPriority = Low|Medium|High
SurfaceScanDelay = N
SSPState = Enable|Disable

38 Scripting Toolkit utilities


PreferredPathMode = Auto|Manual
; COMMENT: the following five entries are used to optimize the
controller performance for video
MNPDelay = 0|1|2|...|60 ; units are minutes, zero indicates disabled
IRPEnable = Yes|No
DPOEnable = Yes|No
ElevatorSortEnable = Yes|No
QueueDepth = 2|4|8|16|32|Auto
Array = A|B|C|D|E|F|G|...Z|a|b|c|d|e|f
OnlineSpare = None | N | Port:ID,Port:ID... | Box:Bay,Box:Bay... |
Port:Box:Bay,Port:Box:Bay,... ; COMMENT: These values are available
only in Custom method mode. In Auto method mode, the choices are
Yes|No.
Drive = * | N | Port:ID,Port:ID... | Box:Bay,Box:Bay... |
Port:Box:Bay,Port:Box:Bay,...
DriveType = SCSI | SAS | SATA
LogicalDrive = 1|2|3|...32
RAID = 0|1|5|50|6|60|adg|auto ; COMMENT: RAID 6 and 60 are only
available when SAAP is installed and the license key registered
ParityGroups = 2|N ; COMMENT: Necessary only for RAID 50 or 60. N
> 2
Size = [N]|Max
Sectors = 32|63
StripeSize = 8|16|32|64|128|256
ArrayAccelerator = Enable|Disable
LogicalDriveSSPState = Enable|Disable
SSPAdaptersWithAccess = [N],[N]...|None
PreferredPath = 1|2
HBA_WW_ID = WWN
ConnectionName = UserDefinedName
HostMode = Default | Windows | Windows(degrade | openVMS | Tru64 |
Linux | Solaris | Netware | HP | Windows Sp2 ; COMMENT: The
Windows(degrade value must be entered as written.

Script file options


Options in HP SSA script files are divided into the following categories:
• “Control category” (page 40)
• “Controller category” (page 41)
• “Array category” (page 44)
• “Logical Drive category” (page 45)
• “HBA category” (page 47)
Each category has several scripting options, but you do not always need to assign values to every
option. HP SSA can use default values in some instances, while in other instances, a listed option
might not be relevant for a particular configuration or scripting mode.

Using HPSSASCRIPTING 39
The options for each category are listed in the following table and described in more detail in the
remainder of this section.

Category Options Description

Control Action Use these options to define the overall behavior of HP SSA when it
Method processes scripts and creates configurations. Control options can occur
only once in a script file and must be listed first.

Controller Controller Use these options to specify the controller you are configuring (or the
ChassisName controller that had its configuration captured). Although the Controller
option must begin this section of the script, you can script other options in
ClearConfigurationWithDataLoss this category in any order.
DeleteLicenseKey You can use one script file to configure all controllers in a system, and you
DPOEnable can configure the controllers identically or individually. If you define each
controller configuration individually, enter the option values for one
ElevatorSortEnable
controller and its arrays and logical drives before specifying the option
ExpandPriority values for another controller.
IRPEnable
LicenseKey
MNPDelay
PreferredPathMode
QueueDepth
ReadCache
RebuildPriority
SSPState
SurfaceScanDelay
WriteCache

Array Array Use these options to describe an array you are configuring on the controller
Drive previously specified in the script. (If no controller was previously specified,
HP SSA stops processing the script and creates an error file.) Although the
DriveType Array option must begin this section of the script, you can script the other
OnlineSpare options in this category in any order.

Logical ArrayAccelerator Use these options to describe a logical drive you are configuring on an
Drive LogicalDrive array previously specified in the script. (If no array was previously
specified, HP SSA stops processing the script and creates an error file.)
LogicalDriveSSPState Although the LogicalDrive option must begin this section of the script, you
ParityGroups can script the other options in this category in any order.
PreferredPath
RAID
Sectors
Size
SSPAdaptersWithAccess
StripeSize

HBA ConnectionName Use these options to specify an HBA you are configuring.
HBA_WW_ID
HostMode

Control category
The Control category has the following options:
• “Action mode” (page 41)
• “Method mode” (page 41)

40 Scripting Toolkit utilities


Action mode
You must specify an Action mode:
• In Configure mode, you can create new arrays, but you cannot modify existing arrays. The
controller must be connected to unassigned physical drives for this mode to be available.
• In Reconfigure mode, you can modify existing arrays. For example, you can set up an array
expansion, a logical drive extension, or a migration. These procedures do not destroy data,
unless you specifically want the data to be deleted. In this mode, HP SSA does not change
an existing option setting unless you specifically script a different value for that option.

Method mode
The default value for Method mode is Auto. If you want to use Custom mode, you must specify it.
In Auto mode, HP SSA can perform an expansion, extension, or migration without user intervention
if the values that you set for other options imply that such an operation is necessary.

Controller category
The Controller category has the following options:
• Controller (page 41)
• ChassisName (page 42)
• ClearConfigurationWithDataLoss (page 42)
• DeleteLicenseKey (page 42)
• DPOEnable (page 43)
• ElevatorSortEnable (page 43)
• ExpandPriority (page 43)
• IRPEnable (page 43)
• LicenseKey (page 42)
• MNPDelay (page 43)
• PreferredPathMode (page 42)
• QueueDepth (page 43)
• ReadCache (page 42)
• RebuildPriority (page 43)
• SSPState (page 43)
• SurfaceScanDelay (page 43)
• WriteCache (page 42)

Controller
You must enter a value for this option because it identifies the controller that you want to configure:
• All—Configure all detected controllers in the system.
• Slot [N][:M]—Configure the internal controller in slot number N, or the external controller
at port M in slot N.
• WWN [N]—Configure the external controller that has the World Wide Name N.
• SerialNumber [N]—Configure the shared storage controller that has serial number N.
• IOCabinet[N],IOBay[N],IOChassis[N],Slot[N],Cabinet[N],Cell[N]—Configure
the controller in the Integrity server that has the slot path information defined by this sequence
of identifiers.

Using HPSSASCRIPTING 41
ChassisName
Enter the user-defined character string that identifies the controller. You can use any of the following
characters in the string:
a–z, A–Z, 0–9, !, @, #, *, (, ), ,, -, _, +, :, ., /, [space]
You do not need to use quotation marks around the string, but doing so allows the string to begin
with a space character. However, the string cannot end with a space character.
Currently, only shared-storage controllers such as the RA4x00, MSA1000, and Smart Array Cluster
Storage support the ChassisName option. The RA4x00 controller uses a 24-character string, while
other applicable controllers use a 20-character string.

ClearConfigurationWithDataLoss
This command is now deprecated.
The default value for this option is No. Clearing the configuration causes data loss because it
deletes all logical volumes and arrays on the controller. If you clear a configuration, you can write
commands later in the script file to create a new configuration from the liberated drive capacity.

LicenseKey, DeleteLicenseKey
These options enable you to enter a 25-character license key to activate or uninstall some controller
features. Hyphens can be entered, but are not required.

PreferredPathMode
The setting that you select for this option determines how the preferred I/O path to a particular
logical drive is set for a redundant array controller that is in an active/active configuration.
Not all controllers support this feature, and controllers in an active/standby configuration disregard
this option.
• Auto is the default setting for new configurations. In this case, the storage system automatically
selects the I/O path from the redundant controller to the logical drive and dynamically load
balances all paths.
• Manual enables you to assign the logical drive to a specific redundant controller. If you select
this setting, use the PreferredPath command to specify the path.
If you are reconfiguring a controller and do not specify a setting for this option, the existing setting
remains the same.

ReadCache, WriteCache
Enter a number between 0 and 100 to specify the percentage of cache to be allocated to drive
reads or writes. The default value for both options is 50.
The allowable cache ratios depend on the controller model and whether it has battery-backed
write cache, as described in the following table.
A "+" indicates that the specified cache ratio is allowed for that type of controller, while a "–"
indicates that the ratio is not allowed.

Read:write ratio RA4x00 with 16MB RA4x00 with 48MB All other controllers All other controllers
cache cache with battery-backed without
write cache battery-backed write
cache

100:0 + + + +

90:10 + + – –

80:20 + + – –

75:25 – – + –

42 Scripting Toolkit utilities


Read:write ratio RA4x00 with 16MB RA4x00 with 48MB All other controllers All other controllers
cache cache with battery-backed without
write cache battery-backed write
cache

70:30 + + – –

60:40 + + – –

50:50 + + + –

40:60 – + – –

30:70 – + – –

25:75 – + + –

0:50* + – – –

0:75* – + – –

0:100 – – + –

* The cache ratio percentages do not total 100 in these cases because the additional 16-MB or
48-MB cache modules are not used. Only the battery-backed write cache is used.

RebuildPriority, ExpandPriority
These options have three possible values: Low, Medium, and High.

SSPState
There are two settings for this option: Enable and Disable. If you do not specify a value for the
SSP State, the existing setting remains the same.

NOTE: The SSPState option is valid only for controllers that enable SSP on a controller basis,
such as the MSA1000 or the Smart Array Cluster Storage controllers. RA4x00 controllers support
SSP that is enabled on a logical drive basis, and use the LogicalDriveSSPState option (page 45)
instead.
If you enable SSP, you must also specify an adapter for one or more logical drives by using the
SSPAdaptersWithAccess option (page 47). Otherwise, SSP is automatically disabled.

SurfaceScanDelay
Enter a number between 1 and 30 to specify the duration of the surface scan delay in seconds.

Video performance options


To optimize the controller performance for video, set values for the following options as indicated:
DPOEnable = No
ElevatorSortEnable = Yes
IRPEnable = No
In addition, do the following:
• Set the MNPDelay to any integer value from 1 to 60 (units are minutes). If you want to disable
this option, set a value of zero instead.
• Set the QueueDepth to any integer value from 2 to 32, or to Auto.

Using HPSSASCRIPTING 43
Array category
The Array category has the following options:
• “Array” (page 44)
• “Drive” (page 44)
• “DriveType” (page 44)
• “OnlineSpare” (page 45)

Array
Enter a letter or pair of letters to identify the array you are creating or reconfiguring, and observe
these additional limitations:
• In Configure mode, HP SSA creates a new array. The value that you specify for the array
option must be the next available letter or pair of letters in the sequence, according to the
number of existing arrays on the controller. AA follows Z, and BA follows AZ.
• In Reconfigure mode, HP SSA can either create a new array or reconfigure an existing array.
In this case, the value that you specify can identify an existing array, or it can correspond to
the next available array letter or pair of letters in the existing configuration.

Drive
You can use this option to add a drive to an existing array (to expand an array) or to build a new
array. If you are expanding an array, each drive that you add must have a capacity no less than
that of the smallest drive already in the array. The added and existing drives in the array must all
be the same type (for example, SAS or SATA).
If the value of the ClearConfigurationWithDataLoss option is Yes, you can use the Drive
option to remove drives from an array. However, the ClearConfigurationWithDataLoss
option is now deprecated.
If you use Auto method mode, HP SSA configures all the available drives on the controller into one
array. If the drives are of different capacities, HP SSA determines the capacity of the smallest drive
and uses the same amount of space on all other available drives.
If you use Custom method mode, choose one of the following methods to specify the drives to be
used in the array. Different arrays on the same controller can use different methods.
• To specify individual drives, use the applicable convention (port:ID, box:bay, or port:box:bay).
• To specify only the number of drives to use (not which specific drive IDs to use), enter that
number as the value for this option. For example, if you enter drive=3, HP SSA uses the
first three available drives to build or expand the array that you define in the remainder of
the script. HP SSA automatically determines which drives are suitable to use.
• To use all available drives, enter an asterisk as the value for this option. An array that is
configured using this method cannot have a spare.

DriveType
The value that you enter for this option specifies the type of drive (SAS, SATA, or parallel SCSI)
that HP SSA must use to build the array.

44 Scripting Toolkit utilities


OnlineSpare
The value for this option determines whether the array specified previously in the script will be
configured with spare drives.

Method mode Possible values Default value

Custom To specify exactly which drives to use as spares, In Configure action mode: None.
use the applicable convention (port:ID, box:bay, In Reconfigure action mode, HP SSA ignores any
or port:box:bay). value entered for this option and keeps any spares
To specify only the number of spares (not the that are already present in the configuration.
exact IDs), enter that number as the value for this
option. HP SSA automatically selects only those
drives that are suitable for the array.
To specify that the array should not have spares,
enter None.

Auto Yes (indicating one spare) In Configure action mode: Yes (indicating one
No spare).
In Reconfigure action mode, HP SSA ignores any
value entered for this option and keeps any spares
that are already present in the configuration.

Logical Drive category


The Logical Drive category has the following options:
• “ArrayAccelerator” (page 45)
• “LogicalDrive” (page 45)
• “LogicalDriveSSPState” (page 45)
• “ParityGroups” (page 46)
• “PreferredPath” (page 46)
• “RAID” (page 46)
• “Sectors” (page 46)
• “Size” (page 46)
• “SSPAdaptersWithAccess” (page 47)
• “StripeSize” (page 47)

ArrayAccelerator
This option specifies whether the array accelerator is enabled or disabled for the specified logical
drive. The default value is Enabled.

LogicalDrive
The value that you enter for this option specifies the ID number of the logical drive that is to be
created or modified. The first logical drive on an array must have an ID of 1 (not 0), and logical
drive numbering must be contiguous.
• In Configure action mode, HP SSA accepts only the ID number of the next possible logical
drive.
• In Reconfigure action mode, HP SSA also accepts the ID number of any existing logical drive.

LogicalDriveSSPState
This option is valid only for controllers that enable SSP on a logical drive basis. Other controllers
that support SSP use the SSPState option (page 43).

Using HPSSASCRIPTING 45
The following defaults apply:
• For new logical drives, the default value is Disabled.
• For existing logical drives, the default value is the current logical drive setting.

ParityGroups
When you create a RAID 50 or RAID 60 configuration, you must also set the number of parity
groups.
You can use any integer value greater than 1 for this setting, with the restriction that the total
number of physical drives in the array must be exactly divisible by the number of parity groups.
The maximum number of parity groups possible for a particular number of physical drives is the
total number of drives divided by the minimum number of drives necessary for that RAID level (three
for RAID 50, four for RAID 60).

PreferredPath
If you select the Manual setting for PreferredPathMode, use the PreferredPath command
to specify the path for I/O to the logical drive on a redundant controller in active/active mode.
The default setting for this option is 1. With this setting, the controller in chassis slot 1 is the preferred
controller for I/O to the logical drive. If you select 2, the controller in chassis slot 2 becomes the
preferred controller for the logical drive.
To determine the chassis slot numbers, use the show command on a controller that supports
redundant controllers.

RAID
The value that you enter for this option specifies the RAID level of the logical drive.
• When the Action mode is Configure, and the Method mode is Auto, HP SSA automatically
selects the highest RAID level that the controller and drive configuration can support except
RAID 50 or RAID 60. To specify RAID 50 or 60 for a controller that supports either of these
RAID levels, use the Custom setting. In this case, you must also specify the number of parity
groups (page 46).
• When the Action mode is Reconfigure, the default value is the existing RAID level for that
logical drive. If you specify a different RAID setting, then HP SSA either ignores the new setting
(when Method mode is Auto), or attempts to migrate the logical drive to the specified RAID
level (when Method mode is Custom).

Sectors
This option specifies the number of sectors that are to comprise each track. Enter 32 to disable
MaxBoot or 63 to enable it.
• For new logical drives, the default setting is 63 if the logical drive is larger than 502 GB.
Otherwise, the default setting is 32.
• For an existing logical drive, the default setting is the existing setting.
Logical drive performance is likely to decrease with MaxBoot enabled.

Size
Enter the capacity that you want the logical drive to have, in megabytes. The default size setting
for new logical drives is MAX. In this case, HP SSA creates a logical drive of the maximum possible
size from the physical drives that you assigned to the array.
In Reconfigure mode, the default setting is the existing size of the logical drive. If you enter a larger
value, HP SSA extends the logical drive to the new size if there is unused drive capacity on the

46 Scripting Toolkit utilities


same array, as long as the operating system supports logical drive extension. You cannot reduce
the size of the logical drive.

CAUTION: Back up all data before extending a logical drive.

SSPAdaptersWithAccess
Enter values here to identify the SSP adapters that you want to have access to a logical drive. The
values are processed only if either SSPState or LogicalDriveSSPState is set to Enable. Otherwise,
the values are ignored.

NOTE: Be sure that every HBA in the system has access to the logical drives for which multi-path
will be used.

StripeSize
You can enter a numerical value for this option to specify the size of the data stripes (in kilobytes),
or you can leave this option blank and allow HP SSA to use a default value.
The valid stripe size values depend on the RAID level.
• For RAID 0, RAID 1, or RAID 1+0 arrays, you can enter any of the stripe size values listed in
the sample script.
• For RAID 5 arrays, the maximum stripe size in most cases is 256 KB, but old controller models
are often limited to 64 KB.
• For RAID 6 arrays, the maximum stripe size is either 64 KB or 256 KB, depending on the
controller.
The default stripe size value depends on the action mode.
• In Configure action mode, the default value is determined by the RAID level that you specified
earlier in the script. In some cases, it also depends on the HP SSA version, the controller model,
and the controller firmware version.
◦ For RAID 0, RAID 1, or RAID 1+0, the default value is 128 KB.

◦ For RAID 5, the default value is usually 64 KB, but on some controller models it is 16 KB
or 128 KB.
◦ For RAID 6, the default value is usually 16 KB, but on some controller models it is 64 KB
or 128 KB.
• In Reconfigure action mode, the default value for this option is the stripe size that is already
configured for the logical drive. If you enter a value that is different from the existing stripe
size, HP SSA attempts to migrate the logical drive to the stripe size that you specify. (If you
intend to migrate the logical drive, back up all data before starting the migration procedure.)

HBA category
The HBA category has the following options:
• “ConnectionName” (page 47)
• “HBA_WW_ID” (page 48)
• “HostMode” (page 48)

ConnectionName
This option is a user-defined string used as the connection name for the specified HBA.

Using HPSSASCRIPTING 47
The string can consist of the following:
• A maximum of 16 characters
• Embedded space characters but cannot end with a space character
• Any of the following characters: a–z, A–Z, 0–9, !, @, #, *, (, ), -, _, +, :, ., /, and [space]

HBA_WW_ID
This option specifies which HBA, based on its assigned WWN, is modified by the configuration
changes.

HostMode
This option specifies the HostMode for a selected HBA. Setting the Host Mode optimizes the storage
array for the selected operating system. The available host modes for an HBA are device-specific.
Not all modes are available on all devices. Not all HBAs support a HostMode.
The following operating system options might be available:
• Default
• Microsoft Windows
• OpenVMS
• Tru64
• Linux
• Solaris
• Netware
• HP-UX

HP SSA scripting error messages

Error code Error message Comment or clarification

1 General error. The HP SSA process cannot be initiated. You might see this
error message if you are not authenticated to use HP SSA or
if HP SSA is already running.

268 Error saving controller. HP SSA cannot save one or more controller configurations.

278-282 Controller is locked by another machine or —


user.

290 Error communicating with controller. —

516 Internal error. An error occurred during the configuration process, but HP
SSA cannot identify the error because there is an internal HP
SSA error.

1052 Array requires an odd number of drives. This error message occurs if you attempt to add an odd
number of drives to an array that has RAID 1 logical drives,
and the controller does not support RAID-level migration.

1053 Cannot remove physical drives from This error message occurs if a script that is running in
existing array. Reconfigure action mode lists fewer physical drives than
already exist in the array. HP SSA interprets this script as a
request to remove physical drives from an existing array, but
satisfying this request causes data loss, so HP SSA prevents
the script from running.

1065-1066 Too many coinciding expansion, migration, HP SSA does not support multiple simultaneous expansions,
or extension operations. migrations, or extensions without saving the configuration

48 Scripting Toolkit utilities


Error code Error message Comment or clarification

between operations. Limit the number of such configuration


changes in the script.

1091 Controller does not support SSP. —

1093 Controller requires physical drives to set —


license keys.

1102 Slot information is not available. You cannot run a script in Input mode on internal controllers
that do not have slot information online. Systems running
Microsoft Windows must have the System Management Driver
loaded.

1110 Controller does not support license keys. —

1111 Invalid license key. —

1112 Controller has maximum number of license —


keys.

1114 Controller requires non-failed physical —


drives to set license keys.

2564 Controller is locked by another machine or —


user.

2818 Invalid Method. The scripted Method value is not valid.

2819 Invalid Controller. The scripted controller does not match any existing controllers.

2820 Could not detect controller <text>. —

2821 No controllers detected. This error applies to Input mode only. If no controllers are
detected in Capture mode, the capture file is empty.

2822 Invalid read cache/write cache ratio. The specified cache ratio is not supported by either the
controller or the current controller configuration.

2823 Invalid rebuild priority. —

2824 Invalid expand priority. This error message appears if the expand priority value
specified in the script is not supported. This message also
appears if expansion is not possible because the Expand
Priority feature is then not supported. Expansion might be
temporarily unavailable on a controller that normally supports
expansion if, for example, the cache battery has low charge,
another expansion or migration is already in progress, or the
array has the maximum supported number of physical drives.

2825 Invalid array. The array ID is invalid.

2826 Array not specified. The script file has commands that require an array, but no
array is specified.

2827 New array ID does not match the next The scripted array ID is not the next ID in sequence, based
available array ID. on the IDs of the existing arrays. For example, only array A
exists and the script file specifies creation of array C (omitting
array B).

2828 New array ID already exists. This error occurs in Configure mode when the array ID
specified in the script file already exists in the configuration.
In Configure mode, you can create only new arrays.

2829 Cannot create array. The controller has no unassigned physical drives, or it already
has the maximum number of arrays or logical drives.

2830 Cannot expand array. The controller does not support expansion, or the current
controller configuration is not expandable.

Using HPSSASCRIPTING 49
Error code Error message Comment or clarification

2831 Cannot change array spare. This error message appears if you try to change the number
of spares in an array when the configuration does not support
the addition or subtraction of spares.

2832 Invalid physical drive. A specified physical drive is not a valid physical drive, or it
cannot be placed in the array.

2833 Invalid spare. A specified spare is not a valid spare drive, or it cannot be
placed in the array as a spare.

2834 Invalid logical drive. —

2835 Logical drive not specified. The script file has commands that require a logical drive, but
no logical drive is specified.

2836 New logical drive ID does not match the The script file specifies a logical drive ID that is not the first
next available logical drive ID. unused ID in the sequence. For example, this message
appears if the controller has only logical drive 1 and the
script file specifies creation of logical drive 3 (omitting logical
drive 2). A common cause of this error is that the input file
specifies non-sequential logical drive numbers. In this case,
change the logical drive numbers in the input file so that they
are sequential.

2837 New logical drive ID already exists. This error occurs in Configure mode when the logical drive
ID specified in the script file already exists in the
configuration. In Configure mode, you can create only new
logical drives.

2838 Cannot create logical drive. The array has no free space, or the maximum number of
logical drives has already been reached.

2839 Cannot migrate logical drive RAID. The controller does not support RAID migration, or migration
is not possible with the current controller configuration.

2840 Cannot migrate logical drive stripe size. The controller does not support stripe size migration, or
migration is not possible with the current controller
configuration.

2841 Cannot extend logical drive. The controller does not support extension, or the current
controller configuration cannot be extended. For example,
extension is not possible if the array has no free space.

2842 Invalid RAID. The specified RAID level is invalid or is not possible with the
current configuration.

2843 Invalid size. The specified size is invalid or is not possible with the current
configuration.

2844 Invalid stripe size. The specified stripe size is invalid, or not supported by the
current RAID level, or not possible with the current
configuration.

2845 Invalid sectors. The specified MaxBoot setting is invalid or is not possible
with the current configuration.

2846 Cannot change logical drive sectors. You cannot change the MaxBoot setting on a configured
logical drive because doing so causes data loss.

2847 Invalid array accelerator setting. The specified array accelerator setting is invalid or is not
supported by the current configuration.

2848 Cannot change logical drive array You cannot change the array accelerator setting for the
accelerator setting. current controller configuration.

2849 Invalid ClearConfigurationWithDataLoss —


parameter.

2850 Controller does not support RAID Array ID. —

50 Scripting Toolkit utilities


Error code Error message Comment or clarification

2851 Invalid RAID Array ID. The scripted RAID Array ID is invalid. Use characters from
the set a–z, A–Z, 0–9, !, @, #, *, (, ), ,, -, _, +, :, ., /, and
[space]. The ID cannot end with a space character or exceed
the maximum number of characters allowed by the controller.

2852 Invalid SSP state. —

2853 Cannot change SSP settings. —

2854 Invalid SSP adapter ID. —

2855 Controller does not support logical drive —


SSP states. Use the SSPState controller
command to set the controller SSP state.

2856 Controller does not support controller SSP —


state. Use the LogicalDriveSSPState logical
drive command to set SSP states for each
logical drive.

2857 Invalid surface scan delay. —

2861 Controller does not support redundancy The controller is not redundant or does not support
settings. redundancy settings.

2864 Invalid preferred path mode. The specified value for the preferred path mode is not valid,
or the controller is not available.

2865 Invalid preferred path. The specified preferred path is not a valid chassis slot for an
available active controller, or the controller is not available.

2866 Failure opening capture file <text>. —

2867 Failure opening input file <text>. —

2868 Failure opening error file <text>. —

2869 <text> command expected. The <text> command is missing or in the wrong place in the
script file.

2870 <text> is not a supported command. —

2871 <text> is not a Controller command. The <text> command does not belong in the Controller section
of the script file.

2872 <text> is not an Array command. The <text> command does not belong in the Array section
of the script file.

2873 <text> is not a Logical Drive command. The <text> command does not belong in the Logical Drive
section of the script file.

2874 <text> is not an HBA command. The <text> command does not belong in the HBA section of
the script file.

2875 More than one <text> command cannot —


exist in the same section.

2876 Invalid physical drive count. The script specifies more drives than are available of the
specified drive type.

2877 No spares available. No drives were found that could be used as spares for the
specified array.

2878 Spare request for RAID 0 is invalid. RAID 0 does not support spares.

2879 Reset and reconfigure combined error. A controller reset with data loss was specified while in
Reconfigure mode.

2880 Invalid drive type specified. —

Using HPSSASCRIPTING 51
Error code Error message Comment or clarification

2882 Invalid value for MNPDelay. Valid range —


is 0 (disabled) to 60 minutes.

2883 Invalid controller configuration value. —


Expecting Yes or No.

2884 Invalid value for QueueDepth. Valid range —


is from 2 to 32, or Auto.

Using HPLPCFG
You must edit the text file to insert the WWID of the boot volume and the LUN number that the
WWID boots from. The HPLPCFG utility discovers the WWID of the HBA in the server blade and
writes the information in the text file. The text file presents the options in human readable format.
The HPLPCFG utility updates the hardware with the boot volume WWID and boot LUN read from
the text file.

HPLPCFG command-line syntax


hplpcfg —s filename hplpcfg —l filename hplpcfg —v
[HBA0] WWID=11223344 HostAdapterBiosEnable=1 SelectBootEnable=1
BootDeviceWWID=22334455 BootDeviceLUN[0]=1111

HPLPCFG command-line arguments

Command-line argument Description

hplpcfg —s filename This argument saves the HBA configuration to the filename.

hplpcfg —l filename This argument loads the HBA configuration to the filename.

hplpcfg —v This argument displays the tool version information.

Where filename has the following format:

[HBA0] Section for each HBA

WWID=11223344 Read-only variable

HostAdapterBiosEnable=1 Your input or current value when read from HBA

SelectBootEnable=1 Your input or current value when read from HBA

BootDeviceWWID=22334455 Your input or current value when read from HBA

BootDeviceLUN[0]=1111 Your input, default LUN, or current value when read from
HBA

HPLPCFG return codes

Value Meaning

0 The command was completed successfully.

1 There was an invalid command line option.

2 There was a file open error.

3 There was an NVRAM checksum error.

4 There was an NVRAM data error.

52 Scripting Toolkit utilities


Value Meaning

5 There was no adapter or Emulex HBA found on this host.

6 There was an error retrieving the I/O address.

7 The WWID was invalid because of one of the following:


• An invalid value for WWID and BootDeviceWWID, and not a hex value
• The WWID specified for HBA in the .ini file does not match any HBAs found on the host (for the
/l option only)

8 The LUN was invalid.

0x10 Invalid value; for enable/disable value is not 0 or 1 (for /l option only)

0x11 Incorrect iboot BIOS code loaded (for /l option only)

0xFF General error:


• Initialization error (for both /l and /s option)
• Cannot read HBAs WWPN (for /s option only)

HPLPCFG command-line examples


hplpcfg –s hba.ini generates hba.iniwith the following content:
[HBA0]
WWID=11111111
HostAdapterBiosEnable=1
SelectBootEnable=1
BootDeviceWWID=
BootDeviceLUN[0]=
You must edit hba.ini and add the following boot device information:
[HBA0]
WWID=11111111
HostAdapterBiosEnable=1
SelectBootEnable=1
BootDeviceWWID=22222222
BootDeviceLUN[0]=3
You must then invoke the tool to load the contents of hba.ini input to the HBA NVRAM: hplpcfg /l
hba.ini.

Using LO100CFG
NOTE: This section applies only to HP ProLiant servers not using the Oxx ROM family.
The LO100CFG utility enables you to configure the Lights Out 100 device that is available on the
HP ProLiant 100 series servers.
Under Linux, LO100CFG uses the OpenIPMI library to communicate with the system firmware.

LO100CFG command-line syntax


lo100cfg [ -h | -x | -v | -i "file.xml" | -o "file.xml" | -s ]

Using LO100CFG 53
LO100CFG command-line arguments

Command-line argument Description

-x This argument displays example XML to perform


configuration.

-v This argument outputs the current copyright and version


information and then exits.

-s This argument captures the current status and outputs it to


the console.

-h The argument lists basic command line arguments and


supported XML tags.

-i "file.xml" This argument loads and runs the given XML configuration
file.

-o "file.xml" This argument saves the current configuration to a file.

-k "<xml/>" This argument has been deprecated and is no longer


supported.

LO100CFG return codes

Value Meaning

0 All operations succeeded.

10 A required command-line parameter is missing. See console


output for details.

12 An unknown command-line parameter was passed to the


utility.

14 File error. The specified file is empty or not found.

16 Syntax error. You must specify exactly one option from -i


-o -s.

17 An invalid command-line parameter was passed to the


utility.

18 Invalid command-line syntax was used.

50 The IPMI driver may not be loaded or installed properly.

101 XML failed validity tests.

102 Field in the XML file has invalid values. Valid fields still
applied.

103 The Lights Out 100 returned a code the application did
not expect. See console output for code returned from the
LO100 processor.

104 System is unsupported or is not running IPMI drivers.

NOTE: Return codes of 100 or higher are returned from the LO100 processor.

LO100CFG command-file contents


A typical data file generated by LO100CFG is similar to the following:
<lo100cfg>

54 Scripting Toolkit utilities


<serial_port mode="dedicated" />
<nic mode="dhcp">
<ipv4 address="10.10.10.18" mask="255.255.252.0" gateway="10.10.10.1" />
<firewall http_active="yes" ping_active="yes" telnet_active="yes" />
</nic>
<users>
<user id="1" name="" privilege_level="user" />
<user id="2" name="operator" privilege_level="operator" />
<user id="3" name="admin" privilege_level="admin" />
<user id="4" name="oem" privilege_level="oem" />
</users>
</lo100cfg>
To disable the shared NIC configuration and make the Lights-Out 100 NIC dedicated, enter the
following in your data file:
<lo100cfg>
<nic type="dedicated" />
</lo100cfg>

Using HPQLAREP
You must edit the text file to insert the WWID of the boot volume and the LUN number that they
will boot from. The hpqlarep utility discovers the WWID of the HBA in the server blade and
writes the information in the text file. The text file presents the options in human readable format.
The hpqlarep utility updates the hardware with the boot volume WWID and boot LUN read from
the text file.

HPQLAREP command-line syntax


hpqlarep —s filename hpqlarep —l filename
[HBA0] WWID=11223344 HostAdapterBiosEnable=1 SelectBootEnable=1
BootDeviceWWID=22334455 BootDeviceLUN[0]=1111

HPQLAREP command-line arguments

Command-line argument Description

hpqlarep —s filename This argument saves the HBA configuration to the filename.

hpqlarep —l filename This argument loads the HBA configuration to the filename.

Where filename has the following format:

[HBA0] Section for each HBA

WWID=11223344 Read-only variable

HostAdapterBiosEnable=1 Read-only variable

SelectBootEnable=1 Read-only variable

BootDeviceWWID=22334455 Your input

BootDeviceLUN[0]=1111 Your input and default LUN

Using HPQLAREP 55
HPQLAREP return codes

Value Meaning

0 The command was completed successfully.

1 There was an invalid command line option.

2 There was a file open error.

3 There was an NVRAM checksum error.

4 There was an NVRAM data error.

5 There was no adapter found on this host.

6 There was an error retrieving the I/O address.

7 The WWID was invalid.

8 The LUN setting was invalid.

9 The EFI Enable Selective LUN setting was invalid.

10 The BIOS Enable setting was invalid.

11 The Selectable BIOS setting was invalid.

12 The EFI Selective login settings were invalid.

13 The EFI WWID (Boot Node Name) was invalid.

14 There was a Memory Allocation error.

15 The adapter has no VPD.

16 There was a failure reading the adapter VPD.

17 The adapter has no VPD.

18 VPD has bad checksum.

19 The adapter serial number is missing in the VPD.

HPQLAREP command-line examples


hpqlarep —s hba.ini generates hba.ini with the following content:
[HBA0]
WWID=11111111
HostAdapterBiosEnable=1
SelectBootEnable=1
BootDeviceWWID=
BootDeviceLUN[0]=
You must edit hba.ini and add the following boot device information:
[HBA0]
WWID=11111111
HostAdapterBiosEnable=1
SelectBootEnable=1
BootDeviceWWID=22222222
BootDeviceLUN[0]=3

56 Scripting Toolkit utilities


You must then invoke the tool to load the contents of hba.ini input to the HBA NVRAM: hpqlarep
–l hba.ini.

Using HPONCFG
HP offers support for the iLO features available on HP ProLiant servers with the HPONCFG utility.
HPONCFG is an online configuration tool used to set up and reconfigure iLO without requiring a
reboot of the server operating system. The utility runs in a command-line mode and must be executed
from an operating system command line.
HPONCFG enables you to initially configure features exposed through the RBSU or iLO. This utility
is not intended for continued administration. CPQLOCFG should be used for ongoing administration
of user rights and network functionality on the server.
Before using HPONCFG, the iLO Management Interface Driver must be loaded on the server.
HPONCFG displays a warning if the driver is not installed.
For more information, see the HP iLO website at http://www.hp.com/go/ilo.
Also, see the HP iLO 4 Scripting and Command Line Guide (for Gen8 servers) on the HP website
at http://www.hp.com/go/proliantgen8/docs or the HP ProLiant Integrated Lights-Out 3 v1.20
Scripting and Command Line Guide (for G7 servers) on the HP website at www.hp.com/go/ilo.

HPONCFG command-line syntax


hponcfg [-help][/?][-reset][-f filename][-l filename]
[-w filename][-get_hostinfo][-m firmwarelevel]

IMPORTANT: Because the -w argument does not capture certain types of information, such as
the administrator password, data files created with HPONCFG using the -w argument cannot then
be used as input files for HPONCFG, unless they are modified first.

HPONCFG command-line arguments

Command-line argument Description

/help or /h These arguments display simple help messages.

-reset This argument resets the iLO to factory defaults.

-f This argument sets the iLO configuration based on the


filename information in the XML input file named filename.

-l This argument logs replies to the text log file named


filename filename.

-w This argument writes the iLO configuration obtained from


filename the device to the XML output file named filename.

-get_hostinfo This argument returns the host server name and serial
number.

-m This argument indicates to HPONCFG the minimum


firmware level that must be present in the management
device to execute the RIBCL script. If the minimum level is
not met, HPONCFG returns an error without performing
any additional actions.

-mouse This argument causes HPONCFG to configure the server


for optimized mouse handling.

NOTE: For a complete list of all command-line parameters, execute the /h utility.

Using HPONCFG 57
HPONCFG return codes

Value Meaning

0 The script was sent successfully to the device.

1 The script could not be sent to the device. There is an error


in xml.

2 The Management processor is not present, or the driver is


not running.

3 The iLO flash is still in progress.

255 The script is unable to create an output file.

If the script itself fails, errors are reported in the log file created by HPONCFG.

HPONCFG command file contents


HPONCFG can be used to perform the following tasks:
• Obtain an entire configuration
• Obtain a specific configuration
• Set a configuration

Obtaining an entire configuration


HPONCFG can be used to obtain an entire configuration from iLO. In this case, the utility executes
from the command line without specification of an input file. The name of the output file is given
on the command line. For example:
hponcfg -w config.xml
In this example, the utility indicates that it obtained the data successfully and wrote it to the output
file as requested. The following is a typical example of the contents of the output file:
<HPONCFG VERSION = "1.1">
<!--- Generated 04/15/04 15:20:36 --->
<MOD_DIR_CONFIG>
<DIR_AUTHENTICATION_ENABLED VALUE = "N"/>
<DIR_LOCAL_USER_ACCT VALUE = "Y"/>
<DIR_SERVER_ADDRESS VALUE = ""/>
<DIR_SERVER_PORT VALUE = "25"/>
<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>
<MOD_NETWORK_SETTINGS>
<SPEED_AUTOSELECT VALUE = "Y"/>
<NIC_SPEED VALUE = "100"/>
<FULL_DUPLEX VALUE = "Y"/>
<IP_ADDRESS VALUE = "11.222.333.444"/>
<SUBNET_MASK VALUE = "222.222.222.0"/>
<GATEWAY_IP_ADDRESS VALUE = "11.100.200.2"/>

58 Scripting Toolkit utilities


<DNS_NAME VALUE = "ILOD234KJ44D002"/>
<PRIM_DNS_SERVER value = "16.16.1.161"/>
<DHCP_ENABLE VALUE = "Y"/>
<DOMAIN_NAME VALUE = "americas.cpqcorp.net"/>
<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 = "16.16.6.161"/>
<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>
<ADD_USER
USER_NAME = "Administrator"
USER_LOGIN = "Administrator"
PASSWORD = "">
</ADD_USER>
<ADD_USER
USER_NAME = "Landy9"
USER_LOGIN = "mandy9"
PASSWORD = "">
</ADD_USER>
<RESET_RIB VALUE = "Y"/>
</HPONCFG>
For security reasons, the user passwords are not returned.

Obtaining a specific configuration


A specific configuration can be obtained using the appropriate XML input file. For example, the
contents of a typical XML input file, get_global.xml, are the following:
<!-- Sample file for Get Global command -->
<RIBCL VERSION="2.0">
<LOGIN USER_LOGIN="x" PASSWORD="x">
<RIB_INFO MODE="read">
<GET_GLOBAL_SETTINGS />
</RIB_INFO>
</LOGIN>
</RIBCL>
The XML commands are read from the input file
get_global.xml
and are processed by the device:
HPONCFG /f get_global.xml /l log.txt > output.txt
The requested information is returned in the log file, which, in this example, is named log.txt.
The contents of the log file are as follows:
<GET_GLOBAL_SETTINGS>
<SESSION_TIMEOUT VALUE="30"/>
<ILO_FUNCT_ENABLED VALUE="Y"/>

Using HPONCFG 59
<F8_PROMPT_ENABLED VALUE="Y"/>
<REMOTE_CONSOLE_PORT_STATUS VALUE="3"/>
<REMOTE_CONSOLE_ENCRYPTION VALUE="N"/>
<PREFER_TERMINAL_SERVICES VALUE="N"/>
<HTTPS_PORT VALUE="443"/>
<HTTP_PORT VALUE="80"/>
<REMOTE_CONSOLE_PORT VALUE="23"/>
<TERMINAL_SERVICES_PORT VALUE="3389"/>
<VIRTUAL_MEDIA_PORT VALUE="17988"/>
<MIN_PASSWORD VALUE="4"/>
</GET_GLOBAL_SETTINGS>

Setting a configuration
A specific configuration can be sent to the iLO by using the command format:
HPONCFG /f add_user.xml /l log.txt
In this example, the input file has the following contents:
<!-- Add user with minimal privileges to test default setting of
assigned privileges to 'N' -->
<RIBCL version="1.2">
<LOGIN USER_LOGIN="x" PASSWORD="x">
<USER_INFO MODE="write">
<ADD_USER USER_NAME="Landy9" USER_LOGIN="mandy9"
PASSWORD="floppyshoes">
<RESET_SERVER_PRIV value="Y" />
<ADMIN_PRIV value="Y" />
</ADD_USER>
</USER_INFO>
</LOGIN>
</RIBCL>
The specified user will be added to the device.

HPONCFG command-line examples


For HPONCFG command line examples, see the appropriate user guide on the HP iLO website
at http://www.hp.com/go/ilo.

60 Scripting Toolkit utilities


5 Troubleshooting
Troubleshooting table
Issue Troubleshooting

Data loss in Toolkit Improper use of the Toolkit utilities and modification of the
CONREP data files can result in loss of critical data.
Because of the potential data-loss risk, only experienced
individuals should use the Toolkit utilities. Before using the
Toolkit, all necessary precautions must be taken to ensure
that mission-critical systems remain online if a failure occurs.

Setting up a PXE boot environment A basic understanding of DHCP, PXE, and TFTP is required
to perform the procedure. The examples in this guide might
not be specific to your operating system environment. For
more information about your particular environment, see
the Linux system administrator's guide

Configuring options using Toolkit utilities Not all options can be configured using Toolkit utilities.
Some options must be configured manually or with other
configuration utilities, which are available online, before
they can be used with the Toolkit. For more information on
configuration, see the option documentation

Input files for HPONCFG Because the -w argument does not capture certain types
of information, such as the administrator password, data
files created with HPONCFG using the -w argument cannot
be used as input files for HPONCFG, unless they are
modified first.

CONREP version compatibility The file format for the DOS version of CONREP and the
current version of CONREP are not compatible.

HPRCU compatibility HPRCU is not compatible with UEFI-based HP ProLiant


servers. Use CONREP instead.

HPSSASCRIPTING support HPSSASCRIPTING supports only HP Smart Array controllers.


Review the HPSSASCRIPTING documentation for the latest
information.

Booting from a USB drive key Booting from a USB drive key is supported only on certain
HP ProLiant servers. For more information, see the HP SPP
website at http://www.hp.com/go/spp.

CONREP data file editor Only the fields that are present in the CONREP file being
edited will be shown. The CONREP data file editor cannot
add or remove fields. Some fields, such as the server OS
selection, cannot be edited.

Kernels The kernel is generally static and cannot be modified easily.


HP recommends that you use the kernel that is shipped with
the Toolkit because it has been tested on all servers
supported by the Toolkit.

SETBOOTORDER changes Any changes you make to the SETBOOTORDER will take
effect at the next reboot.

Troubleshooting table 61
6 Support and other resources
Information to collect before contacting HP
Be sure to have the following information available before you contact HP:
• Software product name
• Hardware product model number
• Operating system type and version
• Applicable error message
• Third-party hardware or software
• Technical support registration number (if applicable)

How to contact HP
Use the following methods to contact HP technical support:
• See the Contact HP worldwide website:
http://www.hp.com/go/assistance
• Use the Contact hp link on the HP Support Center website:
http://www.hp.com/go/hpsc
• In the United States, call +1 800 334 5144 to contact HP by telephone. This service is available
24 hours a day, 7 days a week. For continuous quality improvement, conversations might be
recorded or monitored.

Subscription service
HP recommends that you register your product at the Subscriber's Choice website at http://
www.hp.com/country/us/en/contact_us.html. After registering, you will receive email notification
of product enhancements, new driver versions, firmware updates, and other product resources.

Related information
For support software and drivers, see the HP software and drivers website at http://www.hp.com/
go/hpsc. HP also recommends installing the latest version of the HP SPP or using the Linux Software
Delivery Repository (SDR). To obtain the most current SPP, see the SPP website at http://
www.hp.com/go/spp. To obtain drivers from the SDR, see the Linux website at http://
downloads.linux.hp.com/SDR/.
For information on the latest Scripting Toolkit, see the additional documentation found on the
Scripting Toolkit website at http://www.hp.com/go/ProLiantSTK.
For information on the previous SmartStart Scripting Toolkit, which was used for HP ProLiant G7
and earlier servers and BladeSystems, see the documentation found on the HP website at http://
www.hp.com/go/foundation.
For more information on unattended installation, see the following resources:
• Operating system documentation
• Windows Server Technical Reference at http://technet.microsoft.com/en-us/library/
bb625087.aspx

62 Support and other resources


Scripting Toolkit support
Support for the Scripting Toolkit is available from the HP support website at www.hp.com/go/
ProLiant/STK.

Typographic conventions
Table 1 Document conventions
Convention Element

Blue text: Table 1 (page 63) Cross-reference links and e-mail addresses

Blue, underlined text: http://www.hp.com Website addresses

Bold text • Keys that are pressed


• Text typed into a GUI element, such as a box
• GUI elements that are clicked or selected, such as menu
and list items, buttons, tabs, and check boxes

Italic text Text emphasis

Monospace text • File and directory names


• System output
• Code
• Commands, their arguments, and argument values

Monospace, italic text • Code variables


• Command variables

Monospace, bold text Emphasized monospace text

CAUTION: Indicates that failure to follow directions could result in damage to equipment or data.

IMPORTANT: Provides clarifying information or specific instructions.

NOTE: Provides additional information.

TIP: Provides helpful hints and shortcuts.

HP Insight Remote Support software


HP strongly recommends that you register your device for remote support to enable enhanced
delivery of your HP Warranty, HP Care Pack Service, or HP contractual support agreement. HP
Insight Remote Support supplements your monitoring continuously to ensure maximum system
availability by providing intelligent event diagnosis, and automatic, secure submission of hardware
event notifications to HP, which will initiate a fast and accurate resolution, based on your product’s
service level. Notifications may be sent to your authorized HP Channel Partner for onsite service,
if configured and available in your country.
For more information, see HP Insight Remote Support and Insight Online Setup Guide for ProLiant
Gen8 Servers and BladeSystem c-Class Enclosures on the HP website (http://www.hp.com/go/
enterprise/docs). HP Insight Remote Support is available as part of HP Warranty, HP Care Pack
Service, or HP contractual support agreement.

Scripting Toolkit support 63


HP Insight Online
HP Insight Online is a capability of the HP Support Center portal. Combined with HP Insight Remote
Support 7.x, it automatically aggregates device health, asset, and support information from iLO
Management Engine with contract and warranty information, and then secures it in a single,
personalized dashboard that is viewable from anywhere at any time. The dashboard organizes
your IT and service data to help you understand and respond to that information more quickly.
With specific authorization from you, an authorized HP Channel Partner can also view your IT
environment remotely at HP Insight Online.
For more information, see the following documents on the HP website (http://www.hp.com/go/
insightremotesupport/docs):
• For more information about using HP Insight Online, see the HP Insight Online User’s Guide.
• For more information about installing HP Insight Remote Support and enabling HP Insight
Online, see the HP Insight Remote Support and Insight Online Setup Guide for ProLiant Gen8
Servers and BladeSystem c-Class Enclosures.

64 Support and other resources


7 Documentation feedback
HP is committed to providing documentation that meets your needs. To help us improve the
documentation, send any errors, suggestions, or comments to Documentation Feedback
([email protected]). Include the document title and part number, version number, or the URL
when submitting your feedback.

65
Acronyms and abbreviations
ACU Array Configuration Utility
BIOS Basic Input/Output System
CLI Command Linux Interface
CONREP Configuration Replication utility
CPQLOCFG Lights-Out Configuration Utility
CPQSSAXE Smart Storage Administrator XE
DHCP Dynamic Host Configuration Protocol
DOS disk operating system
FAT file allocation table
GUI graphical user interface
HBA host bus adapter
HPDISCOVERY HP Discovery Utility
HPONCFG HP Lights-Out Online Configuration utility
HPQLAREP HP QLogic FC HBA BIOS configuration utility
HPRCU HP ROM Configuration Utility
HWQUERY Hardware Query Utility
I/O input/output
IFHW IF Hardware Utility
iLO Integrated Lights-Out
IP Internet Protocol
IPL initial program load
IPMI Intelligent Platform Management Interface
ISO International Organization for Standardization
LO100CFG Lights-Out (100 series) Online Configuration utility
LUN logical unit number
MBR master boot record
NFS network file system
NIC network interface controller
NVRAM non-volatile memory
OS operating system
PCI peripheral component interface
PXE Preboot Execution Environment
RAID redundant array of inexpensive (or independent) disks
RAM random access memory
RBSU ROM-Based Setup Utility
RIBCL Remote Insight Board Command Language
ROM read-only memory
SAS serial attached SCSI
SATA serial ATA
SCSI small computer system interface
SPP HP Service Pack for ProLiant
SSA Smart Storage Administrator

66 Acronyms and abbreviations


SSP Selective Storage Presentation
STATEMGR State Manager utility
TFTP Trivial File Transfer Protocol
USB universal serial bus
VPD vital product data
WOL Wake-on LAN
WWID World Wide ID
WWN World Wide Name
WWPN worldwide port name
XML extensible markup language

67
Index
HP Insight Online, 64
A HP SSA script file, 38
acronyms and abbreviations, 66 HPDISCOVERY, 27
anaconda-ks.cfg arguments, 27
sample file, 19 command-line examples, 27
command-line syntax, 27
B return codes, 27
BOOTEXTRACT, 26 HPLPCFG, 52
arguments, 26 arguments, 52
command-line syntax, 26 command-line examples, 53
return codes, 26 command-line syntax, 52
return codes, 52
C HPONCFG, 57
clearing a configuration, 42 arguments, 57
configuration command file, 58
capturing, 37 entire configuration, 58
hardware, 15 setting a specific configuration, 60
target server, 11 specific configuration, 59
configurations command-line examples, 60
capturing, 9 command-line syntax, 57
CONREP, 30 return codes, 58
command file contents HPQLAREP, 55
HP ProLiant 300/500/700 series, 34 arguments, 55
command-line arguments, 31 command-line examples, 56
command-line syntax, 31 command-line syntax, 55
data file sample return codes, 56
HP ProLiant 100 series, 33 HPRCU, 35
Load from Data file example arguments, 35
HP ProLiant 100 series, 33 command-line syntax, 35
return codes, 32 return codes, 36
screen output, 32 sample XML format, 36
Store to Data file example HPSSASCRIPTING, 36
HP ProLiant 100 series, 32 configuration, 37
conventions HP SSA script file, 38
document, 63 HP SSA scripting errors, 48
input script, 37
D sample input script, 38
deployment overview, 8 script file options, 39
deployment procedure, 8 array category, 44
DHCP server setup control category, 40
PXE boot, 14 controller category, 41
document HBA category, 47
conventions, 63 logical drive category, 45
documentation HWQUERY, 29
providing feedback on, 65 arguments, 29
command-line examples, 30
E command-line syntax, 29
expression examples, 29 return codes, 30
expression operators and terms, 28
I
F IFHW, 28
features, 7 arguments, 28
command-line examples, 28
H command-line syntax, 28
hardware return codes, 28
configuration, 15 iLO, 57

68 Index
install_win.sh arguments, 24
sample script, 19 command-line examples, 24
installation command-line syntax, 24
operating system, 11 return codes, 24
unattended operating system, 15 STATEMGR, 25
ISO image arguments, 25
arguments, 10 command-line examples, 25
command-line syntax, 25
L return codes, 25
LO100CFG, 53 support, 62
arguments, 54 syntax conventions, 22
command file, 54 SYSLINUX, 12
command-line syntax, 53
return codes, 54 T
logical drive capacity extension, 46 target server
configuring, 11
M technical support, 62
MaxBoot setting, 46 TFTP directory share
mkisofs command, 10 PXE boot, 14
TFTP server setup
N PXE boot, 13
native package, 22 troubleshooting, 61
network share typographic conventions, 63
creating, 9
NFS Server Configuration Tool, 9 U
USB drive key boot, 15
O utilities
online help, 22 Scripting Toolkit, 22
operating system
installation, 11 V
unattended installation, 15 video performance optimization, 43
operators and terms, 28
W
P websites, 62
PXE boot, 12
illustration, 12

R
RBSURESET, 25
arguments, 26
command-line syntax, 26
return codes, 26
REBOOT, 23
arguments, 23
command-line examples, 24
command-line syntax, 23
return codes, 23
Red Hat Linux anaconda-ks.cfg
sample file, 19
requirements, 7

S
sample file
anaconda-ks.cfg, 19
Red Hat Linux anaconda-ks.cfg, 19
sample script
install_win.sh, 19
Scripting Toolkit utilities, 22, 23
SETBOOTORDER, 24

69

You might also like