Skip to content

utils/nvme: Enhanced get_ns_status to support ns topology fallback #4002

utils/nvme: Enhanced get_ns_status to support ns topology fallback

utils/nvme: Enhanced get_ns_status to support ns topology fallback #4002

Triggered via pull request September 3, 2026 03:44
Status Failure
Total duration 24m 33s
Artifacts 11

ci.yml

on: pull_request
Matrix: package-build
Matrix: smokecheck-linux
Static checks
2m 8s
Static checks
Commitlint
17s
Commitlint
Experimental checks
25s
Experimental checks
Version task fedora:40
27s
Version task fedora:40
Version task fedora:41
35s
Version task fedora:41
Version task ubi:8.8
3m 4s
Version task ubi:8.8
Version task ubi:9.2
31s
Version task ubi:9.2
Version task debian:12.4
3m 21s
Version task debian:12.4
Version task debian:11.0
29s
Version task debian:11.0
Version task ubuntu:24.04
30s
Version task ubuntu:24.04
Version task ubuntu:22.04
3m 40s
Version task ubuntu:22.04
Podman Egg task
24s
Podman Egg task
Podman spawner with 3rd party runner plugin
1m 7s
Podman spawner with 3rd party runner plugin
Fedora develop install/uninstall task
38s
Fedora develop install/uninstall task
Fedora selftests
15m 11s
Fedora selftests
Matrix: check-macos
Matrix: egg-build
Matrix: smokecheck-windows
Integration with most major VT plugin
54s
Integration with most major VT plugin
Matrix: check-linux
Fit to window
Zoom out
Zoom in

Annotations

3 errors
Experimental checks
Process completed with exit code 2.
Commitlint
You have commit messages with errors ⧗ input: utils/nvme: Enhanced get_ns_status to support namespace-based topology fallback The 'nvme show-topology /dev/<controller>' form fails on some nvme-cli builds, returning {"error": "Invalid device name"} instead of a valid JSON topology. Additionally, in multi-path subsystems where two controllers (e.g. nvme0 and nvme3) share a namespace (e.g. nvme3n1), the namespace block device is named after only one of the controllers, making a namespace name constructed from controller_name unreliable. Enhance get_ns_status with a two-stage approach: Primary path (unchanged behaviour): nvme show-topology /dev/<controller_name> -o json Parses the original JSON structure where paths["Name"] matches the controller name. Returns immediately on success. Fallback path (new): nvme show-topology -o json (whole-system, no device argument) Triggered when the primary path returns an error payload (dict instead of list), raises JSONDecodeError, or yields no match. Locates the correct path by matching NSID and Controller.Name inside the Paths[].Controller[] array, which is unambiguous across multi-controller subsystems and avoids any namespace device name construction. Both paths return [State, ANAState] preserving the existing API. Signed-off-by: Maram Srimannarayana Murthy <msmurthy@linux.vnet.ibm.com> ✖ header must not be longer than 72 characters, current length is 79 [header-max-length] ✖ found 1 problems, 0 warnings ⓘ Get help: https://avocado-framework.readthedocs.io/en/latest/guides/contributor/chapters/styleguides.html#commit-style-guide
macOS with Python 3.11
Process completed with exit code 1.

Artifacts

Produced during runtime
Name Size Digest
bandit-results Expired
14.1 KB
sha256:bc31781723cc1c37427f0b7282b9b0450b0952f0accfdf125e33b085fcba755e
eggs-3.10 Expired
1.49 MB
sha256:0e580d57ed6517db7414bb010c3586c62732f73d3f494393a7147ed683b265ef
eggs-3.11 Expired
1.81 MB
sha256:b066ea33cc2101bdcbb6008c7299a8fb827601958509258b9bccc0c487f78999
eggs-3.12 Expired
1.77 MB
sha256:3d1e51cdff751c756479e947ab5dac5b37807888c4ba2d053792c3341f2e2998
eggs-3.13 Expired
1.78 MB
sha256:9c78a37ee7be8fc99eb7ff8dddc5259c4ed600725528da9a97be95474ffbb126
eggs-3.14 Expired
1.79 MB
sha256:c21c9ca943bada54fca0a6ffcfeeda211bb3dca0dc45d35cd520b2a9e92276bc
tarballs_and_wheels-3.10 Expired
1.99 MB
sha256:67061ca41e949b8a428272d0d792c24ee84643bc508c692bfbad090dc8c25dc1
tarballs_and_wheels-3.11 Expired
1.99 MB
sha256:01c1252c7d73f0057a20fa0a58b5518b47b69389c2ec83da2b7fb53d933a8895
tarballs_and_wheels-3.12 Expired
1.99 MB
sha256:8dbe655e739b58da48b91e461f65772fffe4c0cc7c737c19d69659945a56670d
tarballs_and_wheels-3.13 Expired
1.99 MB
sha256:e7539cace6dc3c107cdf1c27fc34aea4452993f35bbe10f7be807b9156dd2eda
tarballs_and_wheels-3.14 Expired
1.99 MB
sha256:54fc40d9d81c390c88162d7a16efcb8c860ca6e685908b2fe7bb8ce6c59c1b69