diff --git a/catalog-be/pom.xml b/catalog-be/pom.xml
index 61a40e4..4eb05e6 100644
--- a/catalog-be/pom.xml
+++ b/catalog-be/pom.xml
@@ -753,6 +753,13 @@
     <finalName>${project.artifactId}-${project.version}</finalName>
     <plugins>
       <plugin>
+        <groupId>org.apache.maven.plugins</groupId>
+          <artifactId>maven-surefire-plugin</artifactId>
+          <configuration>
+            <forkCount>1</forkCount>
+          </configuration>
+      </plugin>
+      <plugin>
         <!-- Download Swagger UI webjar. -->
         <artifactId>maven-dependency-plugin</artifactId>
         <version>${maven-dependency-plugin.version}</version>
diff --git a/catalog-dao/pom.xml b/catalog-dao/pom.xml
index 52a317d..4634ce3 100644
--- a/catalog-dao/pom.xml
+++ b/catalog-dao/pom.xml
@@ -345,7 +345,15 @@
   </dependencies>
 
   <build>
-
+    <plugins>
+      <plugin>
+        <groupId>org.apache.maven.plugins</groupId>
+        <artifactId>maven-surefire-plugin</artifactId>
+        <configuration>
+          <forkCount>1</forkCount>
+        </configuration>
+      </plugin>
+    </plugins>
     <pluginManagement>
       <plugins>
         <!--This plugin's configuration is used to store Eclipse m2e settings
@@ -406,5 +414,6 @@
         </plugin>
       </plugins>
     </pluginManagement>
+
   </build>
 </project>
diff --git a/common/onap-common-configuration-management/onap-configuration-management-core/pom.xml b/common/onap-common-configuration-management/onap-configuration-management-core/pom.xml
index cf74fa1..b2f545f 100755
--- a/common/onap-common-configuration-management/onap-configuration-management-core/pom.xml
+++ b/common/onap-common-configuration-management/onap-configuration-management-core/pom.xml
@@ -114,7 +114,6 @@
       <plugin>
         <groupId>org.apache.maven.plugins</groupId>
         <artifactId>maven-surefire-plugin</artifactId>
-        <version>${maven-surefire-plugin.version}</version>
         <configuration>
           <systemPropertyVariables>
             <config.location>${project.basedir}/src/test/resources</config.location>
diff --git a/common/onap-generic-artifact-browser/onap-generic-artifact-browser-service/pom.xml b/common/onap-generic-artifact-browser/onap-generic-artifact-browser-service/pom.xml
index 4efc32f..48124dd 100644
--- a/common/onap-generic-artifact-browser/onap-generic-artifact-browser-service/pom.xml
+++ b/common/onap-generic-artifact-browser/onap-generic-artifact-browser-service/pom.xml
@@ -62,14 +62,4 @@
 
   </dependencies>
 
-  <build>
-    <plugins>
-      <plugin>
-        <groupId>org.apache.maven.plugins</groupId>
-        <artifactId>maven-surefire-plugin</artifactId>
-        <version>${maven-surefire-plugin.version}</version>
-      </plugin>
-    </plugins>
-  </build>
-
 </project>
\ No newline at end of file
diff --git a/integration-tests/pom.xml b/integration-tests/pom.xml
index 977c49e..7583de4 100644
--- a/integration-tests/pom.xml
+++ b/integration-tests/pom.xml
@@ -242,7 +242,7 @@
                 <artifactId>maven-resources-plugin</artifactId>
                 <executions>
                     <execution>
-                        <id>copy-resources</id>
+                        <id>copy-chef-resources</id>
                         <phase>pre-integration-test</phase>
                         <goals>
                             <goal>copy-resources</goal>
@@ -293,10 +293,10 @@
                         <phase>pre-integration-test</phase>
                         <configuration>
                             <target>
