diff --git a/tcp_tests/managers/runtestmanager.py b/tcp_tests/managers/runtestmanager.py
index cf9b487..0c5fdf7 100644
--- a/tcp_tests/managers/runtestmanager.py
+++ b/tcp_tests/managers/runtestmanager.py
@@ -85,11 +85,16 @@
                 target_host)[0]
         return self.__target_minion
 
-    def fetch_arficats(self, username=None, file_format='xml'):
+    def fetch_arficats(
+            self,
+            username=None,
+            file_format='xml',
+            report_pattern="report_*",
+            report_dir=TEMPEST_CFG_DIR):
         with self.underlay.remote(node_name=self.target_name,
                                   username=None) as tgt:
-            result = tgt.execute('find {} -name "report_*.{}"'.format(
-                TEMPEST_CFG_DIR, file_format))
+            result = tgt.execute('find {} -name "{}.{}"'.format(
+                report_dir, report_pattern, file_format))
             LOG.debug("Find result {0}".format(result))
             assert len(result['stdout']) > 0, ('No report found, please check'
                                                ' if test run was successful.')
@@ -118,7 +123,7 @@
                                                indent=4, sort_keys=True)
                 f.write(container_inspect)
 
-    def prepare(self):
+    def prepare(self, pipeline=False):
         salt_call_cmd = "salt-call -l info --hard-crash --state-output=mixed "
         barbican_integration = self.__salt_api.get_single_pillar(
             tgt="ctl01*",
@@ -147,14 +152,18 @@
                 'node_name': self.target_name,
                 'cmd': ("set -ex;" +
                         salt_call_cmd + " pip.install setuptools && " +
-                        salt_call_cmd + " pip.install docker")},
-            {
-                'description': "Generate config for Tempest",
-                'node_name': self.master_name,
-                'cmd': ("set -ex;" +
-                        "salt-run state.orchestrate " +
-                        "runtest.orchestrate.tempest")},
+                        salt_call_cmd + " pip.install docker")}
         ]
+        if not pipeline:
+            commands.append(
+                {
+                    'description': "Generate config for Tempest",
+                    'node_name': self.master_name,
+                    'cmd': ("set -ex;" +
+                            "salt-run state.orchestrate " +
+                            "runtest.orchestrate.tempest")
+                }
+            )
 
         if contrail_integration:
             vsrx_router = self.__salt_api.get_single_pillar(
