-
Notifications
You must be signed in to change notification settings - Fork 5.2k
ISO: Include nvme_tcp kernel module #22464
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: master
Are you sure you want to change the base?
Conversation
|
Skipping CI for Draft Pull Request. |
|
[APPROVALNOTIFIER] This PR is NOT APPROVED This pull-request has been approved by: nixpanic The full list of commands accepted by this bot can be found here. DetailsNeeds approval from an approver in each of these files:Approvers can indicate their approval by writing |
|
Can one of the admins verify this patch? |
deploy/iso/minikube-iso/board/minikube/aarch64/linux_aarch64_defconfig
Outdated
Show resolved
Hide resolved
| CONFIG_BLK_DEV_RBD=m | ||
| CONFIG_BLK_DEV_NVME=m | ||
| CONFIG_NVME_TCP=m | ||
| CONFIG_NVME_AUTH=y |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Why do we need this? can you add link to the relevant docs in the commit message?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Authentication can be done over CHAP/DHCHAP, support for that is enabled with CONFIG_NVME_AUTH=y.
|
/ok-to-build-iso |
Ceph contains support for NVMe-oF/TCP block devices. In order to make minikube capable of attaching and mounting these, the nvme_tcp kernel module needs to be available. Authentication can be done over CHAP/DHCHAP, which is enabled as well.
|
A test build for the My development machine is configured for minikube with podman at the moment. I'll try to run it with KVM next week. |
|
Hi @nixpanic, we have updated your PR with the reference to newly built ISO. Pull the changes locally if you want to test with them or update your PR further. |
|
@nixpanic: The following tests failed, say
Full PR test history. Your PR dashboard. Please help us cut down on flakes by linking to an open issue when you hit one in your PR. DetailsInstructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes-sigs/prow repository. I understand the commands that are listed here. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull request overview
This pull request adds support for NVMe-oF/TCP (NVMe over Fabrics using TCP) block devices to the minikube ISO. This enables Ceph and other storage systems that use NVMe-oF/TCP to be used with minikube clusters.
Changes:
- Added CONFIG_NVME_TCP kernel module to both x86_64 and aarch64 Linux kernel configurations
- Added CONFIG_NVME_AUTH support for NVMe authentication
- Updated ISO version to v1.37.0-1768572026-22464 (build 22464)
Reviewed changes
Copilot reviewed 4 out of 4 changed files in this pull request and generated 3 comments.
| File | Description |
|---|---|
| deploy/iso/minikube-iso/board/minikube/x86_64/linux_x86_64_defconfig | Added CONFIG_NVME_TCP=m and CONFIG_NVME_AUTH=y to enable NVMe-oF/TCP support for x86_64 |
| deploy/iso/minikube-iso/board/minikube/aarch64/linux_aarch64_defconfig | Added CONFIG_NVME_TCP=m and CONFIG_NVME_AUTH=y to enable NVMe-oF/TCP support for aarch64 |
| pkg/minikube/download/iso.go | Updated ISO bucket from 22425 to 22464 to point to new ISO build |
| Makefile | Updated ISO_VERSION to v1.37.0-1768572026-22464 to match new ISO build |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
| CONFIG_BLK_DEV_LOOP=y | ||
| CONFIG_BLK_DEV_NBD=m | ||
| CONFIG_VIRTIO_BLK=y | ||
| CONFIG_BLK_DEV_RBD=m |
Copilot
AI
Jan 16, 2026
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
CONFIG_NVME_TCP requires CONFIG_NVME_CORE to function, but CONFIG_NVME_CORE is not explicitly enabled in the x86_64 configuration. CONFIG_NVME_CORE is typically automatically selected by CONFIG_BLK_DEV_NVME or other NVME drivers. The aarch64 configuration includes CONFIG_BLK_DEV_NVME (line 335) which would pull in CONFIG_NVME_CORE, but the x86_64 configuration does not have any such dependency. You should add CONFIG_BLK_DEV_NVME=m before CONFIG_NVME_TCP=m to ensure the core NVME subsystem is available.
| CONFIG_BLK_DEV_RBD=m | |
| CONFIG_BLK_DEV_RBD=m | |
| CONFIG_BLK_DEV_NVME=m |
| CONFIG_NVME_TCP=m | ||
| CONFIG_NVME_AUTH=y |
Copilot
AI
Jan 16, 2026
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The nvme_tcp kernel module is being added but there is no test coverage to verify that the module can be loaded successfully in the ISO. Consider adding a test case in test/integration/iso_test.go similar to the existing eBPFSupport test that verifies the module is available, for example by checking if the module file exists at /lib/modules/*/kernel/drivers/nvme/host/nvme-tcp.ko or by attempting to load it with modprobe.
| CONFIG_NVME_TCP=m | ||
| CONFIG_NVME_AUTH=y |
Copilot
AI
Jan 16, 2026
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The nvme_tcp kernel module is being added but there is no test coverage to verify that the module can be loaded successfully in the ISO. Consider adding a test case in test/integration/iso_test.go similar to the existing eBPFSupport test that verifies the module is available, for example by checking if the module file exists at /lib/modules/*/kernel/drivers/nvme/host/nvme-tcp.ko or by attempting to load it with modprobe.
|
PR needs rebase. DetailsInstructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes-sigs/prow repository. |
Ceph contains support for NVMe-oF/TCP block devices. In order to make minikube capable of attaching and mounting these, the nvme_tcp kernel module needs to be available.
Note: I'm trying to build the new iso according to the steps from the documentation. Unfortunately this fails for me with some compilation errors, even before building the kernel is started 😞