-                                <mkdir dir="${it.shared.volume}"/>
-                                <chmod dir="${it.shared.volume}" type="dir" perm="ugo+rwx"/>
-                                <mkdir dir="target/automationDownloadDir"/>
-                                <chmod dir="target/automationDownloadDir" type="dir" perm="ugo+rwx"/>
+                                <mkdir dir="/tmp/sdc-integration-tests"/>
+                                <chmod dir="/tmp/sdc-integration-tests" type="dir" perm="ugo+rwx"/>
+                                <mkdir dir="/tmp/sdc-integration-tests/downloadAutomation"/>
+                                <chmod dir="/tmp/sdc-integration-tests/downloadAutomation" type="dir" perm="ugo+rwx"/>
                             </target>
                         </configuration>
                         <goals>
@@ -437,7 +437,7 @@
                             <alias>sdc-cassandra-onboard-init</alias>
                             <run>
                                 <dependsOn>
-                                    <container>sdc-cassandra-init</container>
+                                    <container>sdc-cassandra</container>
                                 </dependsOn>
                                 <env>
                                     <RELEASE>${project.version}</RELEASE>
@@ -520,7 +520,7 @@
                             <alias>sdc-backend</alias>
                             <run>
                                 <dependsOn>
-                                    <container>sdc-onboard-backend</container>
+                                    <container>sdc-cassandra-init</container>
                                 </dependsOn>
                                 <env>
                                     <cassandra_ssl_enabled>${it.cassandra.ssl.enabled}</cassandra_ssl_enabled>
@@ -593,9 +593,6 @@
                             <name>onap/sdc-frontend:${it.docker.version}</name>
                             <alias>sdc-frontend</alias>
                             <run>
-                                <dependsOn>
-                                    <container>sdc-backend-init</container>
-                                </dependsOn>
                                 <env>
                                     <ENVNAME>${it.env.name}</ENVNAME>
                                     <JAVA_OPTIONS>-Xdebug
@@ -718,7 +715,7 @@
                                 <volumes>
                                     <bind>
                                         <volume>
-                                            ${project.basedir}/target/automationDownloadDir/:/home/seluser/Desktop
+                                            /tmp/sdc-integration-tests/downloadAutomation/:/home/seluser/Desktop
                                         </volume>
                                         <volume>/dev/shm:/dev/shm</volume>
                                     </bind>
@@ -757,6 +754,8 @@
                 <groupId>org.apache.maven.plugins</groupId>
                 <artifactId>maven-failsafe-plugin</artifactId>
                 <configuration>
+                    <forkCount>1</forkCount>
+                    <reuseForks>true</reuseForks>
                     <suiteXmlFiles>
                         <file>src/test/resources/ci/testSuites/backend/onapApiSanity.xml</file>
                         <file>src/test/resources/ci/testSuites/frontend/onapUiSanity.xml</file>
@@ -782,10 +781,6 @@
                         <!--<file>src/test/resources/ci/testSuites/testngLifeCycle.xml</file>-->
                         <!--                        <file>src/test/resources/ci/testSuites/user.xml</file>-->
                     </suiteXmlFiles>
