You are here

Part4. Ignite Series:Automated system install of Golden Images on Bare metal servers(IGNITE-UX)

Installing a golden image on bare metal servers:

We are parting from the configuration of our previous series of posts on ignite, so if you don't have your golden image ready you should first go through post number 2, that explains how to create a golden image and use it with ignite:

http://www.hpuxtips.es/?q=content/part2-ignite-series-creating-golden-im...

If you want to automate your installations of your golden images, but you have an OS installed on your servers, you can use bootsys. Its explained in this post:

http://www.hpuxtips.es/?q=content/part3-ignite-series-automated-system-i...

If you are not so lucky and you have bare metal servers with no OS installed, you can follow this post, that gives a brief introduction on how to get it working, this is a basic example to get your golden image automated installation working, all the nifty configuration you can do pre/post install will be on future posts.

There are a lot's of ways of doing this, depending on your needs, configure for all clients, per server model, per mac, etc.. . Here we are going to configure it for all clients. So when we boot any client from the net is going to install our 11.31 DCOE golden image.

First thing we need to do is modify the XINSTALLFS file, with the instl_adm command, we want to add 2 options to make the installation automated:

run_ui="false"
control_from_server="false"

In my example case I don't have a DHCP server on the network, so I have to also add to the XINSTALLFS file the network information for the client, so I will only be able to install 1 client at a time, but if you configure a DHCP server, you can install the golden image on may clients on parallel, so I also add:

system_name="install"
ip_addr="19.132.168.75"
netmask="0xffffff00"
broadcast_addr="19.132.168.255"

Ok, so here we go adding our info:

we first copy our current configuration to a tmp file:
root@tripper:/> instl_adm -d > /tmp/lol.txt

We edir the file adding our options:
root@tripper:/> vi /tmp/lol.txt
is_net_info_temporary=true
dhcp_class_id="Ignite-UX_tripper -G"
# instl_adm defaults:
# NOTE: Manual additions between the lines containing "instl_adm defaults"
# and "end instl_adm defaults" will not be preserved.
server="19.132.168.63"
netmask[]="255.255.255.0"
dhcp_class_id[]="Ignite-UX_tripper -G"
route_gateway[0]="19.132.168.1"
route_destination[0]="default"
# end instl_adm defaults. ------------> we add from here
run_ui="false"
control_from_server="false"
system_name="install"
ip_addr="19.132.168.75"
netmask="0xffffff00"
broadcast_addr="19.132.168.255"

And finally we load the file configuration:
root@tripper:/> instl_adm -f /tmp/lol.txt

Now in the /var/opt/ignite/INDEX file, we need to choose the golden image or core installation we want to usr by adding TRUE at the end, we are going to use our golden 11.31 DCOE image from the previous example:

root@tripper:/> cat /var/opt/ignite/INDEX
# /var/opt/ignite/INDEX
# This file is used to define the Ignite-UX configurations
# and to define which config files are associated with each
# configuration. See the ignite(5), instl_adm(4), and
# manage_index(1M) man pages for details.
#
# NOTE: The manage_index command is used to maintain this file.
# Comments, logic expressions and formatting changes are not
# preserved by manage_index.
#
# WARNING: User comments (lines beginning with '#' ), and any user
# formatting in the body of this file are _not_ preserved
# when the version of Ignite-UX is updated.
#
cfg "HP-UX B.11.23 Default" {
description "This selection supplies the default system configuration that HP supplies for the B.11.23 release."
"/opt/ignite/data/Rel_B.11.23/config"
"/opt/ignite/data/Rel_B.11.23/hw_patches_cfg"
"/var/opt/ignite/data/Rel_B.11.23/core_cfg"
"/var/opt/ignite/config.local"
}
cfg "HP-UX B.11.11 Default" {
description "This selection supplies the default system configuration that HP supplies for the B.11.11 release."
"/opt/ignite/data/Rel_B.11.11/config"
"/opt/ignite/data/Rel_B.11.11/hw_patches_cfg"
"/var/opt/ignite/data/Rel_B.11.11/core_cfg"
"/var/opt/ignite/config.local"
}
cfg "HP-UX B.11.31 Default" {
description "This selection supplies the default system configuration that HP supplies for the B.11.31 release."
"/opt/ignite/data/Rel_B.11.31/config"
"/opt/ignite/data/Rel_B.11.31/hw_patches_cfg"
"/var/opt/ignite/data/Rel_B.11.31/core_cfg"
"/var/opt/ignite/config.local"
}
cfg "HP-UX B.11.31 Golden Image DCOE 1003" {
description "11.31 DCOE Golden IMAGE releas:1003 ready to use"
"/opt/ignite/data/Rel_B.11.31/config"
"/var/opt/ignite/data/HP-UX_B.11.31_DCOE/core_archive_cfg"
"/var/opt/ignite/config.local"
}=TRUE -----------------------> the TRUE statement makes it the default selection

