mirror of
https://github.com/xcat2/xcat-core.git
synced 2025-05-22 11:42:05 +00:00
196 lines
3.9 KiB
Bash
196 lines
3.9 KiB
Bash
#!/bin/bash
|
|
|
|
#
|
|
# warn_if_bad Put out warning message(s) if $1 has bad RC.
|
|
#
|
|
# $1 0 (pass) or non-zero (fail).
|
|
# $2+ Remaining arguments printed only if the $1 is non-zero.
|
|
#
|
|
# Incoming $1 is returned unless it is 0
|
|
#
|
|
function warn_if_bad()
|
|
{
|
|
local -i rc="$1"
|
|
local script="${0##*/}"
|
|
|
|
# Ignore if no problems
|
|
[ "${rc}" -eq "0" ] && return 0
|
|
|
|
# Broken
|
|
shift
|
|
echo "${script}: $@" >&2
|
|
return "${rc}"
|
|
}
|
|
|
|
#
|
|
# exit_if_bad Put out error message(s) if $1 has bad RC.
|
|
#
|
|
# $1 0 (pass) or non-zero (fail).
|
|
# $2+ Remaining arguments printed only if the $1 is non-zero.
|
|
#
|
|
# Exits with 1 unless $1 is 0
|
|
#
|
|
function exit_if_bad()
|
|
{
|
|
warn_if_bad "$@" || exit 1
|
|
return 0
|
|
}
|
|
|
|
#
|
|
# internal_setup Script setup
|
|
#
|
|
# Returns 0 on success.
|
|
# Exits (not returns) with 1 on failure.
|
|
#
|
|
function internal_setup()
|
|
{
|
|
shopt -s extglob
|
|
|
|
# Trap exit for internal_cleanup function.
|
|
trap "internal_cleanup" EXIT
|
|
|
|
umask 0077
|
|
|
|
TMP_DIR="$(mktemp -d "/tmp/${0##*/}.XXXXXXXX" 2>/dev/null)"
|
|
[ -d "${TMP_DIR}" ]
|
|
exit_if_bad "$?" "Make temporary directory failed."
|
|
|
|
custom_setup
|
|
}
|
|
|
|
#
|
|
# internal_cleanup Script cleanup (reached via trap 0)
|
|
#
|
|
# Destory any temporarily facility created by internal_setup.
|
|
#
|
|
function internal_cleanup()
|
|
{
|
|
custom_cleanup
|
|
|
|
[ -d "${TMP_DIR}" ] && rm -rf "${TMP_DIR}"
|
|
}
|
|
|
|
#
|
|
# custom_setup
|
|
#
|
|
function custom_setup()
|
|
{
|
|
:
|
|
}
|
|
|
|
#
|
|
# custom_cleanup
|
|
#
|
|
function custom_cleanup()
|
|
{
|
|
:
|
|
}
|
|
|
|
internal_setup
|
|
|
|
function make_bogus_grub2_nodes()
|
|
{
|
|
local i
|
|
# grub2
|
|
for i in {001..005}
|
|
do
|
|
mkdef -t node -o tz${i} \
|
|
arch=ppc64 cons=hmc groups=lpar mgt=hmc \
|
|
netboot=grub2 \
|
|
ip=10.99.1.$((10#${i})) \
|
|
mac=e6:d4:d2:3a:ad:0$((10#${i})) \
|
|
profile=compute os=rhels7.99
|
|
done
|
|
}
|
|
|
|
function make_bogus_petitboot_nodes()
|
|
{
|
|
local i
|
|
# petitboot
|
|
for i in {001..005}
|
|
do
|
|
mkdef -t node -o tz${i} \
|
|
arch=ppc64le cons=bmc groups=ipmi mgt=ipmi \
|
|
netboot=petitboot \
|
|
ip=10.99.1.$((10#${i})) \
|
|
mac=e6:d4:d2:3a:ad:0$((10#${i})) \
|
|
profile=compute os=rhels7.99
|
|
done
|
|
}
|
|
|
|
function make_bogus_xnba_nodes()
|
|
{
|
|
local i
|
|
# xnba
|
|
for i in {001..005}
|
|
do
|
|
mkdef -t node -o tz${i} \
|
|
arch=x86_64 cons=kvm groups=kvm mgt=kvm \
|
|
netboot=xnba \
|
|
ip=10.99.1.$((10#${i})) \
|
|
mac=e6:d4:d2:3a:ad:0$((10#${i})) \
|
|
profile=compute os=rhels7.99
|
|
done
|
|
}
|
|
|
|
function destory_bogus_nodes()
|
|
{
|
|
rmdef -t node tz001+4
|
|
}
|
|
|
|
umask 0022
|
|
|
|
function make_bogus_ppc64le_osimage()
|
|
{
|
|
mkdef "rhels7.99-ppc64le-install-compute" \
|
|
-u profile=compute provmethod=install \
|
|
osvers=rhels7.99 osarch=ppc64le
|
|
mkdir -p /install/rhels7.99/ppc64le/ppc/ppc64le
|
|
echo blah >/install/rhels7.99/ppc64le/ppc/ppc64le/vmlinuz
|
|
echo blah >/install/rhels7.99/ppc64le/ppc/ppc64le/initrd.img
|
|
}
|
|
|
|
function make_bogus_ppc64_osimage()
|
|
{
|
|
mkdef "rhels7.99-ppc64-install-compute" \
|
|
-u profile=compute provmethod=install \
|
|
osvers=rhels7.99 osarch=ppc64
|
|
mkdir -p /install/rhels7.99/ppc64/ppc/ppc64
|
|
echo blah >/install/rhels7.99/ppc64/ppc/ppc64/vmlinuz
|
|
echo blah >/install/rhels7.99/ppc64/ppc/ppc64/initrd.img
|
|
}
|
|
|
|
#function make_bogus_ppc64_osimage()
|
|
#{
|
|
# mkdef "rhels6.99-ppc64-install-compute" \
|
|
# -u profile=compute provmethod=install \
|
|
# osvers=rhels6.99 osarch=ppc64
|
|
# mkdir -p /install/rhels6.99/ppc64/ppc/{chrp,ppc64}
|
|
# echo blah >/install/rhels6.99/ppc64/ppc/ppc64/vmlinuz
|
|
# echo blah >/install/rhels6.99/ppc64/ppc/ppc64/initrd.img
|
|
# echo blah >/install/rhels6.99/ppc64/ppc/chrp/yaboot
|
|
#}
|
|
|
|
function make_bogus_x64_osimage()
|
|
{
|
|
mkdef "rhels6.99-x86_64-install-compute" \
|
|
-u profile=compute provmethod=install \
|
|
osvers=rhels6.99 osarch=x86_64
|
|
mkdir -p /install/rhels6.99/x86_64/images/pxeboot
|
|
echo blah >/install/rhels6.99/x86_64/images/pxeboot/vmlinuz
|
|
echo blah >/install/rhels6.99/x86_64/images/pxeboot/initrd.img
|
|
}
|
|
|
|
function destory_bogus_osimages()
|
|
{
|
|
local o
|
|
for o in \
|
|
rhels7.99-ppc64le-install-compute \
|
|
rhels7.99-ppc64-install-compute \
|
|
rhels6.99-ppc64-install-compute \
|
|
rhels6.99-x86_64-install-compute
|
|
do
|
|
rmdef -t osimage ${o}
|
|
done
|
|
}
|