Global Config
Modify /virtualun/python_usr/python.conf to configure. Use any of the following sections:
Behavior
Skip Cleanup: prevent the cleanup of the NVMe device after the test is complete.
[Behavior] Skip Cleanup = True
Warning
This might result in a drive in a strange state that will need to be recovered by the user.
Fail on Warning: treat a warning as a script failure. Useful when debugging.
[Behavior] Fail on Warning = True
Hooks
Hook Configuration allows for the execution of scripts on test action.
On Error: run a script when a test error occurs.
[Hooks] On Error = /path/to/script.sh
Timeouts
Specify a timeout value, in seconds, for NVMe commands. A timeout is the maximum amount of time the host will wait for a command to complete, before it is considered failed.
Timeouts can be specified for:
All NVMe Admin or I/O Command Set commands
Specific NVMe commands (e.g.
FormatNVM,SetFeatures)FID-specific (e.g.
SetFeatures.0x1D)
These settings may be combined to create a custom timeout configuration.
If no timeout is specified, the values found in /sys/module/nvme_core/parameters are used (system default is 10s).
Timeouts are prioritized in the following order:
FID-specific
Command-specific
Admin or I/O command set specific
Examples
Read receives a 15 second timeout, and Admin commands receive a 30 second timeout.
[Timeouts]
admin = 30
Read = 15
Same as previous example, but GetFeatures receives a 45 second timeout, taking precedence over the 30-second Admin timeout.
[Timeouts]
admin = 30
Read = 15
GetFeatures = 45
All other non-FID 02h GetFeatures calls receive a 45 second timeout, and Admin commands receive a 30 second timeout.
[Timeouts]
admin = 30
Read = 15
GetFeatures = 45
GetFeatures.0x02 = 90
Note
Command strings are case-sensitive. Use the exact casing shown here and in the sections below.
(e.g. GetFeatures, not getfeatures or Get Features).
admin
Set a default timeout for all NVMe Admin Command Set commands.
See Supported NVMe Admin commands below for a list of NVMe Admin commands affected by this setting.
Example:
[Timeouts]
admin = 30
io
Set a default timeout for all NVMe I/O Command Set commands.
See Supported NVMe I/O commands below for a list of NVMe I/O commands affected by this setting.
Example:
[Timeouts]
io = 60
Command-Specific Overrides
Set a timeout for a specific NVMe command.
Note
Command-specific timeouts take precedence over admin and io settings.
(e.g. Read = 15 takes precedence over io = 60), etc.
Supported NVMe Admin commands include:
GetFeatures
SetFeatures
GetLogPage
Identify
DirectiveReceive
DirectiveSend
IOManagementReceive
IOManagementSend
FormatNVM
FirmwareCommit
FirmwareDownload
SanitizeNVM
SecuritySend
SecurityReceive
NamespaceManagement
NamespaceAttachment
CreateCQ
CreateSQ
DeleteCQ
DeleteSQ
Supported NVMe I/O commands include:
Read
Write
WriteUncorrectable
WriteZeroes
DatasetManagement
Flush
Example:
[Timeouts]
Read = 15
Write = 20
WriteUncorrectable = 25
WriteZeroes = 30
DatasetManagement = 35
NamespaceManagement = 40
Flush = 45
Feature-Specific Overrides (Get / Set Features)
Set a timeout for a specific Feature Identifier on GetFeatures or SetFeatures.
The key format is <Command>.<FID> where FID is the Feature Identifier in hexadecimal
(with 0x prefix) or decimal.
Note
Feature-specific timeouts take precedence over any command-specific or category-wide timeout.
Example – give SetFeatures with FID=1Dh a longer 120 second timeout than other SetFeatures calls, which receive a 10 second timeout.
[Timeouts] SetFeatures = 10 SetFeatures.0x1D = 120
Extra Checks
Verify Max Lane Width: Check lane width at the start and end of a script, and before starting any workloads.
Note
Valid settings are ‘ignore’, ‘notify’, ‘warn’, ‘error’
[Extra Checks] Verify Max Lane Width = notify
Verify Max Link Speed: Check link width at the start and end of a script, and before starting any workloads.
Note
Valid settings are ‘ignore’, ‘notify’, ‘warn’, ‘error’
[Extra Checks] Verify Max Lane Width = notify
Fail on Warning
Error
Deprecated. Use Behavior: Fail on Warning instead.
Treat a warning as a script failure. Useful when debugging.
Enable - Valid settings are True and False
[Fail on Warning]
Enable = True
SPDM
Debug - Turn on extra debug logging for SPDM conformance scripts
Valid settings are True and False