done
# CHECK IF TEMPLATE PASSED AND EXISTS
-if [ -z "$TEMPLATE" ] || ! [ -f "$TOOLS_ROOT/$TEMPLATE" ]; then
- echo "ERROR: Invalid or missing template file [$TOOLS_ROOT/$TEMPLATE]"
+if [ -z "$TEMPLATE" ] || ! [ -f "$REDFISH_ROOT/$TEMPLATE" ]; then
+ echo "ERROR: Invalid or missing template file [$REDFISH_ROOT/$TEMPLATE]"
echo "usage: ./apply_dellxml.sh [--rc settingsfile] --template templatefile [--no-confirm] [--no-apply-hw] [--help]"
exit 1
else
- echo "Using template [$TOOLS_ROOT/$TEMPLATE]"
+ echo "Using template [$REDFISH_ROOT/$TEMPLATE]"
fi
# SET ADDITIONAL VARIABLES BASED ON RC FILE
echo "Creating server BIOS/RAID settings file [$BUILD_ROOT/$XMLFILE] for server [$SRV_NAME]"
mkdir -p $BUILD_ROOT
rm -f $BUILD_ROOT/$XMLFILE
-cp -f $TOOLS_ROOT/$TEMPLATE $BUILD_ROOT/$XMLFILE
+cp -f $REDFISH_ROOT/$TEMPLATE $BUILD_ROOT/$XMLFILE
for VAR in $(set | grep -P "^SRV_|^BUILD_" | cut -f 1 -d'='); do
sed -i -e "s|@@$VAR@@|${!VAR}|g" $BUILD_ROOT/$XMLFILE
done
# CHECK IF TEMPLATE PASSED AND EXISTS
-if [ -z "$TEMPLATE" ] || ! [ -f "$TOOLS_ROOT/$TEMPLATE" ]; then
- echo "ERROR: Invalid or missing template file [$TOOLS_ROOT/$TEMPLATE]"
+if [ -z "$TEMPLATE" ] || ! [ -f "$REDFISH_ROOT/$TEMPLATE" ]; then
+ echo "ERROR: Invalid or missing template file [$REDFISH_ROOT/$TEMPLATE]"
echo "usage: ./apply_hpejson.sh [--rc settingsfile] --template templatefile [--no-confirm] [--no-apply-hw] [--help]"
exit 1
else
- echo "Using template [$TOOLS_ROOT/$TEMPLATE]"
+ echo "Using template [$REDFISH_ROOT/$TEMPLATE]"
fi
# SET ADDITIONAL VARIABLES BASED ON RC FILE
echo "Creating server BIOS/RAID settings file [$BUILD_ROOT/$JSONFILE] for server [$SRV_NAME]"
mkdir -p $BUILD_ROOT
rm -f $BUILD_ROOT/$JSONFILE
-cp -f $TOOLS_ROOT/$TEMPLATE $BUILD_ROOT/$JSONFILE
+cp -f $REDFISH_ROOT/$TEMPLATE $BUILD_ROOT/$JSONFILE
for VAR in $(set | grep -P "^SRV_|^BUILD_" | cut -f 1 -d'='); do
sed -i -e "s|@@$VAR@@|${!VAR}|g" $BUILD_ROOT/$JSONFILE
## PUSH HARDWARE CONFIG JSON USING REDFISH - BYPASS PROXY FOR INTERNAL CONNECTION TO IDRAC
echo "Applying server settings file [$BUILD_ROOT/$JSONFILE] to [$SRV_OOB_IP]"
echo "This step could take up to 10 minutes"
- HTTPS_PROXY= https_proxy= PYTHONPATH=$HPE_ROOT/examples/Redfish/ python -u "$TOOLS_ROOT/set_hpe_config.py" \
+ HTTPS_PROXY= https_proxy= PYTHONPATH=$HPE_ROOT/examples/Redfish/ python -u "$REDFISH_ROOT/set_hpe_config.py" \
-ip $SRV_OOB_IP -u $SRV_OOB_USR -p $SRV_OOB_PWD -f $BUILD_ROOT/$JSONFILE 2>&1
if [ "$?" -ne 0 ]; then
echo "ERROR: failed applying server BIOS/RAID settings"
export DELL_GIT_COMMIT=${DELL_GIT_COMMIT:-64f184c8c37ed1f64831c5695cd69092105e5eec}
export HPE_GIT=${HPE_GIT:-https://github.com/HewlettPackard/python-ilorest-library.git}
-export REDFISH_ROOT=${REDFISH_ROOT:-/opt/akraino}
-export WEB_ROOT=${WEB_ROOT:-$REDFISH_ROOT/www}
-export DHCP_ROOT=${DHCP_ROOT:-$REDFISH_ROOT/dhcp}
-export TOOLS_ROOT=${TOOLS_ROOT:-$REDFISH_ROOT/tools}
-export DELL_ROOT=${DELL_ROOT:-$REDFISH_ROOT/dell}
-export HPE_ROOT=${HPE_ROOT:-$REDFISH_ROOT/hpe}
+export AKRAINO_ROOT=${AKRAINO_ROOT:-/opt/akraino}
+export WEB_ROOT=${WEB_ROOT:-$AKRAINO_ROOT/www}
+export DHCP_ROOT=${DHCP_ROOT:-$AKRAINO_ROOT/dhcp}
+export REDFISH_ROOT=${REDFISH_ROOT:-$AKRAINO_ROOT/redfish}
+export DELL_ROOT=${DELL_ROOT:-$AKRAINO_ROOT/dell}
+export HPE_ROOT=${HPE_ROOT:-$AKRAINO_ROOT/hpe}
export REGION_ROOT=${REGION_ROOT:-$WEB_ROOT/region}
-export BUILD_ROOT=${BUILD_ROOT:-$REDFISH_ROOT/server-config}
-export IPXE_ROOT=${IPXE_ROOT:-$REDFISH_ROOT/ipxe}
+export BUILD_ROOT=${BUILD_ROOT:-$AKRAINO_ROOT/server-config}
+export IPXE_ROOT=${IPXE_ROOT:-$AKRAINO_ROOT/ipxe}
export UBUNTU_URL=${UBUNTU_URL:-http://releases.ubuntu.com/16.04/ubuntu-16.04.5-server-amd64.iso}
export BUILD_WEBPORT=8090
set -- "${POSITIONAL[@]}" # restore positional parameters
# LOAD BUILD DEFAULT VALUES IF BUILD VARIABLES ARE NOT LOADED
-if [ -z "$REDFISH_ROOT" ]; then
+if [ -z "$AKRAINO_ROOT" ]; then
BASEDIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
if [ -z "$BASEDIR" ] || ! [ -f "$BASEDIR/buildrc" ]; then
echo "ERROR: Invalid or missing build variables rcfile [$BASEDIR/buildrc]"
rm -f $IPXE_ROOT/boot.ipxe
sed -e "s|@@IPXE_VLAN@@|$IPXE_VLAN|g" \
-e "s|@@IPXE_INTF@@|$IPXE_INTF|g" \
- $TOOLS_ROOT/boot.ipxe.template > $IPXE_ROOT/boot.ipxe
+ $REDFISH_ROOT/boot.ipxe.template > $IPXE_ROOT/boot.ipxe
if [ ! -f "$IPXE_ROOT/boot.ipxe" ]; then
echo "ERROR: failed creating script [$IPXE_ROOT/boot.ipxe]"
exit 1
case $SRV_OEM in
Dell|DELL)
if [ -z "$SRV_MAC" ]; then
- SRV_MAC=$(. $TOOLS_ROOT/get_dellnicmac.sh --nic $SRV_HTTP_BOOT_DEV)
+ SRV_MAC=$(. $REDFISH_ROOT/get_dellnicmac.sh --nic $SRV_HTTP_BOOT_DEV)
if [ "$?" -ne 0 ]; then
echo "ERROR: Unable to get Dell nic mac address from [$SRV_OOB_IP]"
exit 1;
esac
## UPDATE WEB ROOT WITH UBUNTU ISO
-. $TOOLS_ROOT/update_webroot.sh;
+. $REDFISH_ROOT/update_webroot.sh;
if [ "$?" -ne 0 ]; then
echo "ERROR: failed to add [$UBUNTU_ISO] contents to web root"
exit 1
## CREATE IPXE FILE
echo "Creating ixpe.efi for web root in folder [$WEB_ROOT] using interface [$SRV_IPXE_INF] and vlan [$SRV_VLAN]"
-if ! (IPXE_VLAN=$SRV_VLAN IPXE_INTF=$SRV_IPXE_INF $TOOLS_ROOT/create_ipxe.sh); then
+if ! (IPXE_VLAN=$SRV_VLAN IPXE_INTF=$SRV_IPXE_INF $REDFISH_ROOT/create_ipxe.sh); then
echo "ERROR: failed to add ipxe file to web root"
exit 1
fi
## ADD FIRSTBOOT SCRIPT TO WEB ROOT
echo "Adding firstboot script [$SRV_NAME.firstboot.sh] to web root [$WEB_ROOT]"
-cp -f $TOOLS_ROOT/$SRV_FIRSTBOOT_TEMPLATE $WEB_ROOT/$SRV_NAME.firstboot.sh
+cp -f $REDFISH_ROOT/$SRV_FIRSTBOOT_TEMPLATE $WEB_ROOT/$SRV_NAME.firstboot.sh
for VAR in $(set | grep -P "^SRV_|^BUILD_" | cut -f 1 -d'='); do
sed -i -e "s|@@$VAR@@|${!VAR}|g" $WEB_ROOT/$SRV_NAME.firstboot.sh
## CREATE SERVER SEED FILE
echo "Creating seed file [$WEB_ROOT/$SRV_NAME.seed] for server [$SRV_NAME]"
-cp -f $TOOLS_ROOT/ubuntu.seed.template $WEB_ROOT/$SRV_NAME.seed
+cp -f $REDFISH_ROOT/ubuntu.seed.template $WEB_ROOT/$SRV_NAME.seed
for VAR in $(set | grep -P "^SRV_|^BUILD_" | cut -f 1 -d'='); do
sed -i -e "s|@@$VAR@@|${!VAR}|g" $WEB_ROOT/$SRV_NAME.seed
if [ ! -f "$DHCP_ROOT/dhcpd.conf" ]; then
echo "Creating new dhcp configuration [$DHCP_ROOT/dhcpd.conf]"
mkdir -p $DHCP_ROOT
- cp -f $TOOLS_ROOT/dhcpd.conf.template $DHCP_ROOT/dhcpd.conf
+ cp -f $REDFISH_ROOT/dhcpd.conf.template $DHCP_ROOT/dhcpd.conf
fi
SRV_DNSCSV=$(echo $SRV_DNS | tr ' ' ',')
case $SRV_OEM in
Dell|DELL)
if [ -n "$SRV_BIOS_TEMPLATE" ]; then
- . $TOOLS_ROOT/apply_dellxml.sh --template $SRV_BIOS_TEMPLATE
+ . $REDFISH_ROOT/apply_dellxml.sh --template $SRV_BIOS_TEMPLATE
echo "Completed update with status [$?]"
sleep 80
fi
if [ -n "$SRV_BOOT_TEMPLATE" ]; then
- . $TOOLS_ROOT/apply_dellxml.sh --template $SRV_BOOT_TEMPLATE
+ . $REDFISH_ROOT/apply_dellxml.sh --template $SRV_BOOT_TEMPLATE
echo "Completed update with status [$?]"
sleep 20
fi
;;
HP|HPE)
if [ -n "$SRV_BIOS_TEMPLATE" ]; then
- . $TOOLS_ROOT/apply_hpejson.sh --template $SRV_BIOS_TEMPLATE
+ . $REDFISH_ROOT/apply_hpejson.sh --template $SRV_BIOS_TEMPLATE
echo "Completed update with status [$?]"
fi
if [ -n "$SRV_BOOT_TEMPLATE" ]; then
- . $TOOLS_ROOT/apply_hpejson.sh --template $SRV_BOOT_TEMPLATE
+ . $REDFISH_ROOT/apply_hpejson.sh --template $SRV_BOOT_TEMPLATE
echo "Completed update with status [$?]"
echo "Waiting for server to reboot with new settings."
fi
set -- "${POSITIONAL[@]}" # restore positional parameters
# LOAD BUILD DEFAULT VALUES IF BUILD VARIABLES ARE NOT LOADED
-if [ -z "$REDFISH_ROOT" ]; then
+if [ -z "$AKRAINO_ROOT" ]; then
BASEDIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
if [ -z "$BASEDIR" ] || ! [ -f "$BASEDIR/buildrc" ]; then
echo "ERROR: Invalid or missing build variables rcfile [$BASEDIR/buildrc]"
fi
# CHECK A FEW REQUIRED VARIABLES
-if [ -z "$WEB_ROOT" ] || [ -z "$DHCP_ROOT" ] || [ -z "$TOOLS_ROOT" ] || [ -z "$DELL_ROOT" ] || [ -z "$BUILD_ROOT" ]; then
+if [ -z "$WEB_ROOT" ] || [ -z "$DHCP_ROOT" ] || [ -z "$REDFISH_ROOT" ] || [ -z "$DELL_ROOT" ] || [ -z "$BUILD_ROOT" ]; then
echo "ERROR: Invalid or missing variables in rcfile [$BASEDIR/buildrc]"
exit 1
fi
fi
done
-## DOWNLOAD TOOLS TO TOOLS_ROOT IF TOOLS FOLDER MISSING
-if [ ! -d "$TOOLS_ROOT" ]; then
- echo "Installing latest tools from [$REDFISH_REPO] to [$TOOLS_ROOT]"
- mkdir -p $TOOLS_ROOT
- curl -L "$REDFISH_REPO" | tar -xzo -C $TOOLS_ROOT
+## DOWNLOAD TOOLS TO REDFISH_ROOT IF TOOLS FOLDER MISSING
+if [ ! -d "$REDFISH_ROOT" ]; then
+ echo "Installing latest tools from [$REDFISH_REPO] to [$REDFISH_ROOT]"
+ mkdir -p $REDFISH_ROOT
+ curl -L "$REDFISH_REPO" | tar -xzo -C $REDFISH_ROOT
fi
-if [ ! -f "$TOOLS_ROOT/boot.ipxe.template" ]; then
- echo "ERROR: failed cloning tools from [$REDFISH_GIT] to [$TOOLS_ROOT]"
+if [ ! -f "$REDFISH_ROOT/boot.ipxe.template" ]; then
+ echo "ERROR: failed cloning tools from [$REDFISH_GIT] to [$REDFISH_ROOT]"
exit 1
fi
-## DOWNLOAD DELL REDFISH TOOLS_ROOT IF DELL FOLDER MISSING
+## DOWNLOAD DELL REDFISH REDFISH_ROOT IF DELL FOLDER MISSING
if [ ! -d "$DELL_ROOT" ]; then
echo "Cloning Dell redfish source from [$DELL_GIT] to [$DELL_ROOT]"
git clone $DELL_GIT $DELL_ROOT
exit 1
fi
-## DOWNLOAD HPE REDFISH TOOLS_ROOT IF HPE FOLDER MISSING
+## DOWNLOAD HPE REDFISH REDFISH_ROOT IF HPE FOLDER MISSING
if [ ! -d "$HPE_ROOT" ]; then
echo "Cloning HPE redfish tools from [$HPE_GIT] to [$HPE_ROOT]"
git clone $HPE_GIT $HPE_ROOT
exit 1
fi
-echo "Tools are ready in [$REDFISH_ROOT]"
+echo "Tools are ready in [$AKRAINO_ROOT]"
## COPY FILES
echo "Extracting files to [$WEB_ROOT]"
-cp -f $TOOLS_ROOT/sources.list $WEB_ROOT
+cp -f $REDFISH_ROOT/sources.list $WEB_ROOT
xorriso -osirrox on:auto_chmod_on -indev $UBUNTU_ISO -find / -type d -exec chmod u+rwx -- -extract / $UBUNTU_FOLDER -rollback_end 2>&1 | sed -e "s/^/ /g"
## EXPAND KERNEL AND INITRD (HWE AND STANDARD)
-e "s|@@INITRD@@|$HWE_INITRD|g" \
-e "s|@@BASE_KERNEL@@|$HWE_OIMAGE|g" \
-e "s|@@UBUNTU_ROOT@@|$UBUNTU_ROOT|g" \
- $TOOLS_ROOT/script.ipxe.template > $WEB_ROOT/script-hwe-$ISO_VERSION-$ISO_ARCH.ipxe
+ $REDFISH_ROOT/script.ipxe.template > $WEB_ROOT/script-hwe-$ISO_VERSION-$ISO_ARCH.ipxe
sed -e "s|@@KERNEL@@|$STD_KERNEL|g" \
-e "s|@@INITRD@@|$STD_INITRD|g" \
-e "s|@@BASE_KERNEL@@|$STD_OIMAGE|g" \
-e "s|@@UBUNTU_ROOT@@|$UBUNTU_ROOT|g" \
- $TOOLS_ROOT/script.ipxe.template > $WEB_ROOT/script-$ISO_VERSION-$ISO_ARCH.ipxe
+ $REDFISH_ROOT/script.ipxe.template > $WEB_ROOT/script-$ISO_VERSION-$ISO_ARCH.ipxe
echo "Files for Ubuntu version [$ISO_VERSION] [$ISO_ARCH] are ready in folder [$WEB_ROOT]"
echo "Use script-hwe-$ISO_VERSION-$ISO_ARCH.ipxe or script-$ISO_VERSION-$ISO_ARCH.ipxe in the dhcp config depending on the kernel version required."