Skip to content

Conversation

@nixpanic
Copy link
Member

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 😞

@k8s-ci-robot
Copy link
Contributor

Skipping CI for Draft Pull Request.
If you want CI signal for your change, please convert it to an actual PR.
You can still manually trigger a test run with /test all

@k8s-ci-robot k8s-ci-robot added the do-not-merge/work-in-progress Indicates that a PR should not merge because it is a work in progress. label Jan 15, 2026
@k8s-ci-robot k8s-ci-robot requested review from medyagh and nirs January 15, 2026 13:41
@k8s-ci-robot
Copy link
Contributor

[APPROVALNOTIFIER] This PR is NOT APPROVED

This pull-request has been approved by: nixpanic
Once this PR has been reviewed and has the lgtm label, please assign prezha for approval. For more information see the Code Review Process.

The full list of commands accepted by this bot can be found here.

Details Needs approval from an approver in each of these files:

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@k8s-ci-robot k8s-ci-robot added size/XS Denotes a PR that changes 0-9 lines, ignoring generated files. cncf-cla: yes Indicates the PR's author has signed the CNCF CLA. labels Jan 15, 2026
@minikube-bot
Copy link
Collaborator

Can one of the admins verify this patch?

CONFIG_BLK_DEV_RBD=m
CONFIG_BLK_DEV_NVME=m
CONFIG_NVME_TCP=m
CONFIG_NVME_AUTH=y
Copy link
Contributor

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?

Copy link
Member Author

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.

@nirs
Copy link
Contributor

nirs commented Jan 16, 2026

/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.
@nixpanic nixpanic marked this pull request as ready for review January 16, 2026 15:07
@k8s-ci-robot k8s-ci-robot removed the do-not-merge/work-in-progress Indicates that a PR should not merge because it is a work in progress. label Jan 16, 2026
@nixpanic
Copy link
Member Author

A test build for the .iso is available, and should be usable with this:

minikube start --iso-url=https://people.redhat.com/ndevos/tmp/minikube-amd64_pr22464.iso

My development machine is configured for minikube with podman at the moment. I'll try to run it with KVM next week.

@minikube-bot
Copy link
Collaborator

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.

@k8s-ci-robot
Copy link
Contributor

@nixpanic: The following tests failed, say /retest to rerun all failed tests or /retest-required to rerun all mandatory failed tests:

Test name Commit Details Required Rerun command
integration-vfkit-docker-macos-arm f7af5ac link false /test integration-vfkit-docker-macos-arm
integration-docker-crio-linux-x86 f7af5ac link false /test integration-docker-crio-linux-x86
integration-kvm-docker-linux-x86 f7af5ac link true /test integration-kvm-docker-linux-x86
integration-kvm-containerd-linux-x86 f7af5ac link true /test integration-kvm-containerd-linux-x86

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.

Details

Instructions 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.

@medyagh medyagh requested a review from Copilot January 16, 2026 19:58
@medyagh medyagh changed the title Include nvme_tcp kernel module in the ISO ISO: Include nvme_tcp kernel module Jan 16, 2026
Copy link
Contributor

Copilot AI left a 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
Copy link

Copilot AI Jan 16, 2026

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.

Suggested change
CONFIG_BLK_DEV_RBD=m
CONFIG_BLK_DEV_RBD=m
CONFIG_BLK_DEV_NVME=m

Copilot uses AI. Check for mistakes.
Comment on lines +309 to +310
CONFIG_NVME_TCP=m
CONFIG_NVME_AUTH=y
Copy link

Copilot AI Jan 16, 2026

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.

Copilot uses AI. Check for mistakes.
Comment on lines +336 to +337
CONFIG_NVME_TCP=m
CONFIG_NVME_AUTH=y
Copy link

Copilot AI Jan 16, 2026

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.

Copilot uses AI. Check for mistakes.
@medyagh
Copy link
Member

medyagh commented Jan 16, 2026

@nixpanic @nirs plz take a look at the copilot comments and see if that would make this PR better?

btw the ISO been pushed to this PR and you can test it on on minikube PR code

@k8s-ci-robot k8s-ci-robot added the needs-rebase Indicates a PR cannot be merged because it has merge conflicts with HEAD. label Jan 17, 2026
@k8s-ci-robot
Copy link
Contributor

PR needs rebase.

Details

Instructions 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.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

cncf-cla: yes Indicates the PR's author has signed the CNCF CLA. needs-rebase Indicates a PR cannot be merged because it has merge conflicts with HEAD. size/XS Denotes a PR that changes 0-9 lines, ignoring generated files.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants