@@ -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