diff --git a/redfish/extended/test_bmc_dump.robot b/redfish/extended/test_bmc_dump.robot
index d5bc4a1..5f7b8fa 100644
--- a/redfish/extended/test_bmc_dump.robot
+++ b/redfish/extended/test_bmc_dump.robot
@@ -16,123 +16,6 @@
 
 *** Test Cases ***
 
-Pre Dump BMC Performance Test
-    [Documentation]  Check performance of memory, CPU & file system of BMC.
-    [Tags]  Pre_Dump_BMC_Performance_Test
-
-    Open Connection And Log In
-    Check BMC Performance
-
-
-Verify User Initiated BMC Dump When Powered Off
-    [Documentation]  Create user initiated BMC dump at host off state and
-    ...  verify dump entry for it.
-    [Tags]  Verify_User_Initiated_BMC_Dump_When_Powered_Off
-
-    Redfish Power Off  stack_mode=skip
-    ${dump_id}=  Create User Initiated Dump
-    Check Existence Of BMC Dump File  ${dump_id}
-
-
-Verify Dump Persistency On Service Restart
-    [Documentation]  Create user dump, restart BMC service and verify dump
-    ...  persistency.
-    [Tags]  Verify_Dump_Persistency_On_Service_Restart
-
-    Delete All BMC Dump
-    ${dump_id}=  Create User Initiated Dump
-    BMC Execute Command
-    ...  systemctl restart xyz.openbmc_project.Dump.Manager.service
-    Sleep  10s  reason=Wait for BMC dump service to restart properly.
-
-    ${resp}=  OpenBMC Get Request  ${DUMP_ENTRY_URI}list
-    Should Be Equal As Strings  ${resp.status_code}  ${HTTP_OK}
-    Check Existence Of BMC Dump File  ${dump_id}
-
-
-Verify Dump Persistency On Reset
-    [Documentation]  Create user dump, reset BMC and verify dump persistency.
-    [Tags]  Verify_Dump_Persistency_On_Reset
-
-    Delete All BMC Dump
-    ${dump_id}=  Create User Initiated Dump
-    OBMC Reboot (off)
-    ${resp}=  OpenBMC Get Request  ${DUMP_ENTRY_URI}list
-    Should Be Equal As Strings  ${resp.status_code}  ${HTTP_OK}
-    Check Existence Of BMC Dump File  ${dump_id}
-
-
-Delete User Initiated BMC Dump And Verify
-    [Documentation]  Delete user initiated dump and verify.
-    [Tags]  Delete_User_Initiated_Dump_And_Verify
-
-    ${dump_id}=  Create User Initiated Dump
-    Check Existence Of BMC Dump File  ${dump_id}
-
-    Delete BMC Dump  ${dump_id}
-
-
-Verify User Initiated Dump Size
-    [Documentation]  Verify user Initiated BMC dump size is under 200k.
-    [Tags]  Verify_User_Initiated_Dump_Size
-
-    ${dump_id}=  Create User Initiated Dump
-
-    ${dump_size}=  Read Attribute  ${DUMP_ENTRY_URI}${dump_id}  Size
-    # Max size for dump is 200k = 200x1024
-    Should Be True  0 < ${dump_size} < 204800
-    Check Existence Of BMC Dump File  ${dump_id}
-
-
-Create Two User Initiated Dump And Delete One
-    [Documentation]  Create two dumps and delete the first.
-    [Tags]  Create_Two_User_Initiated_Dump_And_Delete_One
-
-    ${dump_id_1}=  Create User Initiated Dump
-    ${dump_id_2}=  Create User Initiated Dump
-
-    Delete BMC Dump  ${dump_id_1}
-
-    ${resp}=  OpenBMC Get Request  ${DUMP_ENTRY_URI}${dump_id_1}
-    Should Be Equal As Strings  ${resp.status_code}  ${HTTP_NOT_FOUND}
-
-    ${resp}=  OpenBMC Get Request  ${DUMP_ENTRY_URI}${dump_id_2}
-    Should Be Equal As Strings  ${resp.status_code}  ${HTTP_OK}
-    Check Existence Of BMC Dump File  ${dump_id_2}
-
-
-Create And Delete BMC Dump Multiple Times
-    [Documentation]  Create and delete BMC dump multiple times.
-    [Tags]  Create_And_Delete_BMC_Dump_Multiple_Times
-
-    FOR  ${INDEX}  IN  1  5
-      ${dump_id}=  Create User Initiated Dump
-      Delete BMC Dump  ${dump_id}
-    END
-
-
-Delete All BMC Dumps And Verify
-    [Documentation]  Delete all BMC dumps and verify.
-    [Tags]  Delete_All_BMC_Dumps_And_Verify
-
-    # Create some dump.
-    Create User Initiated Dump
-    Create User Initiated Dump
-
-    Delete All BMC Dump
-    ${resp}=  OpenBMC Get Request  ${DUMP_ENTRY_URI}list
-    Should Be Equal As Strings  ${resp.status_code}  ${HTTP_NOT_FOUND}
-
-
-Verify User Initiated BMC Dump When Host Booted
-    [Documentation]  Create user initiated BMC dump at host booted state and
-    ...  verify dump entry for it.
-    [Tags]  Verify_User_Initiated_BMC_Dump_When_Host_Booted
-
-    Redfish Power On  stack_mode=skip
-    Create User Initiated Dump
-
-
 Verify Core Dump Size
     [Documentation]  Verify BMC core dump size is under 200k.
     [Tags]  Verify_Core_Dump_Size
@@ -148,44 +31,6 @@
     Should Be True  0 < ${dump_size} < 204800  msg=Size of dump is incorrect.
 
 
-Dump Out Of Space Test
-    [Documentation]  Verify out of dump space is reported when attempt
-    ...  to create too many dumps.
-    [Tags]  Dump_Out_Of_Space_Test
-    [Setup]  Delete All BMC Dump
-
-    # Systems typically hold 8-14 dumps before running out of dump space.
-    # Attempt to create too_many_dumps.  Expect to run out of space
-    # before this.
-    ${too_many_dumps}  Set Variable  ${20}
-
-    # Loop, creating a dump each iteration.  Will either get dump_id or
-    # will get EMPTY when out of dump space.
-    FOR  ${n}  IN RANGE  0  ${too_many_dumps}
-      ${dump_id}=  Create User Initiated Dump  check_out_of_space=${True}
-      Exit For Loop If  '${dump_id}' == '${EMPTY}'
-      Check Existence Of BMC Dump File  ${dump_id}
-    END
-
-    Run Keyword If  '${dump_id}' != '${EMPTY}'  Fail
-    ...  msg=Did not run out of dump space as expected.
-
-
-Post Dump BMC Performance Test
-    [Documentation]  Check performance of memory, CPU & file system of BMC.
-    [Tags]  Post_Dump_BMC_Performance_Test
-
-    Open Connection And Log In
-    Check BMC Performance
-
-
-Post Dump Core Dump Check
-    [Documentation]  Check core dump existence on BMC after code update.
-    [Tags]  Post_Dump_Core_Dump_Check
-
-    Check For Core Dumps
-
-
 Verify Dump After Host Watchdog Error Injection
     [Documentation]  Inject host watchdog error and verify whether dump is generated.
     [Tags]  Verify_Dump_After_Host_Watchdog_Error_Injection
