diff --git a/tests/dt-workflow/Voltha_DT_FailureScenarios.robot b/tests/dt-workflow/Voltha_DT_FailureScenarios.robot
index 7389f51..0aef9c0 100755
--- a/tests/dt-workflow/Voltha_DT_FailureScenarios.robot
+++ b/tests/dt-workflow/Voltha_DT_FailureScenarios.robot
@@ -55,6 +55,9 @@
 # Per-test logging on failure is turned off by default; set this variable to enable
 ${container_log_dir}    ${None}
 
+# Flag specific to Soak Jobs
+${SOAK_TEST}    False
+
 *** Test Cases ***
 Verify ONU after Rebooting Physically for DT
     [Documentation]    Test the ONU functionality by physically turning on/off ONU.
@@ -235,7 +238,7 @@
     ...    simulate a POD crash. The test then scales the rw-core back to a single instance
     ...    and configures ONOS for access. The test succeeds if the device is able to
     ...    complete the DHCP sequence.
-    [Tags]    functionalDt    olt-adapter-restart-Dt
+    [Tags]    functionalDt    olt-adapter-restart-Dt    soak
     [Setup]    Start Logging    OltAdapterRestart-Dt
     #...        AND             Clear All Devices Then Create New Device
     [Teardown]   Run Keywords    Collect Logs
@@ -299,7 +302,7 @@
 Verify restart ofagent container after subscriber is provisioned for DT
     [Documentation]    Restart ofagent container after VOLTHA is operational.
     ...    Prerequisite : ONUs are authenticated and pingable.
-    [Tags]    functionalDt   ofagentRestart-Dt
+    [Tags]    functionalDt   ofagentRestart-Dt    soak
     [Setup]    Start Logging    ofagentRestart-Dt
     [Teardown]    Run Keywords    Collect Logs
     ...           AND             Stop Logging    ofagentRestart-Dt
@@ -362,7 +365,7 @@
     ...    simulate a POD crash. The test then scales the rw-core back to a single instance
     ...    and configures ONOS for access. The test succeeds if the device is able to
     ...    complete the DHCP sequence.
-    [Tags]    functionalDt    rwcore-restart-Dt
+    [Tags]    functionalDt    rwcore-restart-Dt    soak
     [Setup]    Run Keywords    Start Logging    RwCoreFailAndRestart-Dt
     ...        AND             Clear All Devices Then Create New Device
     [Teardown]   Run Keywords    Collect Logs
@@ -535,12 +538,34 @@
     ...    ${List_ONU_Serial}    ${onu_flows}
 
 *** Keywords ***
+Setup Soak
+    [Documentation]    Pre-test Setup for Soak Job
+    ${olt_ids}    Create List
+    FOR    ${I}    IN RANGE    0    ${num_olts}
+        ${olt_serial_number}=    Set Variable    ${list_olts}[${I}][sn]
+        ${olt_device_id}=    Get Device ID From SN    ${olt_serial_number}
+        ${logical_id}=    Get Logical Device ID From SN    ${olt_serial_number}
+        ${of_id}=    Wait Until Keyword Succeeds    ${timeout}    15s    Validate OLT Device in ONOS
+        ...    ${olt_serial_number}
+        ${nni_port}=    Run Keyword And Continue On Failure    Wait Until Keyword Succeeds    ${timeout}    2s
+        ...    Get NNI Port in ONOS    ${of_id}
+        Set Global Variable    ${nni_port}
+        ${olt}    Create Dictionary    device_id    ${olt_device_id}    logical_id    ${logical_id}
+        ...    of_id    ${of_id}    sn    ${olt_serial_number}
+        Append To List    ${olt_ids}    ${olt}
+    END
+    Set Global Variable    ${olt_ids}
+
 Setup Suite
     [Documentation]    Set up the test suite
     Common Test Suite Setup
     #power_switch.robot needs it to support different vendor's power switch
     ${switch_type}=    Get Variable Value    ${web_power_switch.type}
     Run Keyword If  "${switch_type}"!=""    Set Global Variable    ${powerswitch_type}    ${switch_type}
