xCAT Tool Descriptions

Introduction

This is a list of additional tools that are provided by xCAT. They are located in /opt/xcat/share/xcat/tools/, but should also be in your path. Many of these tools have been contributed by xCAT users that are not part of the core xCAT development team. That means they might not be supported as well as the main xCAT code. Read the help here, take a look at the code, and use at your own risk. If you have problems with a tool, post to the xCAT mailing list and the author will try to help you.


detect_dhcpd

Usage: detect_dhcpd -i interface [-m macaddress] [-t timeout] [-V]

This command can be used to detect the dhcp server in a network for a specific mac address.

Options:
    -i interface:  The interface which facing the target network.
    -m macaddress: The mac that will be used to detect dhcp server. Recommend to use the real mac of the node that will be netboot. If no specified, the mac of interface which specified by -i will be used.
    -t timeout:    The time to wait to detect the dhcp messages. The default value is 10s.

Author:  Wang, Xiao Peng

dhcpop

Usage: dhcphelper -h 

       dhcphelper -r|--rm -m|--mac  [ -a|--ip ] [ -n|--name ]
       delete the dhcp lease of specified , and 


go-xcat

go-xcat version 1.0.27

Usage: go-xcat [OPTION]... [ACTION]
Install xCAT automatically

Options:
Mandatory arguments to long options are mandatory for short options too.
  -h, --help                    display this help and exit
  --xcat-core=[URL]             use a different URL or path for the xcat-core
                                repository
  --xcat-dep=[URL]              use a different URL or path for the xcat-dep
                                repository
  -x, --xcat-version=[VERSION]  specify the version of xCAT; imply the subdirectory
                                of corresponding xCAT version under
                                  http://xcat.org/files/xcat/repos/yum/  or
                                  http://xcat.org/files/xcat/repos/apt/
                                cannot use with --xcat-core
  -y, --yes                     answer yes for all questions

Actions:
  install                       installs all the latest versions of xcat-core
                                and xcat-dep packages from the repository
  update                        updates installed xcat-core packages to the
                                latest version from the repository

Examples:
  go-xcat
  go-xcat install
  go-xcat update
  go-xcat --yes install
  go-xcat -x 2.12 -y install
  go-xcat --xcat-version=devel install
  go-xcat --xcat-core=/path/to/xcat-core.tar.bz2 \
          --xcat-dep=/path/to/xcat-dep.tar.bz2 install
  go-xcat --xcat-core=http://xcat.org/path/to/xcat-core.tar.bz2 \
          --xcat-dep=http://xcat.org/path/to/xcat-dep.tar.bz2 install

xCAT (Extreme Cloud/Cluster Administration Toolkit): 
Full documentation at: 

mac2linklocal

Usage:  mac2linklocal -m 

Determines the IPv6 link local address that is appropriate for a NIC, based on its MAC.

Author:  Li, Guang Cheng

mktoolscenter

Usage: mktoolscenter
  --ph 
  --pp 
  --puser 
  --ppw 
  -l 
  -s
  --nfsserver 
  --nfspath 
  --profilename 
  --help

Updates IBM system x server hardware using IBM Bootable Media Creator.

Author:  Jim Turner

nodesw

nodesw changes the vlan of a node to a specified vlan
requires xCAT 2.0, Switch configured with SNMP sets, and only tested on SMC8648T
nodesw -h|--help
nodesw [-v]  vlan 
nodesw [-v]  show

Author:  Vallard Benincosa

reorgtbls

DB2 Table Reorganization utility.
This script can be set as a cron job or run on the command line to reorg the xcatdb DB2 database tables. It automatically added as a cron job, if you use the db2sqlsetup command to create your DB2 database setup for xCAT. 
Usage:
	--V - Verbose mode
	--h - usage
	--t -comma delimitated list of tables.
             Without this flag it reorgs all tables in the xcatdb database .

Author:  Lissa Valletta

rmblade

Usage: rmblade [-h|--help]

Response to SNMP for monsetting to remove blade from xCAT when trap is recieved.
Pipe the MM IP address and blade slot number into this cmd.

Example: 
 1.  user removes a blade from the chassis
 2.  snmp trap setup to point here
 3.  this script removes the blade configuration from xCAT
 4.  so if blade is placed in new slot or back in then xCAT goes 
     through rediscover process again.

Author:  Jarrod Johnson

rmnodecfg

Usage: rmnodecfg [-h|--help] 

Removes the configuration of a node so that the next time you reboot 
it, it forces it to go through the discovery process.
This does not remove it completely from xCAT.  You may want to do this
command before running noderm to completely purge the system of the node

