aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAlexandru Avadanii <Alexandru.Avadanii@enea.com>2017-09-21 02:13:55 +0200
committerAlexandru Avadanii <Alexandru.Avadanii@enea.com>2017-09-24 19:47:35 +0200
commit5555a6edb45683270a8f2935cd9aa845457e9bc7 (patch)
treecd9b2238d6494ade7b6bf01d10322eb51e7d8615
parent45ff23c696aff6584a29d7cf7398e130b3858405 (diff)
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 <Alexandru.Avadanii@enea.com>
-rwxr-xr-xcheck-jinja2.sh40
1 files 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}"