[refactor][core] parallel demo run of kaas jobs

- recording and parsing job results
- remove useless try/catch blocks
us: PRODX-5353

Change-Id: I8fc9fc1130a77a05ad2eaa57147b0d257f94828a
diff --git a/src/com/mirantis/mk/KaasUtils.groovy b/src/com/mirantis/mk/KaasUtils.groovy
index 9bfa0db..f99540e 100644
--- a/src/com/mirantis/mk/KaasUtils.groovy
+++ b/src/com/mirantis/mk/KaasUtils.groovy
@@ -212,29 +212,30 @@
         booleanParam(name: 'ALLOW_AWS_ON_DEMAND', value: triggers.awsOnDemandDemoEnabled),
     ]
 
+    def jobResults = []
     jobs["kaas-core-openstack-patched-${component}"] = {
-        try {
-            common.infoMsg('Deploy: patched KaaS demo with Openstack provider')
-            job_info = build job: "kaas-testing-core-openstack-workflow-${component}", parameters: parameters, wait: true
-            build_description = job_info.getDescription()
-            if (build_description) {
-                currentBuild.description += build_description
-            }
-        } finally {
-            common.infoMsg('Finished: patched KaaS demo with Openstack provider')
+        common.infoMsg('Deploy: patched KaaS demo with Openstack provider')
+        def job_info = build job: "kaas-testing-core-openstack-workflow-${component}", parameters: parameters, wait: true
+        def build_description = job_info.getDescription()
+        def build_result = job_info.getResult()
+
+        common.infoMsg("Patched KaaS demo with Openstack provider finished with status: ${build_result}")
+        jobResults.add(build_result)
+        if (build_description) {
+            currentBuild.description += build_description
         }
     }
     if (triggers.awsOnDemandDemoEnabled) {
         jobs["kaas-core-aws-patched-${component}"] = {
-            try {
-                common.infoMsg('Deploy: patched KaaS demo with AWS provider')
-                job_info = build job: "kaas-testing-core-aws-workflow-${component}", parameters: parameters, wait: true
-                build_description = job_info.getDescription()
-                if (build_description) {
-                    currentBuild.description += build_description
-                }
-            } finally {
-                common.infoMsg('Finished: patched KaaS demo with AWS provider')
+            common.infoMsg('Deploy: patched KaaS demo with AWS provider')
+            def job_info = build job: "kaas-testing-core-aws-workflow-${component}", parameters: parameters, wait: true
+            def build_description = job_info.getDescription()
+            def build_result = job_info.getResult()
+
+            common.infoMsg("Patched KaaS demo with AWS provider finished with status: ${build_result}")
+            jobResults.add(build_result)
+            if (build_description) {
+                currentBuild.description += build_description
             }
         }
     }
@@ -242,4 +243,8 @@
     common.infoMsg('Trigger KaaS demo deployments according to defined provider set')
     // Limit build concurency workaround examples: https://issues.jenkins-ci.org/browse/JENKINS-44085
     parallel jobs
+
+    if (jobResults.contains('FAILURE')) {
+        currentBuild.result = 'FAILURE'
+    }
 }