Improve parallelism of testing jobs
Stop triggering jobs in wave and use throttle concurrent
build plugin instead
Change-Id: If6eb216184da03cf918108d3e90f646bb41feed1
diff --git a/test-salt-formulas-pipeline.groovy b/test-salt-formulas-pipeline.groovy
index 4422ca6..1494aca 100644
--- a/test-salt-formulas-pipeline.groovy
+++ b/test-salt-formulas-pipeline.groovy
@@ -3,7 +3,6 @@
* DEFAULT_GIT_REF
* DEFAULT_GIT_URL
* CREDENTIALS_ID
- * KITCHEN_TESTS_PARALLEL
*/
def common = new com.mirantis.mk.Common()
def gerrit = new com.mirantis.mk.Gerrit()
@@ -16,13 +15,6 @@
gerritRef = null
}
-def parallelGroupSize
-try {
- parallelGroupSize = Integer.valueOf(PARALLEL_GROUP_SIZE)
-} catch (MissingPropertyException e) {
- parallelGroupSize = 8
-}
-
def defaultGitRef, defaultGitUrl
try {
defaultGitRef = DEFAULT_GIT_REF
@@ -92,15 +84,9 @@
common.infoMsg("CUSTOM_KITCHEN_ENVS not empty. Running with custom enviroments: ${kitchenEnvs}")
}
if (kitchenEnvs != null && kitchenEnvs != '') {
- def acc = 0
def kitchenTestRuns = [:]
common.infoMsg("Found " + kitchenEnvs.size() + " environment(s)")
for (int i = 0; i < kitchenEnvs.size(); i++) {
- if (acc >= parallelGroupSize) {
- parallel kitchenTestRuns
- kitchenTestRuns = [:]
- acc = 0
- }
def testEnv = kitchenEnvs[i]
kitchenTestRuns[testEnv] = {
build job: "test-salt-formulas-env", parameters: [
@@ -112,11 +98,8 @@
[$class: 'StringParameterValue', name: 'SALT_VERSION', value: SALT_VERSION]
]
}
- acc++;
}
- if (acc != 0) {
- parallel kitchenTestRuns
- }
+ parallel kitchenTestRuns
} else {
common.warningMsg(".kitchen.yml file not found, no kitchen tests triggered.")
}
diff --git a/test-salt-models-pipeline.groovy b/test-salt-models-pipeline.groovy
index 2ff76d2..7099954 100644
--- a/test-salt-models-pipeline.groovy
+++ b/test-salt-models-pipeline.groovy
@@ -82,7 +82,6 @@
if(checkouted) {
def infraYMLs = sh(script: "find ./classes/ -regex '.*cluster/[-_a-zA-Z0-9]*/[infra/]*init\\.yml' -exec grep -il 'cluster_name' {} \\;", returnStdout: true).tokenize()
def branches = [:]
- def acc = 0
for (int i = 0; i < infraYMLs.size(); i++) {
def infraYMLConfig = readYaml(file: infraYMLs[i])
if(!infraYMLConfig["parameters"].containsKey("_param")){
@@ -98,11 +97,6 @@
def clusterDomain = infraParams["cluster_domain"]
def configHostname = infraParams["infra_config_hostname"]
def testTarget = String.format("%s.%s", configHostname, clusterDomain)
- if (acc >= PARALLEL_NODE_GROUP_SIZE.toInteger()) {
- parallel branches
- branches = [:]
- acc = 0
- }
branches[testTarget] = {
build job: "test-salt-model-node", parameters: [
@@ -118,11 +112,8 @@
[$class: 'StringParameterValue', name: 'MAX_CPU_PER_JOB', value: MAX_CPU_PER_JOB],
[$class: 'StringParameterValue', name: 'SYSTEM_GIT_REF', value: SYSTEM_GIT_REF]
]}
- acc++;
}
- if (acc != 0) {
- parallel branches
- }
+ parallel branches
}
}
} catch (Throwable e) {