+    # Run Pre-test Setup for Soak Job
+    # Note: As soak requirement, it expects that the devices under test are already created and enabled
+    Run Keyword If    '${SOAK_TEST}'=='True'    Setup Soak
+
 
 Clear All Devices Then Create New Device
     [Documentation]    Remove any devices from VOLTHA and ONOS
diff --git a/tests/dt-workflow/Voltha_DT_PODTests.robot b/tests/dt-workflow/Voltha_DT_PODTests.robot
index bdb8f38..ea8ac82 100644
--- a/tests/dt-workflow/Voltha_DT_PODTests.robot
+++ b/tests/dt-workflow/Voltha_DT_PODTests.robot
@@ -63,6 +63,10 @@
 # Per-test logging on failure is turned off by default; set this variable to enable
 ${container_log_dir}    ${None}
 
+# Flag specific to Soak Jobs
+${SOAK_TEST}    False
+${bbsim_port}    50060
+
 *** Test Cases ***
 Reboot DT ONUs Physically
     [Documentation]   This test reboots ONUs physically before execution all the tests
@@ -81,6 +85,32 @@
         Enable Switch Outlet    ${src['power_switch_port']}
     END
 
+Create Soak BBSim Device
+    [Documentation]    This creates and enables the BBSim device as required by the soak testing
+    ...    The BBSim OLT and ONUs created as part of this test are not part of active testing
+    ...    but only to mock the load on Soak POD.
+    [Tags]    soak
+    [Setup]    Start Logging    soakPodCreateBBSimLoad
+    [Teardown]    Run Keywords    Collect Logs
+    ...           AND             Stop Logging    soakPodCreateBBSimLoad
+    ${num_bbsim}    Get Length    ${bbsim}
+    FOR    ${I}    IN RANGE    0    ${num_bbsim}
+        ${ip}    Evaluate    ${bbsim}[${I}].get("ip")
+        ${serial_number}    Evaluate    ${bbsim}[${I}].get("serial")
+        ${bbsim_olt_device_id}=    Create Device    ${ip}    ${bbsim_port}
+        Log    ${bbsim_olt_device_id}
+        Wait Until Keyword Succeeds    ${timeout}    5s
+        ...    Validate OLT Device    PREPROVISIONED    UNKNOWN    UNKNOWN    ${bbsim_olt_device_id}
+        Enable Device    ${bbsim_olt_device_id}
+        Run Keyword And Continue On Failure    Wait Until Keyword Succeeds    ${timeout}    5s
+        ...    Validate OLT Device    ENABLED    ACTIVE    REACHABLE    ${serial_number}
+        ${olt_of_id}=    Wait Until Keyword Succeeds    ${timeout}    15s    Validate OLT Device in ONOS
+        ...    ${serial_number}
+        Log    ${olt_of_id}
+    END
+    # Extra sleep time for ONUs to come up Active
+    Sleep    30s
+
 Sanity E2E Test for OLT/ONU on POD for DT
     [Documentation]    Validates E2E Ping Connectivity and object states for the given scenario:
     ...    Validate successful DHCP/E2E ping (no EAPOL and DHCP flows) for the tech profile that is used
@@ -88,10 +118,10 @@
     ...    should reach the NNI port on the OLT with the expected double tagged vlan ids
     ...    Inner vlans from the RG should not change
     [Tags]    sanityDt   soak
-    [Setup]    Run Keywords    Start Logging    SanityTestDt
-    ...        AND             Setup
+    [Setup]    Start Logging    SanityTestDt
     [Teardown]    Run Keywords    Collect Logs
     ...           AND             Stop Logging    SanityTestDt
+    Setup    ${SOAK_TEST}
     Run Keyword If    ${has_dataplane}    Clean Up Linux
     Wait Until Keyword Succeeds    ${timeout}    2s    Perform Sanity Test DT
 
