--
MikeGore - 2015-08-25
common shell scripts used by ClusterTools
- common_functions common_functions
- Common SHELL functions used by image deployment system
- common_vars common_vars
- Common SHELL variables specific to most systems
- common_host common_host
- Common HOST specific variables used for the Image Deployment System
- NODES NODES
- List of NODES and ILOMS in the cluster
Documentation notes
- Note: Documentation for all of the *ipmi commands below were automatically generated using the sh2twiki command*
- ssh cscf-adm@asimov
- cd /cscf-adm/src
- sudo bash
- * make docs - invokes sh2wtiki to create both HTML adn TWIKI documents
- All of the generated TWIKI files will be found under /cscf-adm/src/twiki
common_functions
- Updated: Tue Aug 25 10:58:50 2015
Common SHELL functions used by image deployment system
- common_functions - document source
- Author: Mike Gore
- Date:
- Notes:
- Assumed:
- Normally called by "common_vars" first
- What:
- A collection of shell utilities we use everywhere
- Part of three file group: common_vars common_host common_functions
- Note:
- test to make sure this script is not called recursively
- COMMON_FUNCIONS="TRUE"
- Note:
- Groups that an administrator is part of
- ADMIN_GROUPS="adm cdrom sudo dip plugdev fuse lpadmin sambashare staff_cscf"
root test functions
need_root()
- What:
- Make sure we are root or die
- Arguments:
- Returns:
- Example:
- What:
- set enviornment, We assume common_vars and common_functions is copied there
- export PATH=$PATH:/sbin:/usr/sbin:/usr/local/bin:
- What:
- List of network interfaces
- export NETS=`ifconfig -a | grep -e "^[a-z0-9][a-z0-9]*" | cut -d' ' -f1 | sed -e "/^lo$/d"`
- What:
- Version number of our Ubuntu Release
- RELEASENO=`lsb_release -rs 2>/dev/null`
- What:
- Day of Week
- DAYWEEK=`date +%w`
- What:
- Day of Month
- DAYMON=`date +%d`
argument processing
check_args()
- What:
- Arguments:
- -d = debug
- -l = logging
- -y = yes for all default yes prompting
- -n = no for all default no prompting
- Returns:
- Notes:
- -d sets DEBUG=TRUE
- -l sets LOGGING=ON
- -y sets ANSWER=Y and DEBUG=TRUE
- -n sets ANSWER=N and DEBUG=TRUE
- Example:
File handeling Functions
script_name()
- What:
- *Echo the the absolute path of this script *
- Example:
Functions that log/echo a message
sep()
- What:
- echo a separator using "======"
- Example:
log()
- What:
- Arguments:
- Example:
error()
- What:
- Echo ERROR: and arguments
- Arguments:
- Example:
- error "user made a mistake"
warn()
- What:
- Arguments:
- Example:
- warn "square peg in round hole alert"
fatal()
- What:
- Echo ERROR: and arguments
- Arguments:
- Returns:
- Example:
Functions that turn logging on or off
logging()
- What:
- Arguments:
- Example:
logit()
- What:
- echo arguments - only if LOGGING or DEBUG are set
- Arguments:
- Example:
Functions that run a command and output a message
try()
- What:
- run a command and aguments, die on error, log if LOGGING is set
- Arguments:
- $*
- Example
- try stat /tmp/logfile
run()
- What:
- run a command and aguments
- logs commend but only it if LOGGING is set
- Arguments:
- Example:
echo_run()
- What:
- run a command and aguments, log always
- Arguments:
- Example:
run_echo()
- What:
- run a command and aguments, log always
- Arguments:
- Notes:
- Only used for older scripts
- Example:
User prompt functions
prompt_input()
- What:
- Prompt for input with a message
- Arguments:
- Returns:
- TRUE if Y/y or or FALSE if N/n
- Notes:
- Diplay usage message if no arguments are present and returns FALSE
- Example:
- if prompt_input "Continue y/n [n]?"
- then
- echo "yes"
- else"
- echo "no"
- fi
pause_no()
- What:
- Returns:
- TRUE or FALSE, true = Y, false = N
- Notes:
- if ANSWER=N then always returns FALSE
- Example:
- pause_no Remove Network Manager Completely - Answer NO on laptops
- if [ $? -eq 0 ]
- then
- apt-get -y purge network-manager-gnome network-manager-pptp network-mana
- ger-pptp-gnome
- else
- echo skipping
- fi
pause_yes()
- What:
- Returns:
- TRUE or FALSE, true = Y, false = N
- Notes:
- if ANSWER=Y then always returns TRUE
- Example:
pause ()
- What:
- Echo arguments and if DEBUG=TRUE wait for Return/Enter key
- Arguments:
- Returns:
- Example:
- DEBUG=TRUE
- pause "We just finished installing the software"
uprompt()
- What:
- Prompt for input with message and default value if any
- Arguments:
- Returns:
- TRUE with string in USER_PROMPT
- FALSE if default is used
- EXIT 1 if arguments unexpected
- Notes:
- -s will supress echo using '*' characters instead
- Example:
- uprompt "Enter Cost" 100
- uprompt -s "Enter Password" "xyzzy"
hostname functions
hostbase()
- What:
- echo hostname without any domain parts
ip_address()
- Arguments:
- Returns:
- What:
- echo IP address of given host
Directory related commands
absolute()
- What:
- Display the absolute path of a file - uses echo
- Arguments:
- Notes:
- if argument is -bash then return absolute of current directory
- Example:
check_cd()
- What:
- Change directory and verify we actually end up there
- Argument:
- Notes:
- Useful if verifying permission of traget directory
- Example:
expect()
- What:
- Expect a file/object or exit fatal error
- Argument:
- Returns:
- Notes:
- Display the message "Found File/object name"
- Example:
Service Related FUnctions
update_loop()
- What:
- Update the maximum number of loop devices on this system
- Arguments:
- Returns:
- Example:
install_service()
- What:
- Install a service into the /etc/init.d , etc/rc?.d/ directories
- Arguments:
- service_name start_level stop_level
- Notes:
- service name is expected to be in the current directory
- start_level is the numeric start value: ex 80
- stop_level is the numeric value: ex 30
- The larger the number the later the task gets started or stopped
- Returns:
- EXIT 1 if arguments are missing
- Example:
- install_service firewall 80 30
remove_service()
- What:
- Arguments:
- Returns:
- EXIT 1 is arguments are missing
- Example:
Ubuntu Package Functions
update_list()
- What:
- Update apt/dpkg package list from repositories
- Arguments:
- Example:
have_pkg()
- What:
- Do we have a package installed ?
- Argument:
- Returns:
- Notes:
- Package tested with dpkg -s command
- May miss manually installed packages with dpkg -i
- Example:
- if have_pkg apache2
- then
- echo we have apache 2 - yahoo...
- else
- echo we do not have the package apache2
- fi
have_package_on_repo()
- What:
- Check if a package exists on the repository
- Arguments:
- Returns:
- TRUE if package is installed, otherwise FALSE
- Example:
- if have_package_on_repo apache2
- then
- update_package apache2
- else
- error apache2 is not found on the repositories
- fi
install_packages()
- What:
- Install packages filering list tested against repository
- Internal function Should only be called from update_packages
- Arguments:
- Example:
- install_packages samba cups
check_packages()
- What:
- Do we have all of these packages installed ?
- Arguments:
- Returns:
- TRUE if all are installed - or FALSE if any are not
- Notes:
- displays missing packages
- Example:
- if check_packages apache2 samba dnsmasq
- then
- echo we have them all
- else
- echo we are missing packages
- fi
update_packages()
- What:
- Update/Install packages - if not already installed
- Arguments:
- Notes:
- Installs any missing packages
- Example:
- update_packages apache2 samba dnsmasq
add_repo()
- What:
- Arguments:
- Notes:
- You must ommit the :ppa
- Uses the add-apt-repository comment - "ppa:REPOSITORY"
- Example:
- add_repo richarvey/nodejs
string processing
string_contains_element()
- What:
- Check if a string contains any words in a list - caseless test
- Arguments:
- "string to examine" "list of words to test"
- Returns:
- Example:
- if string_contains_element" "the sky is blue" "red yellow blue"
- then
- ` echo yup
- else
- echo nope
- fi
escstr()
- What:
- Escape a string so it can be used in sed
- Notes:
- we escape special meta characters so sed will process them correctly
- Example:
- sed -e -i "s/scspcxxx/$(escstr HOSTNAME)/" /etc/hostname
GIT repository functions
need_update()
- What:
- Check if a directory contai8ns any files NEWER then a reference file/object
- object is a file or directory
- Notes:
- recursive checks subdirectories
- ignores any GIT substructure
- Arguments:
- directory reference_object
- Returns:
- Example:
- if need_update /share/git/project /share/git/project/timestamed_file
- then
- echo files have been updated
- else
- echo nothing changed
- fi
update_git()
- What:
- Download/Update local GIT repositories from remote source
- Arguments:
- Notes:
- We have two modes
- 1) We have a URL and muiltiple subrepositories
- we use: git clone URL/repository repository
- 2) We have a URL and ONE repository
- we use: git clone URL repository
- Example:
- update_git git_url_base project1 project2 ..."
Environment processing functions
edit_environment()
- What:
- Edit PATH variable and /etc/environment file adding new search path
- Notes:
- *This will remove any occurence first, *
- Then adds the argument the first setting in PATH
- Arguments:
- Example:
- exit_environment "/usr/local/projects/bin"
update_path()
- What:
- Edit PATH enviroment adding new search path
- Arguments:
- Notes:
- Removes any occurence of PATH then adds it first
- Example:
- update_path "/usr/local/projects/bin"
Web downloading functions
web_get()
- What:
- Get file from web site and place in target folder
- Arguments:
- Notes:
- * If the file exists then get the file only if it is newer*
- Returns:
- FALSE if file is missing or empty, EXIT 1 if argument is missing
- Example:
- web_get "http://sourceforge.net/projects/clonezilla/files/latest/download?source=files" "$RAWISO/linux_utils/Clonezilla"
web_get_chown()
- What:
- Get file from the web and change ownership
- Arguments:
- URL DIR USERID GROUP
- URL: URL of file
- DIR: Output directory
- USERID:
- GROUP:
- Returns:
- FALSE if file is missing or empty, EXIT 1 if argument is missing
- Example:
- web_get_chown "$MIRROR/$REL/$f" "$RAWISO/Ubuntu/"
wget_as()
- What:
- Get the FILE from the download site and save as ARGUMENT
- Arguments:
- Returns:
- FALSE if file is missing or empty, EXIT 1 if argument is missing
- Notes:
- * time stamp is NOT perserved*
- web_get "http://sourceforge.net/projects/clonezilla/files/latest/download?source=files" "$RAWISO/linux_utils/Clonezilla"
File Processing functions
extract()
- What:
- extract a tar file for only certain file types
- Arguments:
- .tgz .tar.bz2 .tar.gz .tar
- Returns:
- EXIT 1 if file is missing
- FIXME:
- should really be removed to specific script that needs it
backup()
- What:
- Backup a file with .date suffix using date +%d%b%Y-
M
- Arguments:
- Returns:
- TRUE or FALSE on success or fail or missing arguments
- Example:
sed_file ()
- What:
- Edit a file with sed - passing a sed string as an argument
- Arguments:
- Notes:
- sed_command is a string passed to sed
- Warning:
- meta characters not protected - use escstr function
compare_ge()
- What:
- compare numeric values of two arguments
- Arguments:
- Returns:
- Example:
- if compare_ge 2 1
- then
- echo yes
- fi
compare_le()
- What:
- compare numeric values of two arguments
- Arguments:
- Returns:
- Example:
- if compare_le 2 1
- then
- echo no
- fi
compare_gt()
- What:
- compare numeric values of two arguments
- Arguments:
- Returns:
- Example:
- if compare_gt 2 1
- then
- echo yes
- fi
compare_lt()
- What:
- compare numeric values of two arguments
- Arguments:
- Returns:
- Example:
- if compare_lt 2 1
- then
- echo no
- fi
compare_eq()
- What:
- compare numeric values of two arguments
- Arguments:
- Returns:
- Example:
- if compare_eq 2 1
- then
- echo no
- fi
compare_ne()
- What:
- compare numeric values of two arguments
- Arguments:
- Returns:
- Example:
- if compare_ne 2 1
- then
- echo yes
- fi
Email notification functions
notify()
- What:
- Arguments:
- Notes:
- FILE is a file containing the message
- Example:
SSH Control Master tools
cm_start()
- What:
- Arguments:
- Usage:
- Sets:
- CM_HOST=$1
- CM_USER=$2
- CM_PATH=socket path for COntrol Master Connection
- CM_PATH_E=Escaped socket path for COntrol Master Connection
- Notes:
- Close the control master on exit using a shell trap
- See cm_stop for an example
- Based on work done by Richard Hansen in StackOverflow article
- http:
- /stackoverflow.com/questions/6447123
- Look for Richard Hansen
- Examples:
- cm_start $PXEHOST $PXEUSER
- try rsync -e "ssh -S ${CM_PATH_E}" -a "$CM_USER@$CM_HOST":/coregroup1/images/ubuntu-scripts .
- cm_stop
cm_stop()
- What:
- Close the control master on exit using a shell trap
- See:
- Resets:
- CM_HOST
- CM_USER
- CM_PATH
- CM_PATH_E
User Group Functions
get_group()
- What:
- get group name of userid from getent group userid
- Arguments:
- Returns:
- GRID=group entry using: getent group
- NAME=userid
get_groups()
- What:
- Echo a list of groups that a user is part of
- Arguments:
- Returns:
- echos all of the groups a user is part of
- Assumes:
- system groups are <= 200 and >= 50000
- Notes:
- skips system groups if flag is non empty
- Returns:
- GRPS=group entry using: groups userid
- NAME=userid
User Functions
get_user()
- What:
- Get a list of the GCOS entries from getent passwd,shadow and groups
- Arguments:
- Returns:
- NAME=userid
- PUID=uid
- PGID=gid
- GRID=getent group, group entry
- PPASS=encripted password
- PHOME=home directory
- PSHELL=shell
- GRPS=groups user is part of
- Example:
list_users()
- What:
- Echo a list of users - but not system users
- Arguments:
- Notes:
- Assumes:
- system groups are <= 200 and >= 50000
- Uses:
- Returns:
- USERS=`egrep "^[A-Za-z0-9-]+:" /etc/passwd | cut -d: -f1 | sort -u`
- Example:
- VAR=`list_users`
- # note the back tics
list_non_user_groups()
- What:
- Echo groups that are not userids omitting system groups
- Arguments:
- Returns:
- GS=`egrep '^[A-Za-z0-9-]+:' /etc/group | cut -d: -f1 | sort -u`
- Assumes:
- system groups are <= 200 and >= 50000
- Example:
- VAR=`list_non_user_groups`
- # note the back tics
check_user()
- What:
- Does a user exist -limited to non system groups
- Uses:
- list_users is the filter of valid users
- Arguments:
- Returns:
- Example:
- if check_users userid
- then
- echo userid exists
- fi
want_user()
- What:
- Does a user exist -limited to non system groups
- Uses:
- list_users is the filter of valid users
- Arguments:
- Returns:
- TRUE if user exists, EXIT 1 if user does NOT exist
- Example:
- if check_users userid
- then
- echo userid exists
- fi
echo_encrypted_passwd()
- What:
- Echo the encrypted password for a user
- Or - if the password is NOT set we get the value
- From a file called accounts in the current directory
- Arguments:
- Uses:
- Example:
- echo_encrypted_password userid
- Notes:
- Useful in setting up accounts from a file
- Accounts file format: userid:encrypted_passwd
backup_passwd()
- What:
- Backup password,shadow,group and gshadow files using timestamed backup function
- Uses:
- Arguments:
- Example:
make_admin()
- What:
- Add a user to all of the admin groups AND add then to the /etc/sudoers file
- Returns:
- Example:
add_admin_user()
- What:
- Add an admin user to the PXEGROUP
- Arguments:
- userid home_directory_parent
- Notes:
- Similar to make_admin - except adds users to PXEGROUP
- Adds them to the $ADM_GROUPS
- Creates groups $PXEGROUPID and $PXEGROUP first if they do not exist
- Example:
- add_admin_user csfc-adm /
- # Creates /cscf-adm userid adds them to PXEGROUP
Samba functions
list_samba_users()
- What:
- Arguments:
- Notes:
- * Uses the filtered output of pdbedit -L -v*
- Example:
check_samba_user()
- What:
- Check if a samba user exists
- Arguments:
- Returns:
- Example:
- if check_samba_user cscf-adm
- then
- echo yse the are
- else
- echo no they are not
- fi
want_samba_user()
- What:
- Require that a samba user exists or EXIT 1
- Returns:
- TRUE or EXIT1 if user is missing
- Arguments:
- want_samba_users cscf-adm
- Example:
- if want_samba_users cscf-adm
- then
- echo have them added already
- fi
add_samba_user()
- What:
- Add a samba user if not already there
- Arguments:
- Prompts:
- passsword - for userid if they do not exist
- Notes:
- adds the user to the $PXEGROUP
- Example:
add_sshkey()
- What:
- Add Public SSH key file to users autorized_keys2 file - used mainly for NFS shared home dircetories ina cluster
- Arguments:
- userid home_directory public_key_file
- Assumes:
- make_ssh_pub has been called first to create SSH key if none yet exists
- Returns:
- EXIT 1 with message if user or public key is missing
- Notes:
- make_ssh_pub function will assure they have a pubulic key
- Example:
- cscf-adm /cscf-adm /cscf-adm/.ssh/id_dsa.pub
remove_hostkey()
- Arguments:
- Returns:
- EXIT 1 with message if user or public key is missing
- Notes:
- make_ssh_pub function will assure they have a pbulic key
make_sshpub()
- What:
- Make a DSA public key for a user - but only if they do not have one yet
- Arguments:
- Returns:
- EXIT 1 if userid is missing
- Example:
update_ssh()
- What:
- Create DSA SSH Keys for all non system users - but only if they do not have one
- Arguments:
- Notes:
make_users()
- What:
- Create a script that will recreate all non-system local users and groups for this host
- Arguments:
- [-noids] - removes fixed numeric gid and uid values
- Assumes:
- local user accounts only - does not list AD users with no local GCOS password entry
- Uses:
- list_users, list_non_users_groups
- FIXME:
- We still have to fully check that NOIDS works as intended
- Notes:
- will backup the passwd,shadow,group and gshadow file
- Example:
- make_users >create_users.sh
- chmod 755 create_users.sh
mk_user_dirs()
- What:
- Adds all users, reported by list_users, to given directory
- This is useful if users have read/write directories in more then one filesystem
- Arguments:
- Notes:
- changes user and group permissions of directory to that of the user
- Example:
bind_mount()
- Notes:
- Helpper for chrooting into a mounted filesystem - binds /prc /sys /dev .. etc into it first
- Arguments:
- What:
- Bind the running OS special file systems /proc /sys /dev ... etc
- into target folder - that must me formatted as a Linux filesystem
- Example:
update_scripts()
- What:
- Copy the systems ubuntu-scripts folder into a target location
- Uses:
- *$PXEUSER, $PXEHOST, $UBUNTU_SCRIPTS_DIR *
- Arguments:
- Example:
- update_scripts /ubuntu-scripts
Network Functions
get_nets()
- What:
- Get a list of network interfaces - except lo
- Returns:
- NETS=list of network interfaces
- Example:
get_net()
- What:
- gets the settings of the specified nwtrok interface
- Arguments:
- Returns:
- NETIF=interface
- IP=IP Address
- NETIP=IP Address
- NETMASK=Netmask
- NET=$NETIP/$Netmask
- NETSUB=Subnet - last digit of address
- Example:
- get_net em1
- echo "IP:$IP, NETIP:$NETIP, NETMASK:$NETMASK, NETSUP:$NETSUB, NET:$NET"
random_passwd()
- What:
- iDisplay random 12 character password
- Arguments:
- Usage:
- PASSWD=$( random_passwd )
- Example:
- PASSWD=`random_passwd`
- # note back tics
myuwdir()
- What:
- *Using a UWDIR userid lookup email, full name and office *
- Returns:
- UWDIR_EMAIL= email address
- UWDIR_OFFICE= office location
- UWDIR_FULL= full name
- Example:
- myuwdir magore
- echo "email:$UWDIR_EMAIL, OFFICE:$UWDIR_OFFICE, Full Name: $UWDIR_FULL"
common_host
- Updated: Tue Nov 11 10:14:09 2014
Common HOST specific variables used for the Image Deployment System
- common_host - document source
- Author: Mike Gore
- Date:
- Notes:
- What:
- Define local Administative users, names and groups
- Vars:
- ADM_USERS="magore cscf-adm cscf-op"
- ADM_USER_NAMES="'Mike Gore' 'CSCF Admin' 'CSCF OP'"
- ADM_GROUPS="adm cdrom sudo dip plugdev fuse lpadmin sambashare smbadm"
- What:
- Define PXE server Hostname, Samba userid and group information
- Vars:
- PXEHOST=$HOSTNAME
- PXEUSER=cscf-adm
- PXEGROUP=smbadm
- PXEGROUPID=444
External Network Interface
Primary Network Interface
- What:
- Network Interfaces - can be used to provide NFS,TFTPBOOT,DHCP,DNS
- External Interface
- VARS:
- What:
- Private vlan
- - must not the same as the external interface
- - can be used for NFS,TFTPBOOT,DHCP,DNS
- VARS:
- What:
- Do we NAT/Forward the INTIF network to the outside ?
- VARS:
Secondary Private Network Interface
Third Private Network Interface
- What:
- Do we NAT/Forward the seconday INT2IF network to the outside ?
- - must not the same as the external interface
- - can be used for NFS,TFTPBOOT,DHCP,DNS
- VARS:
- What:
- Do we NAT/Forward the seconday INT2IF network to the outside ?
- Options:
- VARS:
- What:
- Do we NAT/Forward the seconday INT2IF network to the outside ?
- - must not the same as the external interface
- - can be used for NFS,TFTPBOOT,DHCP,DNS
- VARS:
- What:
- Do we NAT/Forward the seconday INT2IF network to the outside ?
- Options:
- VARS:
Firewall defines
- Vars:
- All addresses
- UNIVERSE="0.0.0.0/0"
- Vars:
- UW Addresses spaces
- UW_129="129.97.0.0/16"
- UW_172="172.16.0.0/14"
- UW_10="10.0.0.0/8"
Samba networks will allways include all private and localhost
- networks on this machine
- Add othernetworks here
- Notes:
- Format 172., 129.97.15.0/24, 129.97.16.0/255.255.255.0, $UW_129 ...
- Vars:
- default netwoks
- SAMBA_DEF_NETS=""
- Vars:
- Samba Workgroup
- SAMBA_WORKGROUP="CS_GENERAL"
- Vars:
- Samba Template file
- SMB_CONF_TEMPLATE="/etc/samba/smb.conf.template"
- Vars:
- Samba config file
- SMB_CONF=/etc/samba/smb.conf
common_vars
- Updated: Wed Aug 5 11:49:05 2015
Common SHELL variables specific to most systems
- common_vars - document source
- Author: Mike Gore
- Date:
- Notes:
- SHELL Variables used for the image deployment system common_shell functions
- What:
- Defines common directorys and names for used by image deployment system
- network settinsg for all networks
- dnsmasq settings
- pxe boot directories, and user information
- raw iso file paths, vertual iso mount directory, deployment images
- Part of three file group: common_vars common_host common_functions
get_extif()
- What:
- Get IP settings for our external networks
- Uses:
- Returns:
- NETIF=$EXTIF
- EXTIP=$NETIP Address
- EXTMASK=$NETMASK
- EXTNET=$NET
- EXTSUB=$NETSUB
- EXT_NETWORK=$EXTIP/$EXTMASK
get_intif()
- What:
- Get IP settings for our main private network
- Uses:
- Returns:
- NETIF=$INTIF
- INTIP=$NETIP Address
- INTMASK=$NETMASK
- INTNET=$NET
- INTSUB=$NETSUB
- INT_NETWORK=$INTIP/$INTMASK
- Main Internal Private TCP/IP network and IP address
get_int2if()
- What:
- Get IP settings for our seconday private network
- Uses:
- Returns:
- NETIF=$INTIF
- INTIP=$NETIP Address
- INTMASK=$NETMASK
- INTNET=$NET
- INTSUB=$NETSUB
- INT_NETWORK=$INTIP/$INTMASK
- Main Internal Private TCP/IP network and IP address
get_int3if()
- What:
- Get IP settings for our seconday private network
- Uses:
- Returns:
- NETIF=$INTIF
- INTIP=$NETIP Address
- INTMASK=$NETMASK
- INTNET=$NET
- INTSUB=$NETSUB
- INT_NETWORK=$INTIP/$INTMASK
- Main Internal Private TCP/IP network and IP address
set_samba_nets()
- What:
- Setup allowed Samba networks
- Returns:
- SAMBA_NETS=all private networks and $SAMBA_DEFS_NETS if set
- SAMBA_IFS=all defined network interfaces
- Notes:
- See:
- INT_NETWORK,INT2_NETWORK, INTIF,INT2IF
dump_vars()
- What:
- Dumps a list of the main configuration variables
NODES
- Updated: Tue Aug 25 15:43:51 2015
Define hostname and ILOM hostnames for nodes a cluster excluding the head node
- NODES - document source
- Author: Mike Gore
- Date:
- Example:
- . ./NODES
- By sourcing NODES the values become part of the currently runnning shell script
- Result:
- Set the following envioronment variables
- - NODES - a list of hostnames for nodes in the clutser
- - ILOM_NODES - a list of ILOM/BMC hostnames for nodes in the clutser
- - MASTER - head node
- - PACKAGE_MASTER - typically a node the defines what base packages we want everywhere
This topic: CF
> Linux >
ClusterTools > ClusterToolsCommon
Topic revision: r2 - 2015-08-26 - MikeGore