Merge "Revert "Add versionHistory property for docker images""
diff --git a/release-mcp-version.groovy b/release-mcp-version.groovy
index bd2ccd7..c435383 100644
--- a/release-mcp-version.groovy
+++ b/release-mcp-version.groovy
@@ -26,8 +26,8 @@
 
 common = new com.mirantis.mk.Common()
 
-syncVcpImagesToS3 = env.SYNC_VCP_IMAGE_TO_S3.toBoolean() ?: false
-emailNotify = env.EMAIL_NOTIFY.toBoolean() ?: false
+syncVcpImagesToS3 = env.SYNC_VCP_IMAGE_TO_S3 ?: false
+emailNotify = env.EMAIL_NOTIFY ?: false
 
 def triggerAptlyPromoteJob(aptlyUrl, components, diffOnly, dumpPublish, packages, recreate, source, storages, target) {
     build job: "aptly-promote-all-testing-stable", parameters: [
@@ -88,10 +88,21 @@
     ]
 }
 
-def triggerSyncVCPJob(VcpImageList) {
-    build job: "upload-to-s3", parameters: [
+def triggerSyncVCPJob(VcpImageList, targetTag) {
+    // Operation must be synced with triggerPromoteVCPJob procedure!
+    def images = VcpImageList.trim().tokenize()
+    TargetVcpImageList = ''
+    for (image in images) {
+        if (image.startsWith('#')) {
+            common.warningMsg("Skipping image ${image}")
+            continue
+        }
+        common.infoMsg("Replacing SUBS_SOURCE_VCP_IMAGE_TAG => ${targetTag}")
+        TargetVcpImageList += image.replace('SUBS_SOURCE_VCP_IMAGE_TAG', targetTag) + '\n'
+    }
+    build job: "upload_images_to_s3", parameters: [
             [$class: 'TextParameterValue', name: 'FILENAMES',
-             value: VcpImageList + VcpImageList.collect({it + '.md5'})]
+             value: TargetVcpImageList + TargetVcpImageList.collect({it + '.md5'})]
     ]
 }
 
@@ -129,9 +140,9 @@
                     triggerPromoteVCPJob(VCP_IMAGE_LIST, TARGET_REVISION, SOURCE_REVISION)
 
                 }
-                if (syncVcpImagesToS3) {
+                if (syncVcpImagesToS3.toBoolean()) {
                     common.infoMsg("Syncing VCP images from internal: http://images.mcp.mirantis.net/ to s3: images.mirantis.com")
-                    triggerSyncVCPJob('')
+                    triggerSyncVCPJob(VCP_IMAGE_LIST, TARGET_REVISION)
                 }
                 if (emailNotify) {
                     notify_text = "MCP Promotion  ${env.SOURCE_REVISION} => ${env.TARGET_REVISION} has been done"
diff --git a/upgrade-mcp-release.groovy b/upgrade-mcp-release.groovy
index 59659ab..445c097 100644
--- a/upgrade-mcp-release.groovy
+++ b/upgrade-mcp-release.groovy
@@ -208,7 +208,13 @@
                 if (UPGRADE_SALTSTACK.toBoolean()) {
                     salt.enforceState(venvPepper, "I@linux:system", 'linux.system.repo', true)
 
-                    updateSaltStack("I@salt:master", '["salt-master", "salt-common", "salt-api", "salt-minion"]')
+                    // as salt package update leads to service restart and token changing - re-create pepperEnv and rerun package update
+                    try {
+                        updateSaltStack("I@salt:master", '["salt-master", "salt-common", "salt-api", "salt-minion"]')
+                    } catch (Exception e) {
+                        python.setupPepperVirtualenv(venvPepper, SALT_MASTER_URL, SALT_MASTER_CREDENTIALS)
+                        updateSaltStack("I@salt:master", '["salt-master", "salt-common", "salt-api", "salt-minion"]')
+                    }
 
                     updateSaltStack("I@salt:minion and not I@salt:master", '["salt-minion"]')
                 }