Merge "Remove hardcoded node numbering"
diff --git a/src/com/mirantis/mk/Common.groovy b/src/com/mirantis/mk/Common.groovy
index 6e90c7a..b12cb66 100644
--- a/src/com/mirantis/mk/Common.groovy
+++ b/src/com/mirantis/mk/Common.groovy
@@ -445,9 +445,12 @@
/**
* Test pipeline input parameter existence and validity (not null and not empty string)
* @param paramName input parameter name (usually uppercase)
- */
+ */
def validInputParam(paramName) {
- return env.getEnvironment().containsKey(paramName) && env[paramName] != null && env[paramName] != ""
+ if (paramName instanceof java.lang.String) {
+ return env.getEnvironment().containsKey(paramName) && env[paramName] != null && env[paramName] != ""
+ }
+ return false
}
/**
@@ -782,22 +785,24 @@
printCurrentStage(stageMap, currentStage)
stage(currentStage) {
+ if (interactive){
input message: getColorizedString("We are going to execute stage \'${currentStage}\' on the following target ${target}.\nPlease review stage information above.", "yellow")
- try {
- return body.call()
- stageMap[currentStage]['Status'] = "SUCCESS"
- } catch (Exception err) {
- def msg = "Stage ${currentStage} failed with the following exception:\n${err}"
- print getColorizedString(msg, "yellow")
- common.errorMsg(err)
- if (interactive) {
- input message: getColorizedString("Please make sure problem is fixed to proceed with retry. Ready to proceed?", "yellow")
- stageMap[currentStage]['Status'] = "RETRYING"
- stageWrapper(stageMap, currentStage, target, interactive, body)
- } else {
- error(msg)
- }
+ }
+ try {
+ return body.call()
+ stageMap[currentStage]['Status'] = "SUCCESS"
+ } catch (Exception err) {
+ def msg = "Stage ${currentStage} failed with the following exception:\n${err}"
+ print getColorizedString(msg, "yellow")
+ common.errorMsg(err)
+ if (interactive) {
+ input message: getColorizedString("Please make sure problem is fixed to proceed with retry. Ready to proceed?", "yellow")
+ stageMap[currentStage]['Status'] = "RETRYING"
+ stageWrapper(stageMap, currentStage, target, interactive, body)
+ } else {
+ error(msg)
}
+ }
}
}
diff --git a/src/com/mirantis/mk/Gerrit.groovy b/src/com/mirantis/mk/Gerrit.groovy
index d1c0a1c..3761789 100644
--- a/src/com/mirantis/mk/Gerrit.groovy
+++ b/src/com/mirantis/mk/Gerrit.groovy
@@ -16,6 +16,8 @@
* - withMerge, merge master before build
* - withLocalBranch, prevent detached mode in repo
* - withWipeOut, wipe repository and force clone
+ * - GerritTriggerBuildChooser - use magic GerritTriggerBuildChooser class from gerrit-trigger-plugin.
+ * By default,enabled.
* Gerrit properties like GERRIT_SCHEMA can be passed in config as gerritSchema or will be obtained from env
* @param extraScmExtensions list of extra scm extensions which will be used for checkout (optional)
* @return boolean result
@@ -48,13 +50,13 @@
def path = config.get('path', "")
def depth = config.get('depth', 0)
def timeout = config.get('timeout', 20)
+ def GerritTriggerBuildChooser = config.get('useGerritTriggerBuildChooser', true)
def invalidParams = _getInvalidGerritParams(config)
if (invalidParams.isEmpty()) {
// default parameters
def scmExtensions = [
[$class: 'CleanCheckout'],
- [$class: 'BuildChooserSetting', buildChooser: [$class: 'GerritTriggerBuildChooser']],
[$class: 'CheckoutOption', timeout: timeout],
[$class: 'CloneOption', depth: depth, noTags: false, reference: '', shallow: depth > 0, timeout: timeout]
]
@@ -74,6 +76,11 @@
scmUserRemoteConfigs.put('credentialsId',credentials)
}
+ // Usefull, if we only need to clone branch. W\o any refspec magic
+ if (GerritTriggerBuildChooser) {
+ scmExtensions.add([$class: 'BuildChooserSetting', buildChooser: [$class: 'GerritTriggerBuildChooser']],)
+ }
+
// if we need to "merge" code from patchset to GERRIT_BRANCH branch
if (merge) {
scmExtensions.add([$class: 'PreBuildMerge', options: [fastForwardMode: 'FF', mergeRemote: 'gerrit', mergeStrategy: 'DEFAULT', mergeTarget: gerritBranch]])
diff --git a/src/com/mirantis/mk/Orchestrate.groovy b/src/com/mirantis/mk/Orchestrate.groovy
index 22c9bef..8c49b0e 100644
--- a/src/com/mirantis/mk/Orchestrate.groovy
+++ b/src/com/mirantis/mk/Orchestrate.groovy
@@ -664,19 +664,19 @@
salt.fullRefresh(master, "* ${extra_tgt}")
// Bootstrap all nodes
- salt.enforceState(master, "I@kubernetes:pool ${extra_tgt}", 'linux')
- salt.enforceState(master, "I@kubernetes:pool ${extra_tgt}", 'salt.minion')
- salt.enforceState(master, "I@kubernetes:pool ${extra_tgt}", ['openssh', 'ntp'])
+ salt.enforceState(master, "I@kubernetes:master ${extra_tgt}", 'linux')
+ salt.enforceState(master, "I@kubernetes:master ${extra_tgt}", 'salt.minion')
+ salt.enforceState(master, "I@kubernetes:master ${extra_tgt}", ['openssh', 'ntp'])
// Create and distribute SSL certificates for services using salt state
- salt.enforceState(master, "I@kubernetes:pool ${extra_tgt}", 'salt.minion.cert')
+ salt.enforceState(master, "I@kubernetes:master ${extra_tgt}", 'salt.minion.cert')
// Install docker
salt.enforceState(master, "I@docker:host ${extra_tgt}", 'docker.host')
// Install Kubernetes pool and Calico
salt.enforceState(master, "I@kubernetes:master ${extra_tgt}", 'kubernetes.master.kube-addons')
- salt.enforceState(master, "I@kubernetes:pool ${extra_tgt}", 'kubernetes.pool')
+ salt.enforceState(master, "I@kubernetes:master ${extra_tgt}", 'kubernetes.pool')
if (salt.testTarget(master, "I@etcd:server:setup ${extra_tgt}")) {
// Setup etcd server
@@ -696,7 +696,7 @@
salt.enforceState(master, "${first_target} ${extra_tgt}", 'kubernetes.master.setup')
// Restart kubelet
- salt.runSaltProcessStep(master, "I@kubernetes:pool ${extra_tgt}", 'service.restart', ['kubelet'])
+ salt.runSaltProcessStep(master, "I@kubernetes:master ${extra_tgt}", 'service.restart', ['kubelet'])
}
@@ -705,23 +705,24 @@
salt.fullRefresh(master, "*")
// Bootstrap all nodes
- salt.enforceState(master, "I@kubernetes:pool ${extra_tgt}", 'linux')
- salt.enforceState(master, "I@kubernetes:pool ${extra_tgt}", 'salt.minion')
- salt.enforceState(master, "I@kubernetes:pool ${extra_tgt}", ['openssh', 'ntp'])
+ salt.enforceState(master, "I@kubernetes:pool and not I@kubernetes:master ${extra_tgt}", 'linux')
+ salt.enforceState(master, "I@kubernetes:pool and not I@kubernetes:master ${extra_tgt}", 'salt.minion')
+ salt.enforceState(master, "I@kubernetes:pool and not I@kubernetes:master ${extra_tgt}", ['openssh', 'ntp'])
// Create and distribute SSL certificates for services using salt state
- salt.enforceState(master, "I@kubernetes:pool ${extra_tgt}", 'salt.minion.cert')
+ salt.enforceState(master, "I@kubernetes:pool and not I@kubernetes:master ${extra_tgt}", 'salt.minion.cert')
// Install docker
salt.enforceState(master, "I@docker:host ${extra_tgt}", 'docker.host')
// Install Kubernetes and Calico
- salt.enforceState(master, "I@kubernetes:pool ${extra_tgt}", 'kubernetes.pool')
+ salt.enforceState(master, "I@kubernetes:pool and not I@kubernetes:master ${extra_tgt}", 'kubernetes.pool')
// Install Tiller and all configured releases
if (salt.testTarget(master, "I@helm:client ${extra_tgt}")) {
salt.enforceState(master, "I@helm:client ${extra_tgt}", 'helm')
}
+ salt.runSaltProcessStep(master, "I@kubernetes:pool and not I@kubernetes:master ${extra_tgt}", 'service.restart', ['kubelet'])
}