Details
-
Type:
Bug
-
Status: Closed (View Workflow)
-
Priority:
Critical
-
Resolution: Fixed
-
Component/s: blueocean-plugin
-
Labels:
-
Environment:Jenkins version: 2.121.3
Blue Ocean version: 1.8.2
OS: RHEL7.2
Browser: Google Chrome
-
Similar Issues:
Description
After updating the Blue ocean to the latest version 1.8.2 released 16 August, Blue Ocean is having issues displaying the status of parallel stages properly.
I have 2 stages in parallel which contains several sequential stage each.
While they are both processing, one of the parallel stages is showing as green (DONE) and the other shown as Processing but not displaying the triggered builds.
You can find my pipeline code below.
pipeline { agent any stages { stage('Pushing 2 Tests') { //failFast true parallel { stage('TE1') { stages { stage('PUSH TE1') { steps { script { //Trigger a job sleep time: 5, unit: 'MINUTES' echo "Test1" } } } stage('Archive Logs') { steps { script { echo "Archive Test1 Logs" } } } stage('Insert Metrics') { steps { script { echo "Insert Test1 Metrics in DB" } } } stage('Compare Metrics') { steps { script { echo "Compare Metrics Test1 vs REF" } } } } } stage('TE2') { stages { stage('PUSH TE2') { steps { script { //Trigger a job sleep time: 5, unit: 'MINUTES' echo "Test2" } } } stage('Archive Logs') { steps { script { echo "Archive Test2 Logs" } } } stage('Insert Metrics') { steps { script { echo "Insert Test2 Metrics in DB" } } } stage('Compare Metrics') { steps { script { echo "Compare Metrics Test2 vs REF" } } } } } } } } }
Attachments
Attachments
Issue Links
- duplicates
-
JENKINS-53311 [Blue Ocean] Sequential stages appear to be completed but are still executing
-
- Closed
-
Activity
Vivek Pandey Yes indeed, when you click on the stage shown as Processing, the steps are not shown.
As for the other processing stage shown wrongly as Passed, its steps are shown and can be selected.
Sometimes when stage is in progress, steps might not appear instantly because it might not yet be running so api serving them for the selected stage still be returning no steps.
Regarding wrong status, Olivier Lamy Nicolae Pascu it might be api not returning correct status? I think there is existing issue with status of parallel stages, there might be ticket some where or may be its new one.
Sorry Vivek Pandey, but this is not the case on my side my 2 stages are processing exactly the same jobs that takes 2 hours each, we are not talking about instantly status appearance.
As shown in below screenshots, the processing stage that is showing wrong Passed status (PUSH TE2), is showing the triggered builds properly. As for the stage showing processing status (PUSH TE1), the Triggered Builds section does not exist.
Vivek Pandey As seen in my previous comment, when clicking on the upper stage it is giving me the details of the Parent stage (Pushing 2 Tests / TE1) instead of the child (PUSH TE1) and when selecting the bottom stage it is giving me the details of the right stage (PUSH TE2) but with wrong status.
Vivek Pandey, as a summary the expected behavior is to show processing stages as Processing and to be able to access the Triggered Builds upon clicking on the stage.
Vivek Pandey, in addition currently the Processing stages are not visible on Blue Ocean. They only appear once they are done.
Vivek Pandey, Nicolae Pascu, please let me know if you need more details.
Vivek Pandey, another case where 2 parallel stages are processing but shown in Blue Ocean in Grey (Pending).
Nicolae Pascu Vivek Pandey is there any estimation when this issue will be fixed?
related to JENKINS-53311 ?
Olivier Lamy yes related to JENKINS-53311 but with additional problem in my Jira related to "Triggered Builds" Field.
In addition my Jira issue was reported before JENKINS-53311 and contains more examples
should be fixed with JENKINS-53311
Thank you Olivier Lamy.
When it is expected to have the plugin patch ready in Jenkins ?
Elie Kassis Not sure. People are a bit busy this week with JW.
Olivier Lamy the status issue was resolved with your last fix (Blue Ocean 1.8.3)(Jenkins 2.138.1), but the Triggered Builds Section is not appearing when having processing stage.
The Triggered Build section is only appearing when the stage is done.
In addition when having several parallel stages processing at the same time, only 1 of the stages is having the blue circle with the blue dot blinking inside.
Can you please check?
Triggered Builds but how do you trigger the jobs?
I trigger jobs from inside the stage as shown below code sample.
Noting that the Triggered Builds section was working properly previously before you started allowing in Blue Ocean to display sequential stages inside a parallel one.
It is very important and crucial to see the Triggered Builds within a stage while PROCESSING and not just when the stage is DONE.
stage('Pushing 2 Tests and 2 Debug jobs') { //failFast true when { expression { Push2TEs == 'true' } } parallel { stage('TE1') { stages { stage('PUSH TE1') { options { retry(2) timeout(time: 3, unit: 'HOURS') } steps { script { timestamps { println("${STAGE_BEGIN} PUSH TE1") def TE1build = build job: "TESTING/${TEST_LABEL1}/PAC_PTE/0010.TESTING-Headline", parameters: [ [$class: 'StringParameterValue', name: 'MX_VERSION', value: MX_VERSION], [$class: 'StringParameterValue', name: 'MX_CHANGELIST', value: MX_CHANGELIST], [$class: 'BooleanParameterValue', name: 'Execute_benchmark', value: true], [$class: 'BooleanParameterValue', name: 'Generate_traceability_reports', value: true], [$class: 'StringParameterValue', name: 'SETUPS', value: 'Custom'], [$class: 'StringParameterValue', name: 'Custom_Script_Before', value: '/nfs_qa_pac/pac-pte/jenkins/getEnvProperties.sh'], [$class: 'StringParameterValue', name: 'Custom_Script_After', value: '/nfs_qa_pac/pac-pte/jenkins/restoreEnv.sh'] ], propagate: false LogJobStatus("${TEST_LABEL1}", TE1build.result) currentBuild.result = TE1build.result } } } } stage('Archive Logs') { steps { script { timestamps { println("${STAGE_BEGIN} Archive ${TEST_LABEL1} Logs") //sleep time: 1, unit: 'MINUTES' def archiveLogsTE1 = build job: 'Archiving', parameters: [ [$class: 'StringParameterValue', name: 'BENCH_MARK_NAME', value: TE1_BENCH_MARK_NAME], [$class: 'StringParameterValue', name: 'VERSION', value: MX_VERSION], [$class: 'StringParameterValue', name: 'CHANGELIST', value: MX_CHANGELIST], [$class: 'StringParameterValue', name: 'APP_DIR', value: TE1_APP_DIR], [$class: 'StringParameterValue', name: 'RESULTS_DIR', value: TE1_LOG_DIR], [$class: 'StringParameterValue', name: 'KPI_DIR', value: TE1_WORKSPACE], [$class: 'StringParameterValue', name: 'TPK', value: TPK], [$class: 'StringParameterValue', name: 'JOB_ID', value: JOB_ID], [$class: 'StringParameterValue', name: 'TEST_ID', value: TEST_LABEL1], [$class: 'StringParameterValue', name: 'NODE', value: TE1_NODE] ], propagate: false currentBuild.result = archiveLogsTE1.result LogJobStatus("Archive ${TEST_LABEL1} Logs", archiveLogsTE1.result) println("${STAGE_END} Archive ${TEST_LABEL1} Logs") } } } } } } stage('TE2') { stages { stage('PUSH TE2') { options { retry(2) timeout(time: 3, unit: 'HOURS') } steps { script { timestamps { println("${STAGE_BEGIN} PUSH TE2") def TE2build = build job: "TESTING/${TEST_LABEL2}/PAC_PTE/0010.TESTING-Headline", parameters: [ [$class: 'StringParameterValue', name: 'MX_VERSION', value: MX_VERSION], [$class: 'StringParameterValue', name: 'MX_CHANGELIST', value: MX_CHANGELIST], [$class: 'BooleanParameterValue', name: 'Execute_benchmark', value: true], [$class: 'BooleanParameterValue', name: 'Generate_traceability_reports', value: true], [$class: 'StringParameterValue', name: 'SETUPS', value: 'Custom'], [$class: 'StringParameterValue', name: 'Custom_Script_Before', value: '/nfs_qa_pac/pac-pte/jenkins/getEnvProperties.sh'], [$class: 'StringParameterValue', name: 'Custom_Script_After', value: '/nfs_qa_pac/pac-pte/jenkins/restoreEnv.sh'] ], propagate: false LogJobStatus("PUSH TE2", TE2build.result) currentBuild.result = TE2build.result } } } } stage('Archive Logs') { steps { script { timestamps { println("${STAGE_BEGIN} Archive ${TEST_LABEL2} Logs") //sleep time: 1, unit: 'MINUTES' def archiveLogsTE2 = build job: 'Archiving', parameters: [ [$class: 'StringParameterValue', name: 'BENCH_MARK_NAME', value: TE2_BENCH_MARK_NAME], [$class: 'StringParameterValue', name: 'VERSION', value: MX_VERSION], [$class: 'StringParameterValue', name: 'CHANGELIST', value: MX_CHANGELIST], [$class: 'StringParameterValue', name: 'APP_DIR', value: TE2_APP_DIR], [$class: 'StringParameterValue', name: 'RESULTS_DIR', value: TE2_LOG_DIR], [$class: 'StringParameterValue', name: 'TPK', value: TPK], [$class: 'StringParameterValue', name: 'JOB_ID', value: JOB_ID], [$class: 'StringParameterValue', name: 'TEST_ID', value: TEST_LABEL2], [$class: 'StringParameterValue', name: 'NODE', value: TE2_NODE] ], propagate: false currentBuild.result = archiveLogsTE2.result LogJobStatus("Archive ${TEST_LABEL2} Logs", archiveLogsTE2.result) println("${STAGE_END} Archive ${TEST_LABEL2} Logs") } } } } } } stage('HEAD DEBUG') { stages { stage('PUSH HEAD DEBUG') { options { retry(2) timeout(time: 2, unit: 'HOURS') } steps { script { timestamps { println("${STAGE_BEGIN} PUSH HEAD DEBUG") try { //STREAM_ID='DEBUG230820181643' def pushHeadDebugJob = build job: "TESTING/${STREAM_ID}/PAC_PTE/0010.TESTING-Headline", parameters: [ [$class: 'StringParameterValue', name: 'MX_VERSION', value: MX_VERSION], [$class: 'StringParameterValue', name: 'MX_CHANGELIST', value: MX_CHANGELIST], [$class: 'BooleanParameterValue', name: 'Execute_benchmark', value: false], [$class: 'BooleanParameterValue', name: 'Generate_traceability_reports', value: false], [$class: 'StringParameterValue', name: 'SETUPS', value: 'Custom'], [$class: 'StringParameterValue', name: 'Custom_Script_Before', value: '/nfs_qa_pac/pac-pte/jenkins/getEnvProperties.sh'], [$class: 'StringParameterValue', name: 'Custom_Script_After', value: '/nfs_qa_pac/pac-pte/jenkins/restoreEnv.sh'] ], propagate: false currentBuild.result = pushHeadDebugJob.result } catch (all) { echo 'Pushing Head Debug job Failed' return 0 } println("${STAGE_END} PUSH HEAD DEBUG") } } } } stage('DEPLOY CLIENT HEAD') { steps { script { timestamps { println("${STAGE_BEGIN} Deploying Client HEAD") try { def DeployClient = build job: 'DeployClient', parameters: [ [$class: 'StringParameterValue', name: 'NODE', value: 'pacpte_pte02nt'], [$class: 'StringParameterValue', name: 'PROPERTIES', value: '/nfs_qa_pac/pac-pte/jenkins/env_properties/0010.TESTING-' + STREAM_ID + '-Headline.properties'], [$class: 'StringParameterValue', name: 'CHANGELIST', value: MX_CHANGELIST], [$class: 'StringParameterValue', name: 'OPERATING_SYSTEM', value: OPERATING_SYSTEM], [$class: 'StringParameterValue', name: 'DEBUG_NODE', value: HEAD_DEBUG_NODE], [$class: 'StringParameterValue', name: 'DEBUG_APP_DIR', value: HEAD_DEBUG_APP_DIR] ], propagate: false currentBuild.result = DeployClient.result } catch (all) { echo 'Deploy Head Debug Client Failed' return 0 } println("${STAGE_END} Deploying Client HEAD") } } } } } } } }
Olivier Lamy, you can find below for sequential Processing stages, Blue Ocean is showing the Triggered Builds section.
Olivier Lamy, a new bug detected, when the first stage in a sequential parallel pipeline is done, the Processing stages got wrong status and show only 1 stage processing even thought there are 4 stages processing.
Elie Kassis please stop hijacking this issue. You reopen it and changing the description. This is totally wrong! it's a thread in a mailing list. So please open a new issue with correct description.
please open an other issue regarding the "Triggered Builds"
Sorry Olivier Lamy, a new Jira issue opened: JENKINS-53735
> the other shown as Processing but not displaying the triggered builds.
You mean when you click them the steps are not shown?
Nicolae Pascu PTAL