NVMe_DualPort

DualPort_IO_RefClkGlitch_PowerCycle.sh

Objective:

Start I/O test on one port, perform RefClk glitch on another port, then power cycle the whole drive. Repeat these 3 steps for specified loops

Pass/Fail:

If the IO test fails

DualPort_MaxNum_NS.sh

Objective:

Create max number of private namespaces, attach them evenly across both controllers, and start I/O on all of them

Pass/Fail:

Results of delete/create of namespaces, and based on I/O test pass/fail parameters

DualPort_Multiple_NS.sh

Objective:

Attach a namespace to each controller, start I/O on both, detach/attach each namespace, then restart I/O on both

Pass/Fail:

Results of delete/create/attach/detach of namespaces, and based on I/O test pass/fail parameters

DualPort_Redundancy.sh

Objective:

Attach a namespace to both controllers, start I/O, break and re-attach link on a controller

Pass/Fail:

Results of namespace delete/create, appropriate accessibility of the controllers, and based on I/O test pass/fail parameters

DualPort_Reservations.sh

Objective:

Attach a namespace to both controllers and run I/O while performing various reservation operations

Pass/Fail:

Results of namespace delete/create and reservation operations, and based on I/O test pass/fail parameters

DualPort_SGL_Workloads.sh

Objective:

Attach a namespace to both controllers and run SGL-enabled I/O

Pass/Fail:

Results of namespace delete/create, and based on I/O test pass/fail parameters

DualPort_Shared_NS_Write_Verify.sh

Objective:

If there is a shared NS, write it on port A, read/verify it on port B

Pass/Fail:

If either the write or reverify test fails

dual_adm_eDST_sNS_BOTH_SEQ.py

dual_adm_eDST_sNS_c1_SIM_startIO_sNS_c2.py

dual_adm_id_BOTH_SEQ.py

dual_adm_identCNS12_sNS_BOTH_SEQ.py

dual_adm_identCNS13_sNS_BOTH_SEQ.py

dual_adm_sDST_sNS_BOTH_SEQ.py

dual_adm_sDST_sNS_c1_SIM_startIO_sNS_c2.py

dual_adm_sanitize_c1_THEN_sanLog_c2.py

Run sanitize on first controller and check the status by running sanitize status log on the second controller

  1. Report sanitize status of second controller before sanitizing

  2. Start Sanitize on first controller

  3. Verify Sanitize starts (‘Sanitize_Status’ = 2 on ‘LID’ 0x81)

  4. Wait for sanitize to complete (‘Sanitize_Status’ != 2 on ‘LID’ 0x81)

  5. Report on final sanitizing status

Pass/Fail Criteria:

Test will pass if ‘Sanitize_Status’ changes to 2 when sanitize begins and final ‘Sanitize_Status’ is 1.

dual_adm_secureErase_sNS_BOTH_SEQ.py

dual_adm_startIO_pNS_c1_THEN_eDST_pNS_c2.py

dual_adm_startIO_pNS_c1_THEN_sDST_pNS_c2.py

dual_adm_startIO_sNS_c1_THEN_smartlog_c2.py

dual_io_lbaf1_pNS_BOTH.py

dual_io_writeUncorr_sNS_c1_readUncorr_sNS_c2.py

dual_rst_ctrlReset_BOTH_SIM.py

dual_rst_flr_BOTH_SIM.py

dual_rst_iop_1_THEN_clrp_2_60s.py

dual_rst_startIO_pNS_c1_THEN_ctrlReset_c2.py

dual_rst_startIO_pNS_c1_THEN_flr_c2.py

dual_rst_startIO_sNS_c1_THEN_clr_c2.py

dual_rst_startIO_sNS_c1_THEN_flr_c2.py