Skip to content

Commit e6377f7

Browse files
committed
Starting to many add MU at the same try create issues
1 parent 434397d commit e6377f7

1 file changed

Lines changed: 25 additions & 14 deletions

File tree

jenkins_pipelines/environments/common/pipeline-build-validation.groovy

Lines changed: 25 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@ def run(params) {
2222
// Declare lock resource use during node bootstrap
2323
mgrCreateBootstrapRepo = 'share resource to avoid running mgr create bootstrap repo in parallel'
2424
retailProxyConfigurationLock = 'lock proxy retail setup'
25+
def muSemaphore = new java.util.concurrent.Semaphore(5)
2526
// Variables to store none critical stage run status
2627
def monitoring_stage_result_fail = false
2728
def client_stage_result_fail = false
@@ -587,13 +588,18 @@ def clientTestingStages(params) {
587588
if (params.confirm_before_continue) {
588589
input 'Press any key to start adding Maintenance Update repositories'
589590
}
590-
echo 'Add custom channels and MU repositories'
591-
res_mu_repos = runCucumberRakeTarget("cucumber:build_validation_add_maintenance_update_repositories_${nodeTag}", true, temporaryList)
592-
echoHtmlReportPath("build_validation_add_maintenance_update_repositories_${nodeTag}")
593-
echo "Custom channels and MU repositories status code: ${res_mu_repos}"
594-
if (res_mu_repos != 0) {
595-
required_custom_channel_status[node] = 'FAIL'
596-
error("Add custom channels and MU repositories failed with status code: ${res_mu_repos}")
591+
muSemaphore.acquire()
592+
try {
593+
echo 'Add custom channels and MU repositories'
594+
res_mu_repos = runCucumberRakeTarget("cucumber:build_validation_add_maintenance_update_repositories_${nodeTag}", true, temporaryList)
595+
echoHtmlReportPath("build_validation_add_maintenance_update_repositories_${nodeTag}")
596+
echo "Custom channels and MU repositories status code: ${res_mu_repos}"
597+
if (res_mu_repos != 0) {
598+
required_custom_channel_status[node] = 'FAIL'
599+
error("Add custom channels and MU repositories failed with status code: ${res_mu_repos}")
600+
}
601+
} finally {
602+
muSemaphore.release()
597603
}
598604
}
599605
}
@@ -611,13 +617,18 @@ def clientTestingStages(params) {
611617
if (params.confirm_before_continue) {
612618
input 'Press any key to start adding common channels'
613619
}
614-
echo 'Add non MU Repositories'
615-
res_non_MU_repositories = runCucumberRakeTarget("cucumber:${build_validation_non_MU_script}", true, temporaryList)
616-
echo "Non MU Repositories status code: ${res_non_MU_repositories}"
617-
echoHtmlReportPath(build_validation_non_MU_script)
618-
if (res_non_MU_repositories != 0) {
619-
required_custom_channel_status[node] = 'FAIL'
620-
error("Add common channels failed with status code: ${res_non_MU_repositories}")
620+
muSemaphore.acquire()
621+
try {
622+
echo 'Add non MU Repositories'
623+
res_non_MU_repositories = runCucumberRakeTarget("cucumber:${build_validation_non_MU_script}", true, temporaryList)
624+
echo "Non MU Repositories status code: ${res_non_MU_repositories}"
625+
echoHtmlReportPath(build_validation_non_MU_script)
626+
if (res_non_MU_repositories != 0) {
627+
required_custom_channel_status[node] = 'FAIL'
628+
error("Add common channels failed with status code: ${res_non_MU_repositories}")
629+
}
630+
} finally {
631+
muSemaphore.release()
621632
}
622633
}
623634
}

0 commit comments

Comments
 (0)