diff --git a/TestON/JenkinsFile/JenkinsCommonFuncs.groovy b/TestON/JenkinsFile/JenkinsCommonFuncs.groovy
index 7ba926b..d6ab3b3 100644
--- a/TestON/JenkinsFile/JenkinsCommonFuncs.groovy
+++ b/TestON/JenkinsFile/JenkinsCommonFuncs.groovy
@@ -35,7 +35,13 @@
   testMachine = "TestStation-" + machineType[ type ] + "s";
   generalFuncs.initBasicVars();
 }
-
+def additionalInitForSR( branch ){
+  testMachine = testMachine.insert( testMachine.length-1, fabricOn( branch ) )
+  print testMachine
+}
+def fabricOn( branch ){
+  return branch == "master" ? '2' : '3'
+}
 def printType(){
   echo testType;
   echo testMachine;
@@ -272,10 +278,10 @@
       }
   }
 }
-def generateCategoryStatsGraph( manualRun, postresult, stat_file, pie_file, type, branch, testListPart, save_path, pieTestListPart ){
+def generateCategoryStatsGraph( testMachineOn, manualRun, postresult, stat_file, pie_file, type, branch, testListPart, save_path, pieTestListPart ){
 
   if( isPostingResult( manualRun, postresult ) ){
-    node( testMachine ){
+    node( testMachineOn ){
 
       withCredentials( [
           string( credentialsId: 'db_pass', variable: 'pass' ),
@@ -332,14 +338,14 @@
     echo ''' + database_command + '''
     done '''
 }
-def generateStatGraph( onos_branch, AllTheTests, stat_graph_generator_file, pie_graph_generator_file, graph_saved_directory ){
+def generateStatGraph( testMachineOn, onos_branch, AllTheTests, stat_graph_generator_file, pie_graph_generator_file, graph_saved_directory ){
     testListPart = createStatsList( "FUNC", AllTheTests[ "FUNC" ], true ) +
                    createStatsList( "HA", AllTheTests[ "HA" ], true ) +
                    createStatsList( "USECASE", AllTheTests[ "USECASE" ], false )
     pieTestList = makeTestList( AllTheTests[ "FUNC" ], true ) +
                   makeTestList( AllTheTests[ "HA" ], true ) +
                   makeTestList( AllTheTests[ "USECASE" ], false )
-    generateCategoryStatsGraph( "false", "true", stat_graph_generator_file, pie_graph_generator_file, "ALL", onos_branch, testListPart, graph_saved_directory, pieTestList )
+    generateCategoryStatsGraph( testMachineOn, "false", "true", stat_graph_generator_file, pie_graph_generator_file, "ALL", onos_branch, testListPart, graph_saved_directory, pieTestList )
 }
 def branchWithPrefix( branch ){
     return ( ( branch != "master" ) ? "onos-" : "" ) + branch
diff --git a/TestON/JenkinsFile/JenkinsfileTrigger b/TestON/JenkinsFile/JenkinsfileTrigger
index cc1bfa1..31d606a 100644
--- a/TestON/JenkinsFile/JenkinsfileTrigger
+++ b/TestON/JenkinsFile/JenkinsfileTrigger
@@ -106,7 +106,8 @@
 //finalList[ "BM" ].call()
 
 if ( !manually_run ){
-    funcs.generateStatGraph( funcs.branchWithPrefix( onos_b ),
+    funcs.generateStatGraph( "TestStation-VMs",
+                             funcs.branchWithPrefix( onos_b ),
                              AllTheTests,
                              stat_graph_generator_file,
                              pie_graph_generator_file,
diff --git a/TestON/JenkinsFile/Overall_Graph_Generator b/TestON/JenkinsFile/Overall_Graph_Generator
index 4e2280e..ba34a89 100644
--- a/TestON/JenkinsFile/Overall_Graph_Generator
+++ b/TestON/JenkinsFile/Overall_Graph_Generator
@@ -11,4 +11,9 @@
 onos_branch = params.ONOSbranch
 AllTheTests = test_lists.getAllTheTests("")
 
-funcs.generateStatGraph( onos_branch, AllTheTests, stat_graph_generator_file, pie_graph_generator_file, graph_saved_directory )
\ No newline at end of file
+funcs.generateStatGraph( "TestStation-VMs",
+                         onos_branch,
+                         AllTheTests,
+                         stat_graph_generator_file,
+                         pie_graph_generator_file,
+                         graph_saved_directory )
\ No newline at end of file
diff --git a/TestON/JenkinsFile/SRJenkinsFile b/TestON/JenkinsFile/SRJenkinsFile
index e4e0139..45cb315 100644
--- a/TestON/JenkinsFile/SRJenkinsFile
+++ b/TestON/JenkinsFile/SRJenkinsFile
@@ -6,10 +6,11 @@
 // This is a Jenkinsfile for a scripted pipeline for the SR tests
 def prop = null
 prop = funcs.getProperties()
+funcs.additionalInitForSR( prop[ "ONOSBranch" ] )
 SR = test_lists.getAllTheTests( prop[ "WikiPrefix" ] )[ "SR" ]
 
 graph_generator_file = "~/OnosSystemTest/TestON/JenkinsFile/scripts/testCaseGraphGenerator.R"
-graph_saved_directory = "/var/jenkins/workspace/postjob-Fabric/"
+graph_saved_directory = "/var/jenkins/workspace/postjob-Fabric" + funcs.fabricOn( prop[ "ONOSBranch" ] ) + "/"
 
 echo( "Testcases:" )
 def testsToRun = null
diff --git a/TestON/JenkinsFile/SRJenkinsfileTrigger b/TestON/JenkinsFile/SRJenkinsfileTrigger
index 72f0604..d53f70d 100644
--- a/TestON/JenkinsFile/SRJenkinsfileTrigger
+++ b/TestON/JenkinsFile/SRJenkinsfileTrigger
@@ -15,7 +15,7 @@
     "FUNC" : [ tests : "" , nodeName : "VM", wikiContent : "" ],
     "HA" : [ tests : "" , nodeName : "VM", wikiContent : "" ],
     "SCPF" : [ tests : "" , nodeName : "BM", wikiContent : "" ],
-    "SR" : [ tests : "", nodeName : "Fabric", wikiContent : "" ],
+    "SR" : [ tests : "", nodeName : [ "Fabric2", "Fabric3" ], wikiContent : "" ],
     "USECASE" : [ tests : "" , nodeName : "BM", wikiContent : "" ]
 ]
 Prefix_organizer = [
@@ -85,20 +85,30 @@
 def runTest = [
     "VM" : [:],
     "BM" : [:],
-    "Fabric" : [:]
+    "Fabric2" : [:],
+    "Fabric3" : [:]
 ]
 for( String test in testcases.keySet() ){
     println test
     if ( testcases[ test ][ "tests" ] != "" ){
-        runTest[ testcases[ test ][ "nodeName" ] ][ test ] = triggerFuncs.trigger_pipeline( onos_b, testcases[ test ][ "tests" ], testcases[ test ][ "nodeName" ], test, manually_run, onos_tag )
+        runTest[ testcases[ test ][ "nodeName" ][ 0 ] ][ test ] = triggerFuncs.trigger_pipeline( onos_b, testcases[ test ][ "tests" ], testcases[ test ][ "nodeName" ][ 0 ], test, manually_run, onos_tag )
+        runTest[ testcases[ test ][ "nodeName" ][ 1 ] ][ test ] = triggerFuncs.trigger_pipeline( previous_version, testcases[ test ][ "tests" ], testcases[ test ][ "nodeName" ][ 1 ], test, manually_run, onos_tag )
     }
 }
 def finalList = [:]
-finalList[ "Fabric" ] = triggerFuncs.runTestSeq( runTest[ "Fabric" ] )
+finalList[ "Fabric2" ] = triggerFuncs.runTestSeq( runTest[ "Fabric2" ] )
+finalList[ "Fabric3" ] = triggerFuncs.runTestSeq( runTest[ "Fabric3" ] )
 parallel finalList
 /*
 if ( !manually_run ){
-    funcs.generateStatGraph( funcs.branchWithPrefix( onos_b ),
+    funcs.generateStatGraph( "TestStation-Fabric2s",
+                             funcs.branchWithPrefix( "master" ),
+                             AllTheTests,
+                             stat_graph_generator_file,
+                             pie_graph_generator_file,
+                             graph_saved_directory )
+    funcs.generateStatGraph( "TestStation-Fabric3s",
+                             funcs.branchWithPrefix( "1.12" ),
                              AllTheTests,
                              stat_graph_generator_file,
                              pie_graph_generator_file,
diff --git a/TestON/JenkinsFile/Trend_Graph_Generator b/TestON/JenkinsFile/Trend_Graph_Generator
index a9795f8..f091c34 100644
--- a/TestON/JenkinsFile/Trend_Graph_Generator
+++ b/TestON/JenkinsFile/Trend_Graph_Generator
@@ -2,9 +2,6 @@
 funcs = evaluate readTrusted( 'TestON/JenkinsFile/JenkinsCommonFuncs.groovy' )
 nodeCluster = params.NodeCluster
 
-graph_generator_file = "~/OnosSystemTest/TestON/JenkinsFile/scripts/testCaseGraphGenerator.R"
-graph_saved_directory = "/var/jenkins/workspace/postjob-" + nodeCluster + "/"
-
 funcs.initializeTrend( nodeCluster );
 def prop = null
 prop = funcs.getProperties()
@@ -12,6 +9,11 @@
 def Tests = params.Test
 prop[ "ONOSBranch" ] = params.ONOSbranch
 
+funcs.additionalInitForSR( prop[ "ONOSBranch" ] )
+
+graph_generator_file = "~/OnosSystemTest/TestON/JenkinsFile/scripts/testCaseGraphGenerator.R"
+graph_saved_directory = "/var/jenkins/workspace/postjob-" + nodeCluster + funcs.fabricOn( prop[ "ONOSBranch" ] ) + "/"
+
 def testsToRun = null
 testsToRun = funcs.getTestsToRun( Tests )
 
diff --git a/TestON/JenkinsFile/TriggerFuncs.groovy b/TestON/JenkinsFile/TriggerFuncs.groovy
index c6fa9ca..cf9f6fc 100644
--- a/TestON/JenkinsFile/TriggerFuncs.groovy
+++ b/TestON/JenkinsFile/TriggerFuncs.groovy
@@ -68,10 +68,8 @@
 // jobOn : "SCPF" or "USECASE" or "FUNC" or "HA"
     return{
         if( jobOn == "SR" ){
-            trigger( "1.11", tests, nodeName, jobOn, manuallyRun, onosTag )
             trigger( "1.12", tests, nodeName, jobOn, manuallyRun, onosTag )
             trigger( "master", tests, nodeName, jobOn, manuallyRun, onosTag )
-            // returnCell( nodeName )
             }else{
             trigger( branch, tests, nodeName, jobOn, manuallyRun, onosTag )
         }
