Merge "Fix uploading OpenScap results to Worp API"
diff --git a/docker-mirror-images.groovy b/docker-mirror-images.groovy
index 92fea8e..4ccc74a 100644
--- a/docker-mirror-images.groovy
+++ b/docker-mirror-images.groovy
@@ -59,13 +59,17 @@
imageName = getImageName(sourceImage)
targetImageFull = "${targetRegistryPath}/${imageName}:${env.IMAGE_TAG}"
srcImage = docker.image(sourceImage)
- srcImage.pull()
+ common.retry(3, 5) {
+ srcImage.pull()
+ }
// Use sh-docker call for tag, due magic code in plugin:
// https://github.com/jenkinsci/docker-workflow-plugin/blob/docker-workflow-1.17/src/main/resources/org/jenkinsci/plugins/docker/workflow/Docker.groovy#L168-L170
sh("docker tag ${srcImage.id} ${targetImageFull}")
common.infoMsg("Attempt to push docker image into remote registry: ${env.REGISTRY_URL}")
- docker.withRegistry(env.REGISTRY_URL, env.TARGET_REGISTRY_CREDENTIALS_ID) {
- sh("docker push ${targetImageFull}")
+ common.retry(3, 5) {
+ docker.withRegistry(env.REGISTRY_URL, env.TARGET_REGISTRY_CREDENTIALS_ID) {
+ sh("docker push ${targetImageFull}")
+ }
}
if (targetImageFull.contains(externalMarker)) {
external = true
@@ -97,7 +101,9 @@
common.infoMsg("artifactoryProperties=> ${artifactoryProperties}")
// Call pipeline-library routine to set properties
def mcp_artifactory = new com.mirantis.mcp.MCPArtifactory()
- mcp_artifactory.setProperties(imgUrl - '/manifest.json', artifactoryProperties)
+ common.retry(3, 5) {
+ mcp_artifactory.setProperties(imgUrl - '/manifest.json', artifactoryProperties)
+ }
}
}
}
diff --git a/k8s-upgrade-pipeline.groovy b/k8s-upgrade-pipeline.groovy
index 1dfc13a..c8e2d06 100644
--- a/k8s-upgrade-pipeline.groovy
+++ b/k8s-upgrade-pipeline.groovy
@@ -90,6 +90,15 @@
}
}
+def updateAddons(pepperEnv, target) {
+ def salt = new com.mirantis.mk.Salt()
+
+ stage("Upgrading Addons at ${target}") {
+ salt.enforceState(pepperEnv, target, "kubernetes.master.addons")
+ salt.enforceState(pepperEnv, target, "kubernetes.master.setup")
+ }
+}
+
def upgradeDocker(pepperEnv, target) {
def salt = new com.mirantis.mk.Salt()
@@ -130,6 +139,7 @@
upgradeDocker(pepperEnv, t)
}
performKubernetesControlUpdate(pepperEnv, t)
+ updateAddons(pepperEnv, t)
uncordonNode(pepperEnv, t)
}
}
diff --git a/openstack-control-upgrade.groovy b/openstack-control-upgrade.groovy
index 6a6eea2..5febb3c 100644
--- a/openstack-control-upgrade.groovy
+++ b/openstack-control-upgrade.groovy
@@ -159,6 +159,7 @@
for (target in upgradeTargets){
common.stageWrapper(upgradeStageMap, "Pre upgrade", target, interactive) {
openstack.runOpenStackUpgradePhase(env, target, 'pre')
+ openstack.runOpenStackUpgradePhase(env, target, 'verify')
}
}
diff --git a/sync-http-to-s3.groovy b/sync-http-to-s3.groovy
new file mode 100644
index 0000000..108a394
--- /dev/null
+++ b/sync-http-to-s3.groovy
@@ -0,0 +1,29 @@
+def common = new com.mirantis.mk.Common()
+
+
+node("docker") {
+ stage('Prepare') {
+ img = docker.image(IMAGE)
+ img.pull()
+ }
+ stage('Upload') {
+ FILENAMES.split().each { filename ->
+ url = "${SOURCE}/${filename}"
+ img.withRun("--entrypoint='/bin/bash'") { c ->
+ withCredentials([[$class : 'UsernamePasswordMultiBinding', credentialsId: 'aws-s3',
+ usernameVariable: 'S3_ACCESS_KEY', passwordVariable: 'S3_SECRET_KEY']]) {
+ img.inside("-e S3_ACCESS_KEY=${S3_ACCESS_KEY} -e S3_SECRET_KEY=${S3_SECRET_KEY}") {
+ common.retry(3, 5) {
+ sh(script: "wget --progress=dot:giga -O ${filename} ${url}", returnStdout: true)
+ sh(script: "/usr/local/bin/s4cmd put ${filename} ${DEST}/${filename}", returnStdout: true)
+ }
+ }
+ }
+
+
+ }
+ sh("rm ${filename}")
+ }
+ }
+ deleteDir()
+}