Martin George [Tue, 3 Dec 2024 18:54:48 +0000 (00:24 +0530)]
netapp-smdev: add verbose output
Add a verbose option to display additional information of smdevices
on the host. And while at it, make a few corrections/modifications
to the JSON output as well.
Signed-off-by: Martin George <marting@netapp.com> Tested-by: Clayton Skaggs <claytons@netapp.com>
Steven Seungcheol Lee [Thu, 28 Nov 2024 07:50:09 +0000 (16:50 +0900)]
nvme: telemetry ctrl-init need to clear RAE
if rae default is true, it's always true
so it was not possible to issue with RAE=0
If the host is reading the Telemetry Controller-Initiated log page,
then the host reads any portion of that log page with the Retain
Asynchronous Event bit cleared to ‘0’ to indicate to the controller
that the host has completed reading the Telemetry Controller-Initiated
log page
Signed-off-by: Steven Seungcheol Lee <sc108.lee@samsung.com>
Brandon Paupore [Mon, 25 Nov 2024 17:11:31 +0000 (11:11 -0600)]
wdc: rework log retrieval and parsing
We should only need to retrieve the log page once, rather than once per
field to be parsed. This also fixes some endianness issues when handling
the parsed data entries.
Tokunori Ikegami [Sat, 30 Nov 2024 13:56:12 +0000 (22:56 +0900)]
build: change muon setup command and parameter
The command and parameter changed by the muon commits below. eec469bb ("bootstrap.sh - use muon-bootstrap as exe name") 5a64dfd3 ("disable bestline by default")
Arbaz Khan [Wed, 13 Nov 2024 15:55:38 +0000 (21:25 +0530)]
type: Using enums of ANSAN and RGCNS bit for OAES
Using enums of ANSAN and RGCNS bit for OAES field based on NVM Express
Base Specification 2.1
Signed-off-by: Arbaz Khan <arbaz.khan@samsung.com> Reviewed-by: Steven Seungcheol Lee <sc108.lee@samsung.com> Reviewed-by: Francis Pravin <francis.p@samsung.com>
Martin George [Fri, 15 Nov 2024 11:04:05 +0000 (16:34 +0530)]
fabrics: update return values for dim
The nvme dim command returns a zero even for failure scenarios
as shown below:
nvme0 DIM register command error. Status:0xffffffff -
Operation not supported
echo $?
0
Fix this by ensuring appropriate values are returned for success
and failure scenarios. And while at it, remove a couple of
superfluous braces too here.
Steven Seungcheol Lee [Tue, 19 Nov 2024 03:58:46 +0000 (12:58 +0900)]
ocp-nvme: Update ocp v2.6 Hardware Component
Log Identifier C6h
Hardware Component Log Size (bytes)
Component Identifier added
0x000C Born on Date. The date on which the device was manufactured.
ASCII string format is MMDDYYYY.
Signed-off-by: Steven Seungcheol Lee <sc108.lee@samsung.com>
Daniel Wagner [Thu, 31 Oct 2024 09:33:40 +0000 (10:33 +0100)]
scripts: handle libnvme version update correctly
The pattern \([\.1-9]\+\) captures strings like .1, .9, or other
partial version numbers starting from 1. For full version formats, we
can update the pattern to capture more comprehensive version styles,
including major, minor, and patch levels (e.g., 1.0, 1.2.3, 10.3, etc.).
Exchange the match with:
\([0-9]\+\) matches the major version, consisting of one or more digits.
\(\.[0-9]\+\)* matches any additional minor or patch versions, capturing
optional segments starting with a dot and followed by one or more
digits.
Tokunori Ikegami [Mon, 28 Oct 2024 15:34:43 +0000 (00:34 +0900)]
ocp: fix TCG configuration log endian
Fix the entry data fields to little endian format.
Basically print functions convert the fields data to cpu format.
But still some errors then fixed the print json functions also.
Tokunori Ikegami [Mon, 28 Oct 2024 14:55:28 +0000 (23:55 +0900)]
ocp: fix firmware activation history entry endian
Fix the entry data fields to little endian format.
Basically print functions convert the fields data to cpu format.
But still some errors then fixed the print functions also.
Dennis Maisenbacher [Wed, 25 Sep 2024 14:39:34 +0000 (14:39 +0000)]
CI: Add workflow for running tests on real nvme device
Introducing a GitHub workflow which runs all test cases under the
`tests` directory on real hardware through a self-hosted runner.
This workflow is triggered nightly or on demand as the tests run about an
hour.
Signed-off-by: Dennis Maisenbacher <dennis.maisenbacher@wdc.com>
Dennis Maisenbacher [Fri, 25 Oct 2024 06:27:28 +0000 (06:27 +0000)]
tests: Create default ns on tearDown
After a test was run, the `tearDown` function is called and then creates
and attaches a single ns with the full NVM capacity.
This is done so the caller or the next test case receives a reasonably
formated drive.
Signed-off-by: Dennis Maisenbacher <dennis.maisenbacher@wdc.com>
Dennis Maisenbacher [Tue, 15 Oct 2024 13:04:33 +0000 (13:04 +0000)]
tests: Fixup nvme_create_max_ns_test
Fix off by one errors and capacity allocation.
Small speedup for nvme_create_max_ns_test by reducing the io done by
`run_ns_io`. For this we introduce a new count parameter which can
overwrite the default value of 10.
Signed-off-by: Dennis Maisenbacher <dennis.maisenbacher@wdc.com>
Dennis Maisenbacher [Tue, 15 Oct 2024 12:08:37 +0000 (12:08 +0000)]
tests: Fix nvme_copy_test python traceback fails
Reworking the `get_ocfs` function to correctly parse the ocfs field.
At the same time refactor `nvme id-ctrl` that extracts the ocfs
field into separate functions. This is in preparation for following
commits that reuse the same functionality.
Furthermore nvme_copy_test fails on devices that do not support any
copy formats. For this to pass we need to declare
`self.host_behavior_data` in any case.
Signed-off-by: Dennis Maisenbacher <dennis.maisenbacher@wdc.com>
Daniel Wagner [Thu, 10 Oct 2024 07:04:51 +0000 (09:04 +0200)]
fabrics: add support to connect to accept a PSK command line
Extend the connect command also to accept the pre-shared key via command
line. Obviously, this is not recommended to use for a production system
but for testing this is a simple way to get a setup working.
Daniel Wagner [Wed, 23 Oct 2024 08:45:54 +0000 (10:45 +0200)]
fabrics: add support to connect to accept a configuration
The connect-all command accepts JSON configuration but not
the connect command. connect-all will try to connect to all
possible resources, which includes creating discovery controllers.
This might not always needed or wanted.
The connect command will only connect to the controllers
listed in the configuration file and doesn't to any
additional discovery at all.
Martin George [Wed, 16 Oct 2024 07:56:55 +0000 (13:26 +0530)]
nvme: update tls_key() handling
Few misc issues in current tls_key() implementation:
1) Additional blank line printed in err message if the keyfile
cannot be opened.
2) For export, nvme_scan_tls_keys() can return positive values too
for successful scenarios. So this currently leads to erroneous return
value handling.
3) For import, no return value checking for import_key() failure
scenarios.
4) For revoke, return appropriate error immediately when
nvme_revoke_tls_key() fails.
5) No helpful success message printed for all the options.
Martin George [Thu, 17 Oct 2024 11:57:18 +0000 (17:27 +0530)]
nvme-print-json: display only verbose output
Having separate regular & verbose outputs makes more sense for the
stdout outputs, and not necessarily for the JSON outputs. So let's
make things simpler by having the JSON output everything, and
nothing short.
Suggested-by: Daniel Wagner <dwagner@suse.de> Signed-off-by: Martin George <marting@netapp.com>