Note: this is an xCAT design document, not an xCAT user document. If you are an xCAT user, you are welcome to glean information from this design, but be aware that it may not have complete or up to date procedures.
The cluster config file provides a convenient way for the user to give xcat (and potentially other software) high level info about the cluster. Using the xcatsetup cmd, xcat will read the file and prime the db so that it is ready for the discovery process. The contents of the cluster config file is organized into stanzas. Several of the stanzas contain xcat info (see below), but other stanzas can be added for other cluster software. These stanzas will be ignored by xcat. The other cluster software components should each read this file too and process only the stanzas they recognize. In this way, the user can specify all the high level info about the cluster in a single file, but we don't need one monolithic piece of software to process it all.
Note: for more specific info about the actual implementation, see the xcatsetup man page.
The general format of the config file is:
xcat-site:
domain = cluster.com
xcat-service-lan:
dhcp-dynamic-range = 10.200.100.1-10.200.100.254
# this is a comment
hostname-range = service-switch[1-3]
starting-ip = 10.200.0.1
...
The xcat command that will read and process this file for all of the xcat-specific stanzas is:
xcatsetup -v|--version -?|-h|--help cluster-config-file
Other cluster software components should have their own command that the admin can run to have it read the config file.
For reference for some of the other aspects of cluster set up, see:
The overall cluster set up process is:
The config file is organized into stanzas. What follows below is each stanza name, what attributes are specified by the user in that stanza, and what xcatsetup will do with it.
Note: some of these keywords and the resulting actions have changed. See the xcatsetup man page for more accurate info about the keywords supported and the database attributes that are filled in.
xcat-site:
domain = cluster.com
xcatsetup actions:
This section will be implemented in a later phase.
xcat-service-lan:
dhcp-dynamic-range = 10.200.100.1-10.200.100.254
# The rest of the attributes in this stanza are optional. If you do not
# specify them, then you must specify the vpd-file attribute in the
# xcat-frames stanza.
hostname-range = service-switch[1-3]
starting-ip = 10.200.0.1
num-ports-per-switch = 40
switch-port-prefix = Gi6/
switch-port-sequence = hmc:*, bpa:*, fsp:*
xcatsetup actions:
xcat-hmcs:
hostname-range = hmc01-hmc15
starting-ip = 10.201.0.1
xcatsetup actions:
xcat-frames:
# these are the connections to the BPCs
hostname-range = bpc01-bpc15
starting-ip = 10.202.0.1
num-frames-per-hmc = 3
# The vpd-file should be in stanza format accepted by the chdef cmd, and contain the following vpd table attributes:
# node
# serial
# mtm
# side
vpd-file = /tmp/frame-vpd-order.stanza
Example vpd-file:
bpc01:
objtype=node
serial=99200G1
mtm=9A00-100
side=A
bpc02:
objtype=node
serial=99200D1
mtm=9A00-100
side=A
xcatsetup actions:
xcat-cecs:
# these are the connections to the FSPs
hostname-range = cec01-cec60
starting-ip = 10.203.0.1
supernode-list = /tmp/supernodelist.txt
The supernode-list file that can be optionally specified should have the format:
bpc01: 0, 1, 16
bpc02: 17, 32
bpc03: 33, 48, 49
bpc04: 64 , 65, 80
bpc05: 81, 96
bpc06: 97(1), 112(1), 113(1)
xcatsetup actions:
xcat-building-blocks:
num-frames-per-bb = 3
xcatsetup actions:
xcat-lpars:
# This is for the ethernet NIC on each SN
service-node-hostname-range-facing-mn = sn01-sn20
service-node-starting-ip-facing-mn = 10.200.1.1
service-node-hostname-range-facing-cn = sn[01-20]-hfi
service-node-starting-ip-facing-cn = 10.201.1.1
storage-node-hostname-range = stor01-stor40
storage-node-starting-ip = 10.202.1.1
# do we need a login-node range???
# This is the application network. For each CN, the hostname will be combined with each interface name.
compute-node-hostname-range = n001-n800
compute-node-interface-names = hf0, hf1, hf2, hf3, ml0 (or bond0 for linux)
compute-node-starting-ips = 10.10.1.1, 10.11.1.1, 10.12.1.1, 10.13.1.1, 10.14.1.1
num-lpars-per-cec = 8
#todo: do we need any other info to create the lpars, e.g. pprofile?
xcatsetup actions:
ll-config:
central_manager_list = hmc01 hmc02
resource_mgr_list = hmc01 hmc02
loadl_admin = loadl root loadladmin
schedd_list = sn01 sn02 sn03 sn04
LOG = /tmp/$(HOST)/log
EXECUTE = /tmp/$(HOST)/execute
SPOOL = /tmp/$(HOST)/spool
xcatsetup actions:
llconfig -i actions:
Wiki: CRHS-like_function_enhancements
Wiki: Energy_Management
Wiki: XCAT_2_Mini_Designs_for_New_Features