Author:  Vallard Benincosa

test_hca_state

test_hca_state (part of the BEF_Scripts for xCAT) v3.2.27

Usage: test_hca_state NODERANGE [FILTER] | xcoll

    --help  Display this help output.

    NODERANGE
        An xCAT noderange on which to operate.

    FILTER
        A string to match in the output, filtering out everything else.  This
        is passed to "egrep" and can be a simple string or a regular
        expression.

Purpose:  

    This tool provides a quick and easily repeatable method of
    validating key InfiniBand adapter (HCA) and node based InfiniBand
    settings across an entire cluster.  
    
    Having consistent OFED settings, and even HCA firmware, can be very
    important for a properly functioning InfiniBand fabric.  This tool
    can help you confirm that your nodes are using the settings you
    want, and if any nodes have settings descrepancies.


Example output:

    #
    # This example shows that all of rack 14 has the same settings.
    #
    root@mgt1:~ # test_hca_state rack14 | xcoll
    ====================================
    rack14
    ====================================
    OFED Version: MLNX_OFED_LINUX-2.0-3.0.0.3 (OFED-2.0-3.0.0):
    mlx4_0
      PCI: Gen3
      Firmware installed: 2.30.3200
      Firmware active:    2.30.3200
      log_num_mtt:      20
      log_mtts_per_seg: 3
      Port 1: InfiniBand    phys_state: 5: LinkUp
        state: 4: ACTIVE
        rate: 40 Gb/sec (4X FDR10)
        symbol_error: 0
        port_rcv_errors: 0
      Port 2: InfiniBand    phys_state: 3: Disabled
        state: 1: DOWN
        rate: 10 Gb/sec (4X)
        symbol_error: 0
        port_rcv_errors: 0
    
      IPoIB
        recv_queue_size: 8192
        send_queue_size: 8192
        ib0:
          Mode: datagram
          MTU:  4092
          Mode: up
        ib1:
          Mode: datagram
          MTU:  4092
          Mode: up


    #
    # This example uses a FILTER on the word 'firmware'.  In this case, we've
    # upgraded the firmware across rack11 and rack12.  
    #
    #   - On rack11, we've also restarted the IB stack (/etc/init.d/openibd
    #     restart) to activate the new firmware.  
    #
    #   - Rack 12 has also been updated, as we can see from the 'Firmware
    #     installed' line, but it's nodes are still running with their prior
    #     level of firmware and must reload the IB stack to have it take effect.
    #
    root@mgt1:~ # test_hca_state rack11,rack12 firmware | xcoll
    ====================================
    rack11
    ====================================
      Firmware installed: 2.30.3200
      Firmware active:    2.30.3200
    
    ====================================
    rack12
    ====================================
      Firmware installed: 2.30.3200
      Firmware active:    2.11.1260


Author:  Brian Finley

xCATreg

Usage:xCATreg - Run xcat autotest  test cases.

  Explanation for the options:
    -b: when -b is specified, the regression will be done against the specified branch. The default value is master.

    -m: when -m is specified, run regression on the specified mn. The default value is all the mn in configuration file.

    -f: specify the configuration file location.

    -a: when -a is specified, run the regression even there is no code updates.

    -e:  send the test result to email_addr

  xCATreg [-?|-h]
  xCATreg [-f configure file] [-b branch] [-m mangement node] [-e mail list] [-a] Even code not updates, there will be regression.
  xCATreg [-f configure file] [-b branch] [-m mangement node] [-e mail list] if code updates there will be regression.


xcatstat

Usage: xcatstat [noderange]

This command can be used to display the OS and network interface status (On or Off status) for compute nodes which are managed by current xCAT MN.

The output is similar as the CSM command csmstat: /opt/csm/bin/csmstat -d: -s Status,Network-Interfaces

noderange can be any valid xCAT noderange. If it's ignored, the nodes in the all group will be operated.

Options:
  -h : Display this usage message.

Output:
  For OS status: 1 means on; 0 means off; 127 means unknown
  For nic interface status: the format is >. 1 means on; 0 means off; 127 means unknown

Example: 
  Get the status of three nodes: rh6mn,rh7mn,rh7cn
   # ./xcatstat rh6mn,rh7mn,rh7cn
     # Hostname:Status:Network-Interfaces:
       rh6mn:1:eth0-1:
       rh7cn:0:127:
       rh7mn:1:docker0-2:eth0-1:

Author:  Wang, Xiao Peng