diff --git a/jobs/pipelines/swarm-testrail-report.groovy b/jobs/pipelines/swarm-testrail-report.groovy
index 2df04e0..17b770f 100644
--- a/jobs/pipelines/swarm-testrail-report.groovy
+++ b/jobs/pipelines/swarm-testrail-report.groovy
@@ -26,12 +26,22 @@
 
 currentBuild.description = "${PARENT_NODE_NAME}:${ENV_NAME}"
 
+def find_latest(search_pattern) {
+    return "find ${PARENT_WORKSPACE} -name \"${search_pattern}\" -printf \"'%T@ %p \\n'\" | sort -r |head -n1|awk -F' ' '{ print \$2 }'"
+}
+
 timeout(time: 2, unit: 'HOURS') {
 node ("${PARENT_NODE_NAME}") {
     if (! fileExists("${PARENT_WORKSPACE}")) {
         error "'PARENT_WORKSPACE' contains path to non-existing directory ${PARENT_WORKSPACE} on the node '${PARENT_NODE_NAME}'."
     }
     dir("${PARENT_WORKSPACE}") {
+        if (env.REPORT_FILE_URL) {
+            print "Download report from '${env.REPORT_FILE_URL}'"
+            file_text = new URL ("${env.REPORT_FILE_URL}").getText()
+            print "Copy downloaded file to workspace as ${REPORT_FILE_NAME}"
+            writeFile file: "${REPORT_FILE_NAME}", text: file_text
+        }
         def description = ''
         def exception_message = ''
         try {
@@ -51,24 +61,18 @@
             def report_url = ''
 
             //  deployment_report_name = "deployment_${ENV_NAME}.xml"
-            def deployment_report_name = sh(script: "find ${PARENT_WORKSPACE} -name \"deployment_${ENV_NAME}.xml\" -printf \"'%p'\" ", returnStdout: true).trim()
+            def deployment_report_name = sh(script: find_latest("deployment_${ENV_NAME}.xml"), returnStdout: true).trim()
             // tcpqa_report_name =~ "nosetests.xml"
-            def tcpqa_report_name = sh(script: "find ${PARENT_WORKSPACE} -name \"nosetests.xml\" -printf \"'%p'\" ", returnStdout: true).trim()
+            def tcpqa_report_name = sh(script: find_latest("nosetests.xml"), returnStdout: true).trim()
             // tempest_report_name =~ "report_*.xml"
-            def tempest_report_name = sh(script: "find ${PARENT_WORKSPACE} -name \"report_*.xml\" -printf \"'%p'\" ", returnStdout: true).trim()
-            // k8s_conformance_report_name =~ conformance_result.xml
-            def k8s_conformance_report_name = sh(script: "find ${PARENT_WORKSPACE} -name \"conformance_result.xml\" -printf \"'%p'\" ", returnStdout: true).trim()
-            // k8s_conformance_report_name =~ conformance_virtlet_result.xml
-            def k8s_conformance_virtlet_report_name = sh(script: "find ${PARENT_WORKSPACE} -name \"conformance_virtlet_result.xml\" -printf \"'%p'\" ", returnStdout: true).trim()
+            def tempest_report_name = sh(script: find_latest("report_*.xml"), returnStdout: true).trim()
             // stacklight_report_name =~ "stacklight_report.xml" or "report.xml"
-            def stacklight_report_name = sh(script: "find ${PARENT_WORKSPACE} -name \"*report.xml\"", returnStdout: true).trim()
+            def stacklight_report_name = sh(script: find_latest("*report.xml"), returnStdout: true).trim()
             // cvp_sanity_report_name =~ cvp_sanity_report.xml
-            def cvp_sanity_report_name = sh(script: "find ${PARENT_WORKSPACE} -name \"cvp_sanity_results.xml\" -printf \"'%p'\" ", returnStdout: true).trim()
+            def cvp_sanity_report_name = sh(script: find_latest("cvp_sanity_results.xml"), returnStdout: true).trim()
             common.printMsg(deployment_report_name ? "Found deployment report: ${deployment_report_name}" : "Deployment report not found", deployment_report_name ? "blue" : "red")
             common.printMsg(tcpqa_report_name ? "Found tcp-qa report: ${tcpqa_report_name}" : "tcp-qa report not found", tcpqa_report_name ? "blue" : "red")
             common.printMsg(tempest_report_name ? "Found tempest report: ${tempest_report_name}" : "tempest report not found", tempest_report_name ? "blue" : "red")
-            common.printMsg(k8s_conformance_report_name ? "Found k8s conformance report: ${k8s_conformance_report_name}" : "k8s conformance report not found", k8s_conformance_report_name ? "blue" : "red")
-            common.printMsg(k8s_conformance_virtlet_report_name ? "Found k8s conformance virtlet report: ${k8s_conformance_virtlet_report_name}" : "k8s conformance virtlet report not found", k8s_conformance_virtlet_report_name ? "blue" : "red")
             common.printMsg(stacklight_report_name ? "Found stacklight-pytest report: ${stacklight_report_name}" : "stacklight-pytest report not found", stacklight_report_name ? "blue" : "red")
             common.printMsg(cvp_sanity_report_name ? "Found CVP Sanity report: ${cvp_sanity_report_name}" : "CVP Sanity report not found", cvp_sanity_report_name ? "blue" : "red")
 
@@ -140,56 +144,6 @@
                 }
             }
 
-            if ('k8s' in stacks && k8s_conformance_report_name) {
-                stage("K8s conformance report") {
-                    def k8s_version=shared.run_cmd_stdout("""\
-                        . ./env_k8s_version;
-                        echo "\$KUBE_SERVER_VERSION"
-                    """).trim().split().last()
-                    testSuiteName = "[MCP][k8s]Hyperkube ${k8s_version}.x"
-                    methodname = "{methodname}"
-                    testrail_name_template = "{title}"
-                    reporter_extra_options = [
-                      "--send-duplicates",
-                      "--testrail-add-missing-cases",
-                      "--testrail-case-custom-fields {\\\"custom_qa_team\\\":\\\"9\\\"}",
-                      "--testrail-case-section-name \'Conformance\'",
-                    ]
-                    ret = shared.upload_results_to_testrail(k8s_conformance_report_name, testSuiteName, methodname, testrail_name_template, reporter_extra_options)
-                    common.printMsg(ret.stdout, "blue")
-                    report_url = ret.stdout.split("\n").each {
-                        if (it.contains("[TestRun URL]")) {
-                            common.printMsg("Found report URL: " + it.trim().split().last(), "blue")
-                            description += "<a href=" + it.trim().split().last() + ">${testSuiteName}</a><br>"
-                        }
-                    }
-                    exception_message += ret.exception
-                }
-            }
-
-            if ('k8s' in stacks && k8s_conformance_virtlet_report_name) {
-                stage("K8s conformance virtlet report") {
-                    testSuiteName = "[k8s] Virtlet"
-                    methodname = "{methodname}"
-                    testrail_name_template = "{title}"
-                    reporter_extra_options = [
-                      "--send-duplicates",
-                      "--testrail-add-missing-cases",
-                      "--testrail-case-custom-fields {\\\"custom_qa_team\\\":\\\"9\\\"}",
-                      "--testrail-case-section-name \'Conformance\'",
-                    ]
-                    ret = shared.upload_results_to_testrail(k8s_conformance_virtlet_report_name, testSuiteName, methodname, testrail_name_template, reporter_extra_options)
-                    common.printMsg(ret.stdout, "blue")
-                    report_url = ret.stdout.split("\n").each {
-                        if (it.contains("[TestRun URL]")) {
-                            common.printMsg("Found report URL: " + it.trim().split().last(), "blue")
-                            description += "<a href=" + it.trim().split().last() + ">${testSuiteName}</a><br>"
-                        }
-                    }
-                    exception_message += ret.exception
-                }
-            }
-
             if ('stacklight' in stacks && stacklight_report_name) {
                 stage("stacklight-pytest report") {
                     testSuiteName = "LMA2.0_Automated"
diff --git a/src/com/mirantis/system_qa/SharedPipeline.groovy b/src/com/mirantis/system_qa/SharedPipeline.groovy
index 9edd241..6b5f82c 100644
--- a/src/com/mirantis/system_qa/SharedPipeline.groovy
+++ b/src/com/mirantis/system_qa/SharedPipeline.groovy
@@ -413,7 +413,7 @@
                 string(name: 'PARENT_WORKSPACE', value: pwd()),
                 string(name: 'TCP_QA_REFS', value: "${tcp_qa_refs}"),
                 string(name: 'TEMPEST_TEST_SUITE_NAME', value: "${tempest_test_suite_name}"),
-                string(name: 'TEST_PLAN_NAME_PREFIX', value: "${test_plan_name_prefix}"),
+                string(name: 'TEST_PLAN_NAME_PREFIX', value: "${test_plan_name_prefix}")
             ]
         common.printMsg("Start building job 'swarm-testrail-report' with parameters:", "purple")
         common.prettyPrint(parameters)
@@ -686,7 +686,7 @@
   def testrailURL = "https://mirantis.testrail.com"
   def testrailProject = "Mirantis Cloud Platform"
   def testPlanNamePrefix = env.TEST_PLAN_NAME_PREFIX ?: "[2019.2.0-update]System"
-  def testPlanName = "${testPlanNamePrefix}-${MCP_VERSION}-${new Date().format('yyyy-MM-dd')}"
+  def testPlanName = env.TEST_PLAN_NAME ?: "${testPlanNamePrefix}-${MCP_VERSION}-${new Date().format('yyyy-MM-dd')}"
   def testrailMilestone = "MCP1.1"
   def testrailCaseMaxNameLenght = 250
   def jobURL = env.BUILD_URL
