Jump to content United States-English
HP.com Home Products and Services Support and Drivers Solutions How to Buy
» Contact HP
More options
HP.com home
Ignite-UX Administration Guide: HP Computers with HP-UX 10.x, 11.0 or 11i > Chapter 3 Using Configuration Files

config Files

» 

Technical documentation

Complete book in PDF
» Feedback
Content starts here

 » Table of Contents

 » Index

Ignite-UX's central data store is called a config file. A config file can be thought of as a recipe for how to construct a target system. The config file is expressed in a language designed for this purpose. The language is fully defined in the instl_adm(4) manpage. The syntax is human- readable; config files may be created directly by you or via the Ignite-UX screen. The config file language is much like programming languages in that it supports the use of variables and conditional expressions.

Most of the important elements which make up an installed system can be described in the config file:

  • Disk and file system layout.

  • Software to be installed.

  • Target system's identity and network-configuration kernel modifications (additional drivers or tunable parameter settings).

  • User-defined scripts which will run at various points in the installation process to further customize the target system.

Types of config Files

For maintenance convenience, the configuration information is split into several types of config files:

  • Default disk and file system layout — Because the capabilities of each operating system release differ somewhat, HP supplies a different set of defaults for each release. These are located in: /opt/ignite/data/Rel_release/config

    where: release is the result of the uname -r command. For example, this file contains the default disk layout for HP-UX 10.20: /opt/ignite/data/Rel_B.10.20/config

  • Software description of a single SD depot — Config files which describe software available from SD depots can be automatically generated via Ignite-UX's make_config tool. This tool produces one config file per SD depot. Software description config files are located in: /var/opt/ignite/data/Rel_release/*

  • Software description of an archive — Config files can be hand built to allow access to archives (templates are provided with Ignite-UX in /opt/ignite/data/examples/ to give you a good starting point). Archives may be in either tar or cpio format. Archive software description config files are also located in: /var/opt/ignite/data/Rel_release/*

  • Local configuration overrides that apply globally — It is often convenient to specify defaults which will be applied to every system installed from a particular server. For example, you might want to specify the same NIS domain for all systems. Place overrides in: /var/opt/ignite/config.local

  • Boot control parameters and networking information — It is possible to specify defaults for attributes like the IP address of the Ignite-UX server and whether to run a UI to install a new target. These can be specified in the first 8KB of the install file system, /opt/ignite/boot/INSTALLFS . Use the instl_adm command to add, change, or delete this information.

  • Client-specific configuration files — Each client to be installed has a unique configuration file located at: /var/opt/ignite/clients/0xLLA/config

    LLA is the link-level address of the client. This file is typically created when using the Ignite-UX user interface to specify the target system configuration.

    This file usually refers to other config files mentioned above. It also contains specific directives to override what may have been defined in the other files. For example, you may wish to customize the disk layout beyond what the defaults allow in: /opt/ignite/data/Rel_release/config

    The customizations appear in: /var/opt/ignite/clients/0xLLA/config

  • Named configurations created by saving a configuration via Ignite-UX screen— You can create your own default configurations via the Ignite-UX screen and save them for future use. For example, you might have a large number of users with similar systems who all run CAD tools. You could build a configuration which matches what they need and save it in a configuration called "CAD System". When you need to install a new system of this type, you can select CAD System from the UI and you're done (or you could customize it further using CAD System as the template). Saved configurations are located in: /var/opt/ignite/saved_cfgs/*

You can build your own config files to specify a particular building block you are interested in, and then combine them in arbitrary ways. Place these building block config files in: /var/opt/ignite/data/Rel_release/*

The next section describes how multiple config files can be combined to define a single configuration.

Combining config Files via INDEX Entries

The grouping of config files into useful configurations is accomplished in /var/opt/ignite/INDEX . This file contains a list of valid configurations, each of which is made up of one or more config files. You can view these configurations from the Ignite-UX GUI when installing a new client at the top of the Basic tab by selecting:

Actions -> Install Client -> New Install

For example, the INDEX file might contain:

cfg "HP-UX B.10.20 Default"  {
description "This selection supplies the default system
configuration that HP supplies for the B.10.20 release."
"/opt/ignite/data/Rel_B.10.20/config"
"/var/opt/ignite/data/Rel_B.10.20/core_700_cfg"
"/var/opt/ignite/data/Rel_B.10.20/core_800_cfg"
"/var/opt/ignite/data/Rel_B.10.20/apps_700_cfg"
"/var/opt/ignite/data/Rel_B.10.20/apps_800_cfg"
"/var/opt/ignite/data/Rel_B.10.20/patches_700_cfg"
"/var/opt/ignite/data/Rel_B.10.20/patches_800_cfg"
"/var/opt/ignite/config.local"
}
cfg "CAD System-10.10" {
description "This selection is the typical CAD system
     installation for HP-UX B.10.10"      
"/opt/ignite/data/Rel_B.10.10/config"
"/var/opt/ignite/data/Rel_B.10.10/core_700_archive_cfg"
"/var/opt/ignite/data/Rel_B.10.10/apps_700_cfg"
"/var/opt/ignite/data/Rel_B.10.10/patches_700_cfg"
"/var/opt/ignite/config.local"
} = TRUE

With this INDEX file, the Ignite-UX would present two configurations: HP-UX B.10.20 Default and CAD System-10.10. The CAD System-10.10 configuration is the default (it is marked TRUE). Once you choose one of these base configurations, you can do further customizations with the UI or accept the config defaults and do the install immediately.

If you selected CAD System-10.10, you would get the combination of the five config files listed for that clause. The order of the config files is significant; attributes specified in a later config file can override the same attributes specified in an earlier config file. There are also two config files which are implicitly used every time. Any information stored in the first 8KB of /opt/ignite/boot/INSTALLFS is implicitly appended to each configuration. The client-specific configuration file /var/opt/ignite/clients/0xLLA/config is implicitly added as the last config file for each configuration.

A default cfg clause for each release is shipped as part of Ignite-UX. Additional cfg clauses are added when you:

  • Save a named configuration from the GUI with the Save As button.

  • Create a configuration by modifying the INDEX file directly.

  • Use the manage_index file to help automate INDEX file modifications.

Example Config Files

This section shows a few example config files to give you an idea of their look and capabilities. See the instl_adm(4) manpage for a complete description of Ignite-UX config files.

Defining disks

This example shows how a disk might be defined. Here, the disk is located at hardware address 2/0/1.6.0 and does not use LVM or VxVM. The disk contains the / file system and a swap area. The swap area takes up 64 MB and the file system takes up whatever space is left over:

partitioned_disk {
physical_volume disk[2/0/1.6.0]

fs_partition {
mount_point ="/
usage=HFS
size=remaining
file_length=long
}
swap_partition {
usage=SWAP
size=64Mb
}
}

Combining disks to form a single volume group

In this example, two disks are put together to form a single volume group. Two file systems are defined; both are striped across both disks. The first file system, /apps1, is sized by calculating the amount of space required by the software which is to be loaded, and then adding a 30% free-space cushion. The second file system, /apps2 , gets the remaining space on the disks.

NOTE: The following example shows LVM as the volume manager. However, it is also applicable to VxVM if usage=LVM is changed to usage=VxVM.
volume_group "appsvol" {
usage=LVM
physical_volume disk[2/0/1.5.0] {
}
    physical_volume disk[2/0/1.4.0] {
}
logical_volume "apps1"

size=30% free
usage=VxFS
mount_point=/apps1
minfree=5
stripes=2
}
logical_volume "apps2" {
mount_point= "/apps2"
usage=VxFS
size=remaining
minfree=5
stripes=2
}
}

Defining networking

This example defines a few of the network parameters which will be assigned to the system after it has been installed:

final system_name = "acorn1"
final ip_addr["lan0"] = "15.99.45.123"
final netmask["lan0"] = "255.255.248.0"
final nis_domain = "nis1"
final route_gateway[0] = "15.99.45.1"

Defining an install depot

This example defines a single SD depot from which software can be installed. Two different pieces of software are defined for the SD depot. Each can be selected independently for installation. The impact lines tell Ignite-UX how much space this software requires in a given directory. This information is used to size the file systems correctly. The sw_category construct allows you to group the software so that the user interface can present it in chunks which make sense to you. Since this example references an SD depot, it would have been created by make_config:

sw_source "ee_apps_depot" {   description = "Electrical Engineering Application"   source_format = SD
source_type = "NET"
sd_server = "15.23.45.6"
sd_depot_dir = "/var/opt/ignite/depots/Rel_B.10.20/ee_apps"
}
sw_category "Applications" {
description = "User Applications"
}
sw_sel "EE CAD Package" {
sw_source = "ee_apps_depot"
sw_category = "Applications"
sd_software_list = "EECad,r=1.2,a=HP-UX_B.10.20_700"
impacts = "/var" 90524Kb
impacts = "/sbin" 1248Kb
}
sw_sel "EE Routing Package" {
sw_source = "ee_apps_depot"
sw_category = "Applications"
sd_software_list = "EERoute,r=2.4,a=HP-UX_B.10.20_700"
impacts = "/usr" 12568Kb
impacts = "/var" 26788Kb
}

Customizations Based on the Target System

The config file syntax provides a large number of system attribute keywords which describe the target system. Some examples are:

  • The size of the disk at the specified hw_path:

    disk[hw_path].size

  • The amount of memory present on the target system:

    memory

  • The string returned from uname -m:

    hardware_model

  • The link-level address of the target system:

    lla

System attribute keywords can be used in expressions in config files so that a particular clause is only included in specific target situations. The basic format of these clauses is:

(x){y}

which translates roughly to "if the expression x is true, then do y."

For example, this clause sets the size of some kernel tunable parameters if the target system has more than 256 MB of memory:

(memory > 256Mb) {
mod_kernel += "nproc (20+12*MAXUSERS)"
mod_kernel += "maxuprc 1000"
}

As another example, use this if you want to run a script to do some particular graphics customizations, but you only want to do so when the target system has the appropriate hardware:

(graphics[0].planes > 0) {
post_config_script +=
"/var/opt/ignite/scripts/multi_plane_graphics"
}

You can also specify multiple conditions. This example installs a particular piece of (previously defined) application software if the target system is a workstation (Series 700) having at least two disks. A message lets the user know why it is happening:

( (hardware_model ~ "9000/7.*") & (num_disks >= 2) ) {
note += "Installed apps1 because this is a big series 700."
init sw_sel "apps1" = TRUE
}

It is also possible to add an else clause. This example uses a generic variable capability and mathematical expressions to set the primary swap size based on the amount of memory in the target system:

(memory > 512Mb) {
init _hp_pri_swap = 512Mb
}
else {
init _hp_pri_swap = memory * 2
}

Customizations Based on User Selection

It is sometimes advantageous to be able to select particular customiza- tions independent of the target system's hardware setup. For example, you might have some systems which you intend to use as NFS file servers. You would like the ability to select NFS server capability from the UI when you are configuring the target system.

You have found that NFS file servers are more efficient if some of their kernel parameters are modified. NFS file servers also require some changes to the /etc/rc.config.d/nfsconf file via ch_rc.

One solution is to define a custom software selection with a sw_sel clause, which Ignite-UX shows on the Actions -> New Install -> Software tab when you are configuring a new installation. For example:

sw_source "special configs" {
source_format = cmd
} sw_sel "NFS Server" {
sw_category = "Machine Uses"
sw_source = "special configs"
mod_kernel += "dbc_min_pct 35"
mod_kernel += "dbc_max_pct 65"
post_config_cmd += "
/usr/sbin/ch_rc -a -p NFS_SERVER=1
/usr/sbin/ch_rc -a -p NFS_CLIENT=1
/usr/sbin/ch_rc -a -p NUM_NFSD=8"
}

The next figure shows the Software tab when the NFS server config file is used. As shown, the selected category is Machine Uses as defined in the config file. Choosing a different category would display a different set of software. If you were to select NFS Server from this screen, the kernel modifications specified in the config file would be applied during the installation. Likewise, the ch_rc commands specified in the config file will be run as part of the installation.

Using install tabs to configure client installations is explained in Chapter 5 “Installing HP-UX with Ignite-UX on Clients from a Server”.

Printable version
Privacy statement Using this site means you accept its terms Feedback to webmaster
© Hewlett-Packard Development Company, L.P.