summaryrefslogtreecommitdiffstats
path: root/monitoring/ceph-mixin/test-jsonnet.sh
blob: 87c53389200005b87ddf448c079cb11e4e3b4824 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
#!/bin/sh -e

TEMPDIR=$(mktemp -d)
BASEDIR=$(dirname "$0")

jsonnet -J vendor -m ${TEMPDIR} $BASEDIR/dashboards.jsonnet

truncate -s 0 ${TEMPDIR}/json_difference.log
for file in ${BASEDIR}/dashboards_out/*.json
do
    file_name="$(basename $file)"
    for generated_file in ${TEMPDIR}/*.json
    do
        generated_file_name="$(basename $generated_file)"
        if [ "$file_name" == "$generated_file_name" ]; then
            jsondiff --indent 2 "${generated_file}" "${file}" \
                | tee -a ${TEMPDIR}/json_difference.log
        fi
    done
done

jsonnet -J vendor -S alerts.jsonnet -o ${TEMPDIR}/prometheus_alerts.yml
jsondiff --indent 2 "prometheus_alerts.yml" "${TEMPDIR}/prometheus_alerts.yml" \
    | tee -a ${TEMPDIR}/json_difference.log

err=0
if [ $(wc -l < ${TEMPDIR}/json_difference.log) -eq 0 ]
then
    rm -rf ${TEMPDIR}
    echo "Congratulations! Grafonnet Check Passed"
else
    rm -rf ${TEMPDIR}
    echo "Grafonnet Check Failed, failed comparing generated file with existing"
    exit 1
fi