Skip to content

v2.11

Latest
Compare
Choose a tag to compare
@github-actions github-actions released this 31 Oct 09:40
· 58 commits to master since this release

Boooh Hallowien release!

ChatGPT says:

The nvme-cli v2.11 release introduces several updates, including added support for the latest NVMe specifications, enhancements to command options, and improvements for more efficient error handling and output formatting. These updates streamline device management and improve the user experience with NVMe devices.

and this is rather disappointing summary. There are really cool highlights in this release.

First, Dennis spend a lot (and I mean a lot) of time getting a CI setup running for nvme-cli. The new nightly build jobs run the in Python written tests living in tests directory. These tests were dormant for a while because these tests really interact with hardware and blindly write on the disc. You don't want to run these on your desktop, do you?

Anyway these new nightly CI runs update the kernel to the latest Linus' upstream master branch and then run following tests:

        nvme_attach_detach_ns_test
        nvme_compare_test
        nvme_copy_test
        nvme_create_max_ns_test 
        nvme_ctrl_reset_test
        nvme_dsm_test
        nvme_error_log_test
        nvme_flush_test
        nvme_format_test
        nvme_fw_log_test
        nvme_get_features_test
        nvme_get_lba_status_test
        nvme_id_ctrl_test
        nvme_id_ns_test
        nvme_lba_status_log_test
        nvme_read_write_test
        nvme_smart_log_test
        nvme_verify_test  
        nvme_writeuncor_test
        nvme_writezeros_test

against Western Digital Ultrastar® SN640 and Western Digital Ultrastar® ZN540 disks.

In short we finally have fully end-to-end tests in place. Obviously, it will take a bit of time
to get all very stable and reliable but the first few days. The reason why these tests are currently
just running during nightly builds is that the whole set takes roughly 1h. But this is just
the starting point. I think we should be able to have a quick run set in future.

Anyway, I really want to thank for Dennis to get this stuff working!

Once again Tokunori Ikegami was busy working on many things. One highlight is that ocp plugin is now buildable when json-c is missing. Thanks!

There were a lot of contributions getting various print commands outputting newly added types/fields. And also improving the various plugins here and there. Also big thanks for these contributions.

I was busy getting the various TLS key use cases working more nicely. I really hope I got this sorted out now. Famous last words.

Ankit Soni (2):
      build: update libnvme wrap
      nvme-print: added new fields for nvm_id_ns

Brandon Paupore (1):
      wdc: add support for SNTMP drive

Carl Moran (1):
      plugins/wdc: fix json output for vs-nand-stats

Daniel Wagner (19):
      build: use linux-nvme/ci-containers
      build: bump libnvme wrap
      nvme: use unsigned char for hmac and identity
      fabrics: add support to connect to accept a configuration
      fabrics: add support to connect to accept a PSK command line
      docs: update TLS options
      nvmf-keys: add udev rule to import tls keys
      nvme: export tls keys honoring version and hmac
      nvme: set file permission for keyfile to owner only
      nvme: rename identity to version
      nvme: add support to add derive TLS PSK to keyfile
      docs: update gen-tls-key arguments
      nvme: return correct error code in append_keyfile
      nvme: add support to append TLS PSK to keyfile for check-tls-key
      docs: update check-tls-key arguments
      build: bump libnvme wrap
      scripts: handle libnvme version update correctly
      doc: Regenerate all docs for v2.11
      Release v2.11

Dennis Maisenbacher (13):
      tests: Use raw string for compiling regex
      tests: fix nvme_attach_detach_ns_test
      tests: Fix nvme_copy_test python traceback fails
      tests: Fixup nvme_create_max_ns_test
      tests: Improve nvme_ctrl_reset_test
      tests: Adjust ncap and nsze for nvme_format_test
      tests: Fix nvme_get_features_test
      tests: Use correct flag in vendor specific id-ctrl
      tests: Fix nvme_smart_log_test
      tests: Add feature check to nvme_compare_test
      tests: Fix nvme_get_lba_status_test and nvme_lba_status_log_test
      tests: Create default ns on tearDown
      CI: Add workflow for running tests on real nvme device

Francis Pravin (12):
      nvme-print: print the new fields added in TP4165
      build: update libnvme wrap
      nvme-print: use Completion Condition enum
      nvme-print: print the new fields added in TP4142
      nvme-print-json: print CMBEBS and CMBSWTP in json format
      nvme-print-json: print controller register values in offset order
      nvme-print: print NSSES field of CAP register
      build: update libnvme wrap
      nvme: add EMVS support to sanitize command
      nvme-print-stdout: print VERS bit of SANICAP field
      doc: Add sanitize command emvs option
      nvme-print: Add Sanitize Media Verification Event in PEL log

Greg Joyce (1):
      plugins/sed: add sid password change

Haro Panosyan (1):
      plugins/solidigm : Fixing vs-internal-log to generate identify per allocated namespace.

Leonardo da Cunha (5):
      plugins/solidigm: Added Workload Tracker Triggers and Wall Time
      completion: add solidgm work-tracker binding
      completion: add ocp set-telemetry-profile to zsh
      Documentation: Added solidigm plugin commands
      plugins/solidigm: Automatic retry smaller log chunk size.

