From: davidplunkett Date: Mon, 18 Mar 2019 21:25:15 +0000 (+0000) Subject: check if variables used by template exist X-Git-Tag: 1.0.0~21 X-Git-Url: https://gerrit.akraino.org/r/gitweb?a=commitdiff_plain;h=refs%2Fchanges%2F88%2F488%2F1;p=redfish.git check if variables used by template exist Change-Id: I13625c241d405230b5538ef26b1e2bc6314092e2 Signed-off-by: davidplunkett --- diff --git a/apply_dellxml.sh b/apply_dellxml.sh index bd4c430..47af171 100755 --- a/apply_dellxml.sh +++ b/apply_dellxml.sh @@ -74,7 +74,7 @@ if [ -n "$RCFILE" ] && [ -f "$RCFILE" ]; then fi # CHECK A FEW REQUIRED VARIABLES - BUT NOT ALL -CHECKLIST="SRV_NAME SRV_OOB_IP SRV_OOB_USR SRV_OOB_PWD BUILD_WEBIP BUILD_WEBPORT" +CHECKLIST="SRV_NAME SRV_OOB_IP SRV_OOB_USR SRV_OOB_PWD" for VAR in $CHECKLIST; do if [ -z "${!VAR}" ] ; then echo "ERROR: Invalid or missing variable [$VAR] = [${!VAR}] in rcfile [$RCFILE]" @@ -92,6 +92,16 @@ else echo "Using template [$REDFISH_ROOT/$TEMPLATE]" fi +# CHECK VARIABLES USED IN TEMPLATE +CHECKLIST=$(grep -oP '(?<=@@)[^@]+(?=@@)' "$REDFISH_ROOT/$TEMPLATE" | sort | uniq | xargs) +for VAR in $CHECKLIST; do + if [ -z "${!VAR}" ] ; then + echo "ERROR: Invalid or missing variable [$VAR] = [${!VAR}] required by template [$TEMPLATE]" + echo "usage: ./apply_dellxml.sh [--rc settingsfile] --template templatefile [--no-confirm] [--no-apply-hw] [--help]" + exit 1 + fi +done + # SET ADDITIONAL VARIABLES BASED ON RC FILE SRV_IPXE_URL=http://$BUILD_WEBIP:$BUILD_WEBPORT/ipxe-$SRV_IPXE_INF-$SRV_VLAN.efi XMLFILE=$SRV_NAME.${TEMPLATE%\.template} diff --git a/apply_hpejson.sh b/apply_hpejson.sh index da0f4b0..8e401f5 100755 --- a/apply_hpejson.sh +++ b/apply_hpejson.sh @@ -74,7 +74,7 @@ if [ -n "$RCFILE" ] && [ -f "$RCFILE" ]; then fi # CHECK A FEW REQUIRED VARIABLES - BUT NOT ALL -CHECKLIST="SRV_NAME SRV_OOB_IP SRV_OOB_USR SRV_OOB_PWD BUILD_WEBIP BUILD_WEBPORT" +CHECKLIST="SRV_NAME SRV_OOB_IP SRV_OOB_USR SRV_OOB_PWD" for VAR in $CHECKLIST; do if [ -z "${!VAR}" ] ; then echo "ERROR: Invalid or missing variable [$VAR] = [${!VAR}] in rcfile [$RCFILE]" @@ -92,6 +92,16 @@ else echo "Using template [$REDFISH_ROOT/$TEMPLATE]" fi +# CHECK VARIABLES USED IN TEMPLATE +CHECKLIST=$(grep -oP '(?<=@@)[^@]+(?=@@)' "$REDFISH_ROOT/$TEMPLATE" | sort | uniq | xargs) +for VAR in $CHECKLIST; do + if [ -z "${!VAR}" ] ; then + echo "ERROR: Invalid or missing variable [$VAR] = [${!VAR}] required by template [$TEMPLATE]" + echo "usage: ./apply_dellxml.sh [--rc settingsfile] --template templatefile [--no-confirm] [--no-apply-hw] [--help]" + exit 1 + fi +done + # SET ADDITIONAL VARIABLES BASED ON RC FILE SRV_IPXE_URL=http://$BUILD_WEBIP:$BUILD_WEBPORT/ipxe-$SRV_IPXE_INF-$SRV_VLAN.efi JSONFILE=$SRV_NAME.${TEMPLATE%\.template}