-                    <!--                    <includes>-->
-                    <!--                        <include>**/*Test.java</include>-->
-                    <!--                    </includes>-->
-
                 </configuration>
             </plugin>
         </plugins>
diff --git a/integration-tests/src/test/java/org/onap/sdc/backend/ci/tests/api/ComponentBaseTest.java b/integration-tests/src/test/java/org/onap/sdc/backend/ci/tests/api/ComponentBaseTest.java
index 71c8db0..985d161 100644
--- a/integration-tests/src/test/java/org/onap/sdc/backend/ci/tests/api/ComponentBaseTest.java
+++ b/integration-tests/src/test/java/org/onap/sdc/backend/ci/tests/api/ComponentBaseTest.java
@@ -7,9 +7,9 @@
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
- * 
+ *
  *      http://www.apache.org/licenses/LICENSE-2.0
- * 
+ *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
@@ -68,7 +68,7 @@
 
     protected static Logger logger = LogManager.getLogger(ComponentBaseTest.class);
 
-    protected static final String REPORT_FOLDER = "target" + File.separator + "ExtentReport" + File.separator;
+    protected static final String REPORT_FOLDER = "target" + File.separator + "ExtentReport" + File.separator + "API" + File.separator;
     private static final String REPORT_FILE_NAME = "SDC_CI_Extent_Report.html";
     public static Config config;
     protected static ITestContext myContext;
@@ -108,7 +108,7 @@
     @BeforeMethod(alwaysRun = true)
     public void setupBeforeTest(java.lang.reflect.Method method, ITestContext context) throws Exception {
         if (!"onboardVNFShotFlow".equals(method.getName()) &&
-            !"onboardPNFFlow".equals(method.getName()) ) {
+                !"onboardPNFFlow".equals(method.getName())) {
             logger.info("ExtentReport instance started from BeforeMethod...");
             ExtentTestManager.startTest(method.getName());
             ExtentTestManager.assignCategory(this.getClass());
@@ -186,7 +186,7 @@
 
 
         List<String> genericCollection = new ArrayList<>();
-        if(resourcesArrayList.get(0) != null) {
+        if (resourcesArrayList.get(0) != null) {
             ComponentTypeEnum componentTypeEnum = resourcesArrayList.get(0).getComponentType();
             resourcesArrayList.stream().filter(Objects::nonNull).
                     filter(s -> s.getName().toLowerCase().startsWith("ci") && !s.getName().toLowerCase().equals("cindervolume")).
diff --git a/integration-tests/src/test/java/org/onap/sdc/backend/ci/tests/utils/general/FileHandling.java b/integration-tests/src/test/java/org/onap/sdc/backend/ci/tests/utils/general/FileHandling.java
index 5cb55fd..19533e9 100644
--- a/integration-tests/src/test/java/org/onap/sdc/backend/ci/tests/utils/general/FileHandling.java
+++ b/integration-tests/src/test/java/org/onap/sdc/backend/ci/tests/utils/general/FileHandling.java
@@ -312,7 +312,7 @@
 	public static void createDirectory(String directoryPath) {
 		File directory = new File(String.valueOf(directoryPath));
 	    if (! directory.exists()){
-	        directory.mkdir();
+	        directory.mkdirs();
 	    }
 	}
 
diff --git a/integration-tests/src/test/java/org/onap/sdc/frontend/ci/tests/execute/setup/SetupCDTest.java b/integration-tests/src/test/java/org/onap/sdc/frontend/ci/tests/execute/setup/SetupCDTest.java
index 9f5a7cc..18b5a71 100644
--- a/integration-tests/src/test/java/org/onap/sdc/frontend/ci/tests/execute/setup/SetupCDTest.java
+++ b/integration-tests/src/test/java/org/onap/sdc/frontend/ci/tests/execute/setup/SetupCDTest.java
@@ -24,11 +24,13 @@
 import ch.qos.logback.classic.LoggerContext;
 import com.aventstack.extentreports.ExtentTest;
 import com.aventstack.extentreports.Status;
+
 import java.io.File;
 import java.io.FileWriter;
 import java.io.IOException;
 import java.util.Arrays;
 import java.util.UUID;
+
 import net.lightbody.bmp.core.har.Har;
 import org.json.simple.JSONObject;
 import org.onap.sdc.backend.ci.tests.config.UserCredentialsFromFile;
@@ -75,7 +77,7 @@
     private static final String CREDENTIALS_FILE = "credentials.yaml";
 
     private static final String REPORT_FILE_NAME = "SDC_UI_Extent_Report.html";
-    private static final String REPORT_FOLDER = "target" + File.separator + "ExtentReport" + File.separator;
+    private static final String REPORT_FOLDER = "target" + File.separator + "ExtentReport" + File.separator + "UI" + File.separator;
     private static final String SCREENSHOT_FOLDER = REPORT_FOLDER + "screenshots" + File.separator;
     private static final String HAR_FILES_FOLDER_NAME = "har_files";
     private static final String HAR_FILES_FOLDER = REPORT_FOLDER + HAR_FILES_FOLDER_NAME + File.separator;
@@ -392,7 +394,7 @@
     private void loginWithUser(final UserRoleEnum role) {
         try {
             final String msg = String
-                .format("Login as user '%s', role '%s'", role.getUserId(), role.getUserRole());
+                    .format("Login as user '%s', role '%s'", role.getUserId(), role.getUserRole());
             getExtendTest().log(Status.INFO, msg);
             LOGGER.info(msg);
             loginToSystem(role);
@@ -423,7 +425,7 @@
         LOGGER.info(String.format("Setup before test for role '%s'", role.name()));
         if (!getWindowTest().getPreviousRole().equalsIgnoreCase(role.name())) {
             LOGGER.info(String.format("Logging in with new role '%s'. Previous role was: '%s'.", role.name(),
-                getWindowTest().getPreviousRole()));
+                    getWindowTest().getPreviousRole()));
             navigateAndLogin(role);
         }
     }
diff --git a/integration-tests/src/test/java/org/onap/sdc/frontend/ci/tests/utilities/FileHandling.java b/integration-tests/src/test/java/org/onap/sdc/frontend/ci/tests/utilities/FileHandling.java
index bb058e4..b7f199d 100644
--- a/integration-tests/src/test/java/org/onap/sdc/frontend/ci/tests/utilities/FileHandling.java
+++ b/integration-tests/src/test/java/org/onap/sdc/frontend/ci/tests/utilities/FileHandling.java
@@ -304,7 +304,7 @@
     public static void createDirectory(String directoryPath) {
         File directory = new File(String.valueOf(directoryPath));
         if (!directory.exists()) {
-            directory.mkdir();
+            directory.mkdirs();
         }
     }
 
diff --git a/integration-tests/src/test/resources/ci/conf/sdc-conf.yaml b/integration-tests/src/test/resources/ci/conf/sdc-conf.yaml
index cea230e..5303e3b 100644
--- a/integration-tests/src/test/resources/ci/conf/sdc-conf.yaml
+++ b/integration-tests/src/test/resources/ci/conf/sdc-conf.yaml
@@ -5,7 +5,7 @@
 remoteTesting: true
 useBrowserMobProxy: false
 captureTraffic: false
-downloadAutomationFolder: target/automationDownloadDir
+downloadAutomationFolder: /tmp/sdc-integration-tests/downloadAutomation
 uiSimulator: true
 
 #### Local Front end testing
diff --git a/integration-tests/src/test/resources/ci/testSuites/frontend/onapUiSanity.xml b/integration-tests/src/test/resources/ci/testSuites/frontend/onapUiSanity.xml
index a9d5661..47dc9f6 100644
--- a/integration-tests/src/test/resources/ci/testSuites/frontend/onapUiSanity.xml
+++ b/integration-tests/src/test/resources/ci/testSuites/frontend/onapUiSanity.xml
@@ -1,30 +1,30 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd">
 <suite name="uitests" configfailurepolicy="continue" parallel="methods" thread-count="1"
-  data-provider-thread-count="1">
+       data-provider-thread-count="1">
 
-  <parameter name="makeDistribution" value="false"/>
+    <parameter name="makeDistribution" value="false"/>
 
-  <test name="uiSanity">
-    <classes>
-      <class name="org.onap.sdc.frontend.ci.tests.execute.sanity.Vf">
-        <methods>
-          <include name="changeInstanceNameInVfTest"/>
-        </methods>
-      </class>
-      <class name="org.onap.sdc.frontend.ci.tests.execute.sanity.Service">
-        <methods>
-          <include name="updateService"/>
-        </methods>
-      </class>
-      <class name="org.onap.sdc.frontend.ci.tests.execute.sanity.OnboardingFlowsUi">
-        <methods>
-          <include name="onapOnboardVNFflow"/>
-          <include name="onapOnboardVSPValidationsSanityFlow"/>
-          <include name="onboardPNFSoftwareInformationFlow"/>
-        </methods>
-      </class>
-      <class name="org.onap.sdc.frontend.ci.tests.execute.sanity.GAB"/>
-    </classes>
-  </test>
+    <test name="uiSanity">
+        <classes>
+            <class name="org.onap.sdc.frontend.ci.tests.execute.sanity.Vf">
+                <methods>
+                    <include name="changeInstanceNameInVfTest"/>
+                </methods>
+            </class>
+            <class name="org.onap.sdc.frontend.ci.tests.execute.sanity.Service">
+                <methods>
+                    <include name="updateService"/>
+                </methods>
+            </class>
+            <class name="org.onap.sdc.frontend.ci.tests.execute.sanity.OnboardingFlowsUi">
+                <methods>
+                    <include name="onapOnboardVNFflow"/>
+                    <include name="onapOnboardVSPValidationsSanityFlow"/>
+                    <include name="onboardPNFSoftwareInformationFlow"/>
+                </methods>
+            </class>
+            <class name="org.onap.sdc.frontend.ci.tests.execute.sanity.GAB"/>
+        </classes>
+    </test>
 </suite>
diff --git a/onboarding/pom.xml b/onboarding/pom.xml
index 4ccb3d8..2d7927e 100644
--- a/onboarding/pom.xml
+++ b/onboarding/pom.xml
@@ -309,10 +309,7 @@
       <plugin>
         <groupId>org.apache.maven.plugins</groupId>
         <artifactId>maven-surefire-plugin</artifactId>
-        <version>${maven-surefire-plugin.version}</version>
         <configuration>
-          <forkCount>${fork.count}</forkCount>
-          <forkMode>${fork.mode}</forkMode>
           <printSummary>false</printSummary>
           <additionalClasspathElements>
             <additionalClasspathElement>${project.basedir}/src/test/resources
@@ -323,7 +320,6 @@
             </logback.configurationFile>
             <config.location>${project.basedir}/configuration</config.location>
           </systemPropertyVariables>
-          <useSystemClassLoader>${useSystemClassLoader}</useSystemClassLoader>
         </configuration>
       </plugin>
       <plugin>
diff --git a/openecomp-be/api/openecomp-sdc-rest-webapp/vendor-software-products-rest/vnf-repository-rest-services/pom.xml b/openecomp-be/api/openecomp-sdc-rest-webapp/vendor-software-products-rest/vnf-repository-rest-services/pom.xml
index 44ea11c..d1269cf 100644
--- a/openecomp-be/api/openecomp-sdc-rest-webapp/vendor-software-products-rest/vnf-repository-rest-services/pom.xml
+++ b/openecomp-be/api/openecomp-sdc-rest-webapp/vendor-software-products-rest/vnf-repository-rest-services/pom.xml
@@ -89,14 +89,4 @@
     </dependency>
   </dependencies>
 
-  <build>
-    <plugins>
-      <plugin>
-        <groupId>org.apache.maven.plugins</groupId>
-        <artifactId>maven-surefire-plugin</artifactId>
-        <version>${maven-surefire-plugin.version}</version>
-      </plugin>
-    </plugins>
-  </build>
-
 </project>
diff --git a/pom.xml b/pom.xml
index 08a6dc9..ea422e0 100644
--- a/pom.xml
+++ b/pom.xml
@@ -156,15 +156,14 @@
         <docker.tag>${project.version}-${maven.build.timestamp}</docker.tag>
         <!--togglz version-->
         <togglz.version>2.4.1.Final</togglz.version>
-
         <joda.time.version>2.9.9</joda.time.version>
-
         <!--sdc-security-utils-->
         <security.util.lib.version>1.6.0</security.util.lib.version>
         <!--jacoco-->
         <jacoco.version>0.8.5</jacoco.version>
-
         <java.driver.core.version>4.5.1</java.driver.core.version>
+        <surefire.forkCount>1C</surefire.forkCount>
+        <surefire.reuseForks>true</surefire.reuseForks>
     </properties>
 
     <dependencyManagement>
@@ -513,6 +512,9 @@
                     <systemPropertyVariables>
                         <jacoco-agent.destfile>${project.build.directory}/jacoco.exec</jacoco-agent.destfile>
                     </systemPropertyVariables>
+                    <forkCount>${surefire.forkCount}</forkCount>
+                    <reuseForks>${surefire.reuseForks}</reuseForks>
+                    <parallel>methods</parallel>
                 </configuration>
             </plugin>
             <plugin>
