utils/nvme: Enhanced get_ns_status to support ns topology fallback #4002
ci.yml
on: pull_request
Matrix: package-build
Matrix: smokecheck-linux
Static checks
2m 8s
Commitlint
17s
Experimental checks
25s
Version task fedora:40
27s
Version task fedora:41
35s
Version task ubi:8.8
3m 4s
Version task ubi:9.2
31s
Version task debian:12.4
3m 21s
Version task debian:11.0
29s
Version task ubuntu:24.04
30s
Version task ubuntu:22.04
3m 40s
Podman Egg task
24s
Podman spawner with 3rd party runner plugin
1m 7s
Fedora develop install/uninstall task
38s
Fedora selftests
15m 11s
Matrix: check-macos
Matrix: egg-build
Matrix: smokecheck-windows
Integration with most major VT plugin
54s
Matrix: check-linux
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
|
|