diff --git a/cloud-deploy-pipeline.groovy b/cloud-deploy-pipeline.groovy
index f432c16..4195d13 100644
--- a/cloud-deploy-pipeline.groovy
+++ b/cloud-deploy-pipeline.groovy
@@ -152,6 +152,12 @@
                         common.infoMsg("Property STACK_RECLASS_BRANCH or STACK_RECLASS_ADDRESS not found! Using default values from template.")
                     }
 
+                    // put formulas revision - stable, testing or nightly
+                    if (common.validInputParam('FORMULA_PKG_REVISION')) {
+                        common.infoMsg("Setting formulas revision to ${FORMULA_PKG_REVISION}")
+                        envParams.put('cfg_formula_pkg_revision', FORMULA_PKG_REVISION)
+                    }
+
                     openstack.createHeatStack(openstackCloud, STACK_NAME, STACK_TEMPLATE, envParams, HEAT_STACK_ENVIRONMENT, venv)
                 }
 
diff --git a/tcp-qa-pipeline.groovy b/tcp-qa-pipeline.groovy
index 1b178b4..17a7c3e 100644
--- a/tcp-qa-pipeline.groovy
+++ b/tcp-qa-pipeline.groovy
@@ -81,7 +81,7 @@
             . ${VENV_PATH}/bin/activate
 
             cd tcp_tests
-            if ! py.test -vvv -s -p no:django -p no:ipdb --junit-xml=nosetests.xml -k ${TEST_GROUP}; then
+            if ! py.test -vvv -s -p no:django -p no:ipdb --junit-xml=../nosetests.xml -k ${TEST_GROUP}; then
               echo "Tests failed!"
               exit 1
             fi
@@ -98,14 +98,14 @@
 
 def uploadResults(){
     stage('Upload tests results'){
-        def thisBuildUrl = "${env.JENKINS_URL}/job/${JOB_NAME}/${BUILD_NUMBER}/"
-        def testPlanName = "${env.TESTRAIL_MILESTONE} Integration-${new Date().format('yyyy-MM-dd')}"
+        def thisBuildUrl = "${JENKINS_URL}/job/${JOB_NAME}/${BUILD_NUMBER}/"
+        def testPlanName = "${TESTRAIL_MILESTONE} Integration-${new Date().format('yyyy-MM-dd')}"
 
         qaCommon.uploadResultsTestRail([
-            junitXml: "${env.WORKSPACE}/nosetests.xml",
+            junitXml: "${WORKSPACE}/nosetests.xml",
             testPlanName: testPlanName,
-            testSuiteName: "${env.TESTRAIL_TEST_SUITE}",
-            testrailMilestone: "${env.TESTRAIL_MILESTONE}",
+            testSuiteName: "${TESTRAIL_TEST_SUITE}",
+            testrailMilestone: "${TESTRAIL_MILESTONE}",
             jobURL: thisBuildUrl,
         ])
     }