check the file as always:

root@tripper:/> instl_adm -T
* Checking file: /opt/ignite/data/Rel_B.11.23/config
* Checking file: /opt/ignite/data/Rel_B.11.23/hw_patches_cfg
* Checking file: /var/opt/ignite/data/Rel_B.11.23/core_cfg
* Checking file: /var/opt/ignite/config.local
* Checking file: /opt/ignite/data/Rel_B.11.11/config
* Checking file: /opt/ignite/data/Rel_B.11.11/hw_patches_cfg
* Checking file: /var/opt/ignite/data/Rel_B.11.11/core_cfg
* Checking file: /opt/ignite/data/Rel_B.11.31/config
* Checking file: /opt/ignite/data/Rel_B.11.31/hw_patches_cfg
* Checking file: /var/opt/ignite/data/Rel_B.11.31/core_cfg
* Checking file: /var/opt/ignite/data/HP-UX_B.11.31_DCOE/core_archive_cfg
root@tripper:/>

And if we really want no interaction at all, we can optional modify the /opt/ignite/boot/AUTO file(only itanium, on pa-risc it's the boot_lif file)
this file is in charge of the first menu we get when booting from a ignite server, it normally looks similar to this:

btaining size of AUTO (226 bytes)
Downloading file AUTO (226 bytes)
1. target OS is B.11.23 IA
2. target OS is B.11.31 IA
3. Exit Boot Loader

Choose an operating system to install that your hardware supports:

We can modify this files in the PA case just by editing the file by hand, and for parisc using the auto_adm command:

First we modify the PA boot_lif file with auto_adm:

List the config of our current file:

root@tripper:/opt/ignite/boot> auto_adm -f boot_lif -O CONF
timeout = 120
default = 1
message = Choose an operating system to install that your hardware supports:

label = target OS is B.11.11
bootcmd = boot
boot = (;0)
image = /boot/Rel_B.11.11/INSTALL

label = target OS is B.11.23 PA
bootcmd = boot
boot = (;0)
image = /boot/Rel_B.11.23/WINSTALL

label = target OS is B.11.31 PA
bootcmd = boot
boot = (;0)
image = /boot/Rel_B.11.31/WINSTALL

Listed in ISL output:

root@tripper:/opt/ignite/boot> auto_adm -f boot_lif -O ISL
hpux KernelPrompt "Choose an operating system to install that your hardware supports:" 120 1
reset
"target OS is B.11.11" boot (;0)/boot/Rel_B.11.11/INSTALL
"target OS is B.11.23 PA" boot (;0)/boot/Rel_B.11.23/WINSTALL
"target OS is B.11.31 PA" boot (;0)/boot/Rel_B.11.31/WINSTALL
"Exit" reboot

So no we are going to make optione number 3 the default, so our bare metal installs of our golden image start auto once the timeout has been reached:

root@tripper:/opt/ignite/boot> cp boot_lif boot_lif_ok
root@tripper:/opt/ignite/boot> auto_adm -D -L 'target OS is B.11.31 PA' -f boot_lif -o boot_lif
root@tripper:/opt/ignite/boot> auto_adm -f boot_lif -O ISL
hpux KernelPrompt "Choose an operating system to install that your hardware supports:" 120 3 <----Number 3 is the default now
reset
"target OS is B.11.11" boot (;0)/boot/Rel_B.11.11/INSTALL
"target OS is B.11.23 PA" boot (;0)/boot/Rel_B.11.23/WINSTALL
"target OS is B.11.31 PA" boot (;0)/boot/Rel_B.11.31/WINSTALL
"Exit" reboot

We are also going to reduce the timeout to 30 seconds:

root@tripper:/opt/ignite/boot> auto_adm -T 30 -f boot_lif -o boot_lif
root@tripper:/opt/ignite/boot> auto_adm -f boot_lif -O ISL
hpux KernelPrompt "Choose an operating system to install that your hardware supports:" 30 3
reset
"target OS is B.11.11" boot (;0)/boot/Rel_B.11.11/INSTALL
"target OS is B.11.23 PA" boot (;0)/boot/Rel_B.11.23/WINSTALL
"target OS is B.11.31 PA" boot (;0)/boot/Rel_B.11.31/WINSTALL
"Exit" reboot

We have Pa-risc ready now, on we go to itanium, just as simple as editing the /opt/ignite/boot/AUTO

root@tripper:/opt/ignite/boot> cp AUTO AUTO_ok
root@tripper:/opt/ignite/boot>vi AUTO
KernelPrompt "Choose an operating system to install that your hardware supports:" 30 2
reset
"target OS is B.11.23 IA" boot Rel_B.11.23/IINSTALL
"target OS is B.11.31 IA" boot Rel_B.11.31/IINSTALL
"Exit Boot Loader" exit

Ok, all ready let's launch unattended install, from the EFI of one of our servers:

From the EFI-SHELL of the server, we do a lanboot and select our NIC with connectivity:

Shell> lanboot select
01 Acpi(HPQ0002,PNP0A08,400)/Pci(0|0)/Pci(0|0)/Mac(0017A4770014)
02 Acpi(HPQ0002,PNP0A08,400)/Pci(0|0)/Pci(0|1)/Mac(0017A4770016)
03 Acpi(HWP0002,PNP0A03,100)/Pci(1|0)/Mac(0017A4770000)
04 Acpi(HWP0002,PNP0A03,100)/Pci(1|1)/Mac(0017A4770002)
05 Acpi(HWP0002,PNP0A03,200)/Pci(2|0)/Mac(0017A4770010)
06 Acpi(HWP0002,PNP0A03,200)/Pci(2|1)/Mac(0017A4770012)
Select Desired LAN: 03
Selected Acpi(HWP0002,PNP0A03,100)/Pci(1|0)/Mac(0017A4770000)

Client MAC Address: 00 17 A4 77 00 00 ...
Client IP Address: 19.132.168.75
Subnet Mask: 255.0.0.0
BOOTP Server IP Address: 19.132.168.63
DHCP Server IP Address: 19.132.168.63
Boot file name: /opt/ignite/boot/nbp.efi

Retrieving File Size.
Retrieving File (TFTP).
@(#) HP-UX IA64 Network Bootstrap Program Revision 1.0
Downloading HPUX bootloader
Starting HPUX bootloader
Obtaining size of fpswa.efi (328192 bytes)
Downloading file fpswa.efi (328192 bytes)

(C) Copyright 1999-2008 Hewlett-Packard Development Company, L.P.
All rights reserved

HP-UX Boot Loader for IPF -- Revision 2.036

Booting from Lan
Obtaining size of AUTO (225 bytes)
Downloading file AUTO (225 bytes)
Obtaining size of AUTO (225 bytes)
Downloading file AUTO (225 bytes)

Obtaining size of AUTO (225 bytes)
Downloading file AUTO (225 bytes)
1. target OS is B.11.23 IA
2. target OS is B.11.31 IA
3. Exit Boot Loader
Choose an operating system to install that your hardware supports:

As you can see when it reached the time out, is uses the default option we configured 11.31:

Downloading file AUTO (225 bytes)
Obtaining size of Rel_B.11.31/IINSTALL (51055320 bytes)
Downloading file Rel_B.11.31/IINSTALL (51055320 bytes)
> System Memory = 4064 MB
loading section 0
.................................................................................................... (complete)
loading section 1
................. (complete)
loading symbol table

..........................................................
booting over the network
Loading.: Core LAN Port 1

Client MAC Address: 00 17 A4 77 00 00 ...
Client IP Address: 19.132.168.75
Subnet Mask: 255.0.0.0
BOOTP Server IP Address: 19.132.168.63
DHCP Server IP Address: 19.132.168.63
Boot file name: /opt/ignite/boot/nbp.efi

Retrieving File Size.
Retrieving File (TFTP).

Starting: Core LAN Port 1

@(#) HP-UX IA64 Network Bootstrap Program Revision 1.0
Downloading HPUX bootloader
Starting HPUX bootloader
Obtaining size of fpswa.efi (328192 bytes)
Downloading file fpswa.efi (328192 bytes)

Console is on Serial Device - via PCDP
Booting kernel...

0.30.40.5

............................................................

You get a chance to stop the automated installation:

Memory Information:
physical page size = 4096 bytes, logical page size = 4096 bytes
Physical: 4161780 Kbytes, lockable: 3018328 Kbytes, available: 3174204 Kbytes

* Preparing to execute init...
======= 01/13/12 05:38:13 EST HP-UX Installation Initialization. (Fri Jan 13
05:38:13 EST 2012)
@(#)Ignite-UX Revision C.7.7.98
@(#)ignite/launch (opt) Revision:
/branches/IUX_RA0809/ignite/src@75250 Last Modified: 2008-08-25
11:39:14 -0600 (Mon, 25 Aug 2008)
* Configuring RAM filesystems...
* Number of SAS devices swapped to be in physical location order: 2
* Scanning system for IO devices...
* Boot device is: 0/1/1/0

WARNING: The configuration information calls for a non-interactive
installation.

Press within 10 seconds to cancel batch-mode installation:

After 10 seconds it goes on with it's business and installs our golden image, with no interaction

* Bringing up Network (lan0)
add net default: gateway 19.132.168.1
* Reading configuration information from server...

* NFS mounting clients directory.
* Using client directory: /var/opt/ignite/clients/0x0017A4770000
* Checking configuration for consistency...
* Attempting a non-interactive installation.
* Loading configuration utility...
* Beginning installation from source: 19.132.168.63
======= 01/13/12 05:39:46 EST Starting system configuration...
* Configure_Disks: Begin
* Will install B.11.31 onto this system.

......................................

* Download_mini-system: Complete
* Loading_software: Begin
* Installing boot area on disk.
* Formatting HP Service Partition.
* Enabling swap areas.
* Backing up LVM configuration for "vg00".
* Processing the archive source (GOLDEN IMAGE 11.31 DCOE).
* Fri Jan 13 05:42:06 EST 2012: Starting archive load of the source
(Golden image 11.31 Release:1009 DCOE).

.............................................

* Creating the manifest.
* Run all specified post-configure scripts.
* Executing user specified script:
"/opt/ignite/data/scripts/os_arch_post_c".
* Run_Postconfigure_Scripts: Complete
======= 01/13/12 12:03:05 MET Installation complete: Successful

# # # #### ##### ## # #
# ## # # # # # # #
# # # # #### # # # # #
# # # # # # ###### # #
# # ## # # # # # # #
# # # #### # # # ###### ######

####### # #
# # # #
# # # #
# # ###
# # # #
# # # #
####### # #

NOTE: Rebooting system.

........................................................

_______________________________________________________________________________

Welcome to HP-UX!

Before using your system, you will need to answer a few questions.

The first question is whether you plan to use this system on a network.

Answer "yes" if you have connected the system to a network and are ready
to link with a network.

Answer "no" if you:

* Plan to set up this system as a standalone (no networking).

* Want to use the system now as a standalone and connect to a
network later.
_______________________________________________________________________________

Are you ready to link this system to a network?

Press [y] for yes or [n] for no, then press [Enter]

We have our system ready, because the configuration we did is for all systems, we would have to modify the config of the XINSTALLFS file once we had finished installing our golden image on all our servers, we would just have to remove these lines from the config:

run_ui="false"
control_from_server="false"
system_name="install"
ip_addr="19.132.168.75"
netmask="0xffffff00"
broadcast_addr="19.132.168.255"

In future posts I will show/explain how to make a more usefull configuration, instead of modifying the general config, we can modify it based on the client using it's mac.

Unix Systems: 

Add new comment

Filtered HTML

  • Web page addresses and e-mail addresses turn into links automatically.
  • Allowed HTML tags: <a> <em> <strong> <cite> <blockquote> <code> <ul> <ol> <li> <dl> <dt> <dd>
  • Lines and paragraphs break automatically.

Plain text

  • No HTML tags allowed.
  • Web page addresses and e-mail addresses turn into links automatically.
  • Lines and paragraphs break automatically.
By submitting this form, you accept the Mollom privacy policy.

Fatal error: Class CToolsCssCache contains 1 abstract method and must therefore be declared abstract or implement the remaining methods (DrupalCacheInterface::__construct) in /homepages/37/d228974590/htdocs/sites/all/modules/ctools/includes/css-cache.inc on line 52