Martin George (17):
      netapp: fix uninitialized value from heap error
      netapp: segregate the print routines
      netapp: print output for single device too
      nvme-print: add subsystype to the list-subsys output
      nvme-print: update subsys verbose outputs
      nvme-print: sanitize error-log output
      nvme: update nvme_insert_tls_key_versioned() return handling
      fabrics: fix incorrect access filename check
      netapp-smdevices: segregate print routines
      netapp-smdevices: print single device output too
      nvme: fix uninitialized value in error-log
      nvme-print-stdout: update changed-ns-list-log output
      nvme-print-json: update JSON verbose output for nvm-id-ctrl
      nvme-print-json: display only verbose output
      nvme: update tls_key() handling
      netapp-smdev: add err msg for no smdevices
      netapp-ontapdev: add err msg for no ontapdevices

Maurizio Lombardi (1):
      plugins/solidigm: fix use after free.

Minsik Jeon (2):
      plugins/fdp: bugfix error check to validate output format
      nvme: Support show-regs for nvmeof

Nitin Sao (2):
      build: bump libnvme wrap
      nvme-print-stdout: Added print for new field CSER (TP4167)

Steven Seungcheol Lee (3):
      ocp-nvme: remove ocp log page version checking
      ocp-nvme: Add LMDATA-37 for Latency Monitor Log
      ocp-nvme: ocp plugin version update

Tetsuya TAKAHASHI (2):
      ocp: fix GUID output
      ocp: fix option handling in internal-log

Tokunori Ikegami (54):
      nvme-print: use LC_MEASUREMENT to check fahrenheit temperature
      nvme-print-stdout: use NVME_FEAT util definitions
      util: extern uint128_t_to_double() function
      logging: add print_info function
      nvme-print-stdout: add print_array function
      ocp: fix to set return value to get c9 log page data
      ocp: fix to return c9 log page data error to open file
      ocp: Change C9 function names to use c9 instead
      ocp: fix ocp-nvme.c coding style errors
      nvme-print-json: use _cleanup_free_
      nvme: use NVME_GET_FEATURES_SEL_SUPPORTED definition
      ocp: add get-enable-ieee1667-silo command
      ocp: add error recovery log page version 3
      ocp: add SMART / health information extended log page version 4
      nvme-print-json: extern json object add functions
      nvme: use NVME_CTRL_FNA definitions
      ocp: add support for hwcomp log page
      ocp: add hwcomp dummy definition
      ocp: add hwcomp log command comp-id option
      ocp: add hwcomp log command list option
      ocp: add hwcomp log json output
      doc: add ocp hardware-component-log command
      completions: add ocp hardware-component-log command
      ocp: split ocp-hwcomp log
      build: bump libnvme wrap
      nvme: use NVME_CHECK() to check get features select field value
      ocp: fix to set log data pointer allocated
      ocp: include util/types.h to use nvme_uint128_t
      nvme-print-stdout: use NVME_CTRL_OAES definitions
      nvme: use NVME_GET_FEATURES_SEL definitions
      nvme: separate get NVME_GET_FEATURES_SEL_CHANGED definition
      doc: add get-feature command changed option
      completions: add get-feature command changed option
      nvme-print: fix error information log page endianness error
      nvme: fix to convert metadata size to native byte order
      ocp-print: move json code into separate files
      plugins: update meson.build file to always build ocp plugin
      ocp: split ocp-fw-activation-history print codes
      ocp: split smart extended log print codes
      ocp: move ocp telemetry log print function into ocp-print
      ocp: split latency monitor log print codes
      ocp: split unsupported requirement log print codes
      ocp: split error recovery log print codes
      ocp: split device capabilities log print codes
      ocp: split telemetry string log print codes
      ocp: split TCG configuration log print codes
      ocp: build ocp-nvme.c and ocp-telemetry-decode.c without json
      ocp: fix ocp-nvme.c indentation errors
      ocp: fix ocp-print-stdout.c indentation error
      ocp: remove callback function cast
      ocp: combine to use GUID length definitions
      ocp: fix firmware activation history entry endian
      ocp: fix TCG configuration log endian
      ocp: fix latency monitoring data structure entry endian

Xiaoyuan Zhang (4):
      plugins: Add a new DapuStor plugin and the smart-log-add command
      plugins/dapustor: dapustor smart-log-add update
      completions: add the zsh completion of the dapustor plugin
      plugins/dapustor: smart-log-add fix

innogritkenny (1):
      plugins/innogrit: modify for project tacoma

jeff-lien-wdc (5):
      wdc: Add Support for new SN-861 PCI device id
      Add Support for new SN655 PCI Device ID
      wdc: Add Support for SN5100S
      ocp: Fixes for OCP 2.5 Telemetry DA1 FIFO Event Parsing
      wdc: Fix for Reading WDC C2 Vendor Unique Log Page

jinhua.huang (1):
      plugins/memblaze: fix a wrong id on smart-log-add

paumr (2):
      doc: show where self-test results can be found
      doc: added commit conventions to contribution guidelines

rick (1):
      nvme-print: print KV command set page header

наб (1):
      docs: nvme-id-doman: dom{ia => ai}n