WIP fix dockerExists function in mcp release upgrade pipeline

Change-Id: Iedd1e1d745fb4c7f0ddccdd082a1f0c02f67fc9b
Related-PROD: https://mirantis.jira.com/browse/PROD-19213
diff --git a/update-mirror-image.groovy b/update-mirror-image.groovy
index 2f71d2a..96dc027 100644
--- a/update-mirror-image.groovy
+++ b/update-mirror-image.groovy
@@ -24,23 +24,12 @@
 python = new com.mirantis.mk.Python()
 venvPepper = "venvPepper"
 
-@NonCPS
-def Boolean dockerExists() {
-  def engine = salt.getPillar(venvPepper, 'I@aptly:server', "aptly:server:source:engine")
-  def matches = (engine =~ /:docker/)
-  try{
-      def test = matches[position]
-      return false
-  }catch(Exception ex){
-      return true
-  }
-}
-
 timeout(time: 12, unit: 'HOURS') {
     node() {
         try {
             python.setupPepperVirtualenv(venvPepper, SALT_MASTER_URL, SALT_MASTER_CREDENTIALS)
-            def dockerExists = dockerExists()
+            def engine = salt.getPillar(venvPepper, 'I@aptly:server', "aptly:server:source:engine")
+            runningOnDocker = engine.get("return")[0].containsValue("docker")
 
             if(UPDATE_APTLY.toBoolean()){
                 stage('Update Aptly mirrors'){
@@ -48,7 +37,7 @@
 
                     if(RECREATE_APTLY_MIRRORS.toBoolean())
                     {
-                        if(dockerExists){
+                        if(runningOnDocker){
                             salt.cmdRun(venvPepper, 'I@aptly:server', "aptly mirror list --raw | grep -E '*' | xargs -n 1 aptly mirror drop -force", true, null, true)
                         }
                         else{
@@ -64,7 +53,7 @@
                         UPDATE_APTLY_MIRRORS = UPDATE_APTLY_MIRRORS.replaceAll("\\s","")
                         def mirrors = UPDATE_APTLY_MIRRORS.tokenize(",")
                         for(mirror in mirrors){
-                            if(dockerExists){
+                            if(runningOnDocker){
                                 salt.runSaltProcessStep(venvPepper, 'I@aptly:server', 'cmd.script', ['salt://aptly/files/aptly_mirror_update.sh', "args=\"${aptlyMirrorArgs} -m ${mirror}\""], null, true)
                             }else{
                                 salt.runSaltProcessStep(venvPepper, 'I@aptly:server', 'cmd.script', ['salt://aptly/files/aptly_mirror_update.sh', "args=\"${aptlyMirrorArgs} -m ${mirror}\"", 'runas=aptly'], null, true)
@@ -74,7 +63,7 @@
                     else{
                         common.infoMsg("Updating all Aptly mirrors.")
 
-                        if(dockerExists){
+                        if(runningOnDocker){
                             salt.runSaltProcessStep(venvPepper, 'I@aptly:server', 'cmd.script', ['salt://aptly/files/aptly_mirror_update.sh', "args=\"${aptlyMirrorArgs}\""], null, true)
                         }
                         else{
@@ -100,7 +89,7 @@
                 if(FORCE_OVERWRITE_APTLY_PUBLISHES.toBoolean()){
                     aptlyPublishArgs += "f"
                 }
-                if(dockerExists){
+                if(runningOnDocker){
                     aptlyPublishArgs += " -u http://10.99.0.1:8080"
                     salt.runSaltProcessStep(venvPepper, 'I@aptly:server', 'cmd.script', ['salt://aptly/files/aptly_publish_update.sh', "args=\"${aptlyPublishArgs}\""], null, true)
                 }
diff --git a/upgrade-mcp-release.groovy b/upgrade-mcp-release.groovy
index 70256b7..fb8b0e6 100644
--- a/upgrade-mcp-release.groovy
+++ b/upgrade-mcp-release.groovy
@@ -15,23 +15,10 @@
 python = new com.mirantis.mk.Python()
 venvPepper = "venvPepper"
 
-@NonCPS
-def Boolean dockerExists() {
-  def engine = salt.getPillar(venvPepper, 'I@aptly:server', "aptly:server:source:engine")
-  def matches = (engine =~ /:docker/)
-  try{
-      def test = matches[position]
-      return false
-  }catch(Exception ex){
-      return true
-  }
-}
-
 timeout(time: 12, unit: 'HOURS') {
     node("python") {
         try {
             python.setupPepperVirtualenv(venvPepper, SALT_MASTER_URL, SALT_MASTER_CREDENTIALS)
-            def dockerExists = dockerExists()
 
             stage("Update Reclass"){
                 common.infoMsg("Updating reclass model")
@@ -43,7 +30,18 @@
             if(UPDATE_LOCAL_REPOS.toBoolean()){
                 stage("Update local repos"){
                     common.infoMsg("Updating local repositories")
-                    if(dockerExists){
+
+                    def engine = salt.getPillar(venvPepper, 'I@aptly:server', "aptly:server:source:engine")
+                    runningOnDocker = engine.get("return")[0].containsValue("docker")
+
+                    if (runningOnDocker) {
+                        common.infoMsg("Aptly is running as Docker container")
+                    }
+                    else {
+                        common.infoMsg("Aptly isn't running as Docker container. Going to use aptly user for executing aptly commands")
+                    }
+
+                    if(runningOnDocker){
                         salt.cmdRun(venvPepper, 'I@aptly:server', "aptly mirror list --raw | grep -E '*' | xargs -n 1 aptly mirror drop -force", true, null, true)
                     }
                     else{
@@ -52,7 +50,7 @@
 
                     salt.enforceState(venvPepper, 'I@aptly:server', 'aptly', true)
 
-                    if(dockerExists){
+                    if(runningOnDocker){
                         salt.runSaltProcessStep(venvPepper, 'I@aptly:server', 'cmd.script', ['salt://aptly/files/aptly_mirror_update.sh', "args=-sv"], null, true)
                         salt.runSaltProcessStep(venvPepper, 'I@aptly:server', 'cmd.script', ['salt://aptly/files/aptly_publish_update.sh', "args=-frv -u http://10.99.0.1:8080"], null, true)
                     }