-
Type:
Bug
-
Resolution: Unresolved
-
Priority:
Minor
-
Component/s: junit-plugin, pipeline
We're running on Google Cloud Preemptive instances. I've configured a shutdown script in the metadata.
I've configured the shutdown script to get a list of running jobs on the node and then asks the master to "Stop" them.
This mostly works. But occasionally it fails.Â
We have a pipeline (built using a library) which is somewhat akin to this:
pipeline {
agent {
label "katalon"
}
options {
timeout(time: 19, unit: 'MINUTES')
disableConcurrentBuilds()
}
triggers { cron('H/20 * * * *') }
stages {
stage("Run tests") {
steps {
script {
parallelTests("katalon/*.prj", ["apple", "lemon", "peach"], "katalon")
}
}
post {
regression {
script {
if (currentBuild.rawBuild.getActions(jenkins.model.InterruptedBuildAction.class).isEmpty()) {
echo "regression"
}
}
}
fixed {
echo "recovered"
}
}
}
}
}
}
def parallelTests(projectPath, profiles, agentLabel) {
tests = profiles.collectEntries { profile ->
["${profile}": test(projectPath, profile, agentLabel)]
}
parallel tests
}
def test(projectPath, profile, agentLabel) {
katalonPath = "/opt/katalon-studio/katalon"
return {
node("${agentLabel}") {
stage("${profile}") {
try {
checkout scm
fullProjectPath = "${env.WORKSPACE}/${projectPath}".toString()
sh new Katalon(katalonPath, fullProjectPath, profile, env.PROXY_HOST).command()
}
finally {
junit testResults: "katalon/reports/${profile}/**/JUnit_Report.xml"
archiveArtifacts artifacts: "katalon/reports/${profile}/**/JUnit_Report.xml"
archiveArtifacts artifacts: "katalon/reports/${profile}/**/*.png", allowEmptyArchive: true
archiveArtifacts artifacts: "katalon/reports/${profile}/**/*.avi", allowEmptyArchive: true
}
}
}
}
}
Actual results:
Sometimes it fails like this:
2020-01-04 23:02:29.012 INFO c.k.k.core.webui.driver.DriverFactory - Action delay is set to 0 seconds Cannot contact katalon: hudson.remoting.RequestAbortedException: java.io.IOException: Unexpected termination of the channel No test report files were found. Configuration error?
Expected results:
The stop should abort the job in such a way that the job is reported as aborted, as opposed to failing.
- Jenkins ver. 2.210
- BlueOcean 1.21.0
- JUnit 1.28