[Qa-jenkins-scm] [Git][qa/jenkins.debian.net][master] 3 commits: reproducible system health status: cleanup tmpfiles
Holger Levsen
gitlab at salsa.debian.org
Sat Jun 13 11:56:42 BST 2020
Holger Levsen pushed to branch master at Debian QA / jenkins.debian.net
Commits:
37e7c16b by Holger Levsen at 2020-06-13T12:44:44+02:00
reproducible system health status: cleanup tmpfiles
Signed-off-by: Holger Levsen <holger at layer-acht.org>
- - - - -
3488dc3c by Holger Levsen at 2020-06-13T12:45:53+02:00
reproducible: refactoring
Signed-off-by: Holger Levsen <holger at layer-acht.org>
- - - - -
d282064c by Holger Levsen at 2020-06-13T12:56:21+02:00
reproducible system health status: ignore jobs on known offline nodes
Signed-off-by: Holger Levsen <holger at layer-acht.org>
- - - - -
1 changed file:
- bin/reproducible_system_health.sh
Changes:
=====================================
bin/reproducible_system_health.sh
=====================================
@@ -29,10 +29,51 @@ INPUTS=0
SCORE=0
FAILED_JOBS=$(mktemp --tmpdir=$TMPDIR trbo-status-XXXXXXX)
UNSTABLE_JOBS=$(mktemp --tmpdir=$TMPDIR trbo-status-XXXXXXX)
+IGNORED_JOBS=$(mktemp --tmpdir=$TMPDIR trbo-status-XXXXXXX)
# gather data
echo "$(date -u) - starting up."
cd /var/lib/jenkins/jobs/
for JOB in reproducible_* ; do
+ #
+ # check whether job runs on a known offline node
+ #
+ REMOTE=false
+ case $JOB in
+ reproducible_node_health_check_amd64_jenkins|reproducible_maintenance_amd64_jenkins)
+ # never ignore these
+ :
+ ;;
+ reproducible_node_health_check_*|reproducible_setup_pbuilder_*)
+ NODE_ALIAS=$(echo $JOB | cut -d '_' -f6)
+ NODE_ARCH=$(echo $JOB | cut -d '_' -f5)
+ REMOTE=true
+ ;;
+ reproducible_maintenance_*)
+ NODE_ALIAS=$(echo $JOB | cut -d '_' -f4)
+ NODE_ARCH=$(echo $JOB | cut -d '_' -f3)
+ REMOTE=true
+ ;;
+ esac
+ if $REMOTE ; then
+ case $NODE_ARCH in
+ amd64)
+ case "$NODE_ALIAS" in
+ (profitbricks*) NODE="profitbricks-build${NODE_ALIAS#profitbricks}-amd64.debian.net" ;;
+ (osuosl*) NODE="osuosl-build${NODE_ALIAS#osuosl}-amd64.debian.net" ;;
+ esac ;;
+ i386) NODE="profitbricks-build${NODE_ALIAS#profitbricks}-i386.debian.net" ;;
+ arm64) NODE="codethink-sled${NODE_ALIAS#codethink}-arm64.debian.net" ;;
+ armhf) NODE="${NODE_ALIAS}-armhf-rb.debian.net" ;;
+ esac
+ if grep -q $NODE $JENKINS_OFFLINE_LIST >/dev/null 2>&1 ; then
+ echo " <li><a href=\"https://jenkins.debian.net/job/$JOB/\">$JOB</a></li>" >> ${IGNORED_JOBS}
+ echo " ignored job: $JOB ($NODE is offline)"
+ continue
+ fi
+ fi
+ #
+ # node is not known offline, let's go
+ #
let INPUTS+=1
FILE=$JOB/builds/permalinks
LAST=$(grep lastCompletedBuild $FILE|awk '{print $2}')
@@ -74,10 +115,10 @@ for JOB in reproducible_* ; do
continue
elif [ $MODIFIER -eq 1 ] ; then
echo " failed job: $JOB"
- echo "$MODIFIER| <li><a href=\"https://jenkins.debian.net/job/$JOB/\">$JOB</a></li>" >> $FAILED_JOBS
+ echo "$MODIFIER| <li><a href=\"https://jenkins.debian.net/job/$JOB/\">$JOB</a></li>" >> ${FAILED_JOBS}
else
echo " failed job: $JOB - $MODIFIER"
- echo "$MODIFIER| <li><a href=\"https://jenkins.debian.net/job/$JOB/\">$JOB</a> <em>($MODIFIER)</em></li>" >> $FAILED_JOBS
+ echo "$MODIFIER| <li><a href=\"https://jenkins.debian.net/job/$JOB/\">$JOB</a> <em>($MODIFIER)</em></li>" >> ${FAILED_JOBS}
fi
let SCORE-=$MODIFIER || SCORE=0
fi
@@ -109,14 +150,19 @@ cat > $HEALTH_FILE.html <<- EOF
</p>
<p>
Failed jobs:<ul>
- $(cat $FAILED_JOBS | sort -t '|' -n -r | cut -d '|' -f2-)
+ $(cat ${FAILED_JOBS} | sort -t '|' -n -r | cut -d '|' -f2-)
</ul>
</p>
<p>
- Unstable jobs:</ul>
+ Unstable jobs:<ul>
$(cat ${UNSTABLE_JOBS})
</ul>
</p>
+ <p>
+ Ignored jobs (because these node are known to be offline):<ul>
+ $(cat ${IGNORED_JOBS})
+ </ul>
+ </p>
<p>
<small>last updated: $(date -u).</small>
</p>
@@ -124,3 +170,4 @@ cat > $HEALTH_FILE.html <<- EOF
EOF
echo "$(date -u) - $(basename $HEALTH_FILE).html updated, visible at $REPRODUCIBLE_URL/$(basename $HEALTH_FILE).html."
echo "$(date -u) - the end."
+rm -f ${FAILED_JOBS} ${UNSTABLE_JOBS} ${IGNORED_JOBS}
View it on GitLab: https://salsa.debian.org/qa/jenkins.debian.net/-/compare/42836763ebdffc11372a4f792de3969d62be8121...d282064c184785ab5036870f608d7ce70883bc6f
--
View it on GitLab: https://salsa.debian.org/qa/jenkins.debian.net/-/compare/42836763ebdffc11372a4f792de3969d62be8121...d282064c184785ab5036870f608d7ce70883bc6f
You're receiving this email because of your account on salsa.debian.org.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://alioth-lists.debian.net/pipermail/qa-jenkins-scm/attachments/20200613/e8c3bcbf/attachment-0001.html>
More information about the Qa-jenkins-scm
mailing list