Publish encoded raw XML results of OpenScap scan

Change-Id: I5bac6d93e2c9de54f2c4beb2b141364ca125531e
diff --git a/test-openscap-pipeline.groovy b/test-openscap-pipeline.groovy
index 9a3483c..2ec54e1 100644
--- a/test-openscap-pipeline.groovy
+++ b/test-openscap-pipeline.groovy
@@ -40,11 +40,12 @@
   * @param nodeName             The node name
   * @param reportType           Type of the report to create/use, either 'openscap' or 'cve'
   * @param reportId             Report Id to re-use, if empty report will be created
-  * @param results              The scanning results as a json file content (string)
+  * @param results              The scanning results as a XML file content (string)
   * @return reportId            The Id of the report created if incoming reportId was empty, otherwise incoming reportId
   */
 def uploadResultToDashboard(apiUrl, cloudName, nodeName, reportType, reportId, results) {
     def common = new com.mirantis.mk.Common()
+    def mcp_common = new com.mirantis.mcp.Common()
     def http = new com.mirantis.mk.Http()
 
     // Yes, we do not care of performance and will create at least 4 requests per each result
@@ -113,12 +114,8 @@
     }
 
     // Upload results
-    // NOTE(pas-ha) results should already be a dict with 'results' key
-    requestData = common.parseJSON(results)
-    requestData['node_name'] = nodeName
-    common.infoMsg("First result in results to PUT is ${requestData['results'][0]}")
-    // NOTE(pas-ha) not logging whole results to be sent, is too large and just spams the logs
-    common.infoMsg("Making PUT to ${worpApi.url}/reports/${reportType}/${reportId}/ with node name ${requestData['node_name']} and results")
+    requestData = [node_name: nodeName, xmlgzb64: mcp_common.zipBase64(results)]
+    common.infoMsg("Making PUT to ${worpApi.url}/reports/${reportType}/${reportId}/ with node name ${requestData['node_name']} and encoded raw results")
     http.restCall(worpApi, "/reports/${reportType}/${reportId}/", "PUT", requestData)
     return reportId
 }
@@ -247,7 +244,7 @@
                             cloudName = salt.getGrain(pepperEnv, minion, 'domain')['return'][0].values()[0].values()[0]
                         }
                         try {
-                            def nodeResults = readFile "${benchmarkResultsDir}/results.json"
+                            def nodeResults = readFile "${benchmarkResultsDir}/results.xml"
                             reportId = uploadResultToDashboard(DASHBOARD_API_URL, cloudName, minion, reportType, reportId, nodeResults)
                             common.infoMsg("Report ID is ${reportId}.")
                         } catch (Exception e) {