[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