From 5555a6edb45683270a8f2935cd9aa845457e9bc7 Mon Sep 17 00:00:00 2001 From: Alexandru Avadanii Date: Thu, 21 Sep 2017 02:13:55 +0200 Subject: PDF: Add result summary to check-jinja2 Apart from Pod Descritpro Files for OPNFV PODs, also validate the Pharos PDF template itself. While at it, fix shellcheck warnings. Sample output: | PDF/Installer | apex | compass4nfv | daisy | joid | | pharos/config/pod1.yaml | 1/1 | 12/12 | 1/1 | 1/1 | | intel/pod18.yaml | 1/1 | 12/12 | 1/1 | 1/1 | | orange/pod1.yaml | 0/1 | 4/12 | 0/1 | 0/1 | | arm/pod5.yaml | 1/1 | 12/12 | 1/1 | 1/1 | | ericsson/pod1.yaml | 1/1 | 12/12 | 1/1 | 1/1 | | ericsson/pod2.yaml | 1/1 | 12/12 | 1/1 | 1/1 | | lf/pod4.yaml | 1/1 | 12/12 | 1/1 | 1/1 | | zte/pod3.yaml | 1/1 | 12/12 | 1/1 | 1/1 | | zte/pod1.yaml | 1/1 | 12/12 | 1/1 | 1/1 | | zte/pod2.yaml | 1/1 | 12/12 | 1/1 | 1/1 | Change-Id: Iba46a7cc62c80ccb987879ce94ffe5f0bbb23304 Signed-off-by: Alexandru Avadanii --- check-jinja2.sh | 40 +++++++++++++++++++++++++++++++++------- 1 file changed, 33 insertions(+), 7 deletions(-) diff --git a/check-jinja2.sh b/check-jinja2.sh index 0a79364..09c5fa0 100755 --- a/check-jinja2.sh +++ b/check-jinja2.sh @@ -1,11 +1,37 @@ #!/bin/bash set +x -set -o errexit +set +o errexit + git submodule update --init --remote 2>/dev/null -GEN_CFG="./pharos/config/utils/generate_config.py" -for lab_configs in $(find labs/ -name 'pod*.yaml'); do - while IFS= read -r jinja_templates; do - echo "$GEN_CFG -y $lab_configs -j $jinja_templates" - $GEN_CFG -y $lab_configs -j $jinja_templates - done < <(find pharos/config/installers/ -name '*.j2') +GEN_CFG='./pharos/config/utils/generate_config.py' +INSTALLER_ADAPTERS='./pharos/config/installers/*' +RC=0 + +# Build a table header, using ';' as column sep +SUMMARY='PDF/Installer;' +for adapter in ${INSTALLER_ADAPTERS}; do + SUMMARY+="$(basename "${adapter}");" done + +# Iterate all PDFs, check with each installer adapter, log results +while IFS= read -r lab_config; do + SUMMARY+="\n${lab_config#labs/};" + for adapter in ${INSTALLER_ADAPTERS}; do + pdf_inst=0 + pdf_inst_pass=0 + while IFS= read -r jinja_template; do + echo -e "\n\n${GEN_CFG} -y ${lab_config} -j ${jinja_template}" + if "${GEN_CFG}" -y "${lab_config}" -j "${jinja_template}"; then + ((pdf_inst_pass+=1)) + else + RC=1 + fi + ((pdf_inst+=1)) + done < <(find "${adapter}" -name '*.j2') + SUMMARY+="${pdf_inst_pass}/${pdf_inst};" + done +done < <(find 'pharos/config' 'labs' -name 'pod*.yaml') + +echo -e '\n' +echo -e "${SUMMARY}" | sed -e 's/^/;/g' -e 's/;/;| /g' | column -t -e -s ';' +exit "${RC}" -- cgit 1.2.3-korg