Skip to content
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

9P detecting logic blocking when 9P is present #19789

Open
spowelljr opened this issue Oct 10, 2024 · 5 comments · May be fixed by #20288
Open

9P detecting logic blocking when 9P is present #19789

spowelljr opened this issue Oct 10, 2024 · 5 comments · May be fixed by #20288
Assignees
Labels
area/mount kind/regression Categorizes issue or PR as related to a regression from a prior release. lifecycle/stale Denotes an issue or PR has remained open with no activity and has become stale.

Comments

@spowelljr
Copy link
Member

In #18995 we added a pre-check to check for the existence of 9P prior to starting the mount. This looks for the existence of /lib/modules/<module>/kernel/fs/9p. If it's not found we terminate with the following error: ❌ Exiting due to HOST_UNSUPPORTED: The host does not support filesystem 9p.

However, it seems 9P can be located elsewhere on the system. For example, Cloud Shell, trying to use mount returns ❌ Exiting due to HOST_UNSUPPORTED: The host does not support filesystem 9p., but removing the check logic mounting works:

$ minikube mount ./thing123:/here
📁  Mounting host path ./thing123 into VM as /here ...
    ▪ Mount type:   9p
    ▪ User ID:      docker
    ▪ Group ID:     docker
    ▪ Version:      9p2000.L
    ▪ Message Size: 262144
    ▪ Options:      map[]
    ▪ Bind Address: 192.168.49.1:43445
🚀  Userspace file server: ufs starting
✅  Successfully mounted ./thing123 to /here

📌  NOTE: This process must stay alive for the mount to be accessible ...

I've verified that /lib/modules/<module>/kernel/fs/9p doesn't exist, but can see it in the following:

$ cat /proc/filesystems
nodev	sysfs
nodev	tmpfs
nodev	bdev
nodev	proc
nodev	cgroup
nodev	cgroup2
nodev	cpuset
nodev	devtmpfs
nodev	binfmt_misc
nodev	debugfs
nodev	tracefs
nodev	securityfs
nodev	sockfs
nodev	bpf
nodev	pipefs
nodev	ramfs
nodev	hugetlbfs
nodev	devpts
	ext3
	ext2
	ext4
nodev	autofs
nodev	overlay
	xfs
nodev	9p
nodev	efivarfs
nodev	mqueue
nodev	pstore
nodev	configfs
	fuseblk
nodev	fuse
nodev	fusectl

So we should do a different/additional check to ensure that we're not blocking on when 9P is in fact usable.

@spowelljr spowelljr added area/mount kind/regression Categorizes issue or PR as related to a regression from a prior release. labels Oct 10, 2024
@xcarolan
Copy link
Contributor

/assign

@afbjorklund
Copy link
Collaborator

afbjorklund commented Oct 13, 2024

You need to also check the builtin, unfortunately the file is not always included - then the only way to know is to run modprobe in the guest...

/lib/modules/<kernel>/modules.builtin

@brunokoeferli
Copy link

I recognized the same issue running minikube in my wsl2.

My "quick and dirty" workaround was to just create the expected directory:

xxx:~$ uname -r
5.10.102.1-microsoft-standard-WSL2
xxx:~$ sudo mkdir -p /lib/modules/5.10.102.1-microsoft-standard-WSL2/kernel/fs/9p

Afterwards the mount works as expected.

@k8s-triage-robot
Copy link

The Kubernetes project currently lacks enough contributors to adequately respond to all issues.

This bot triages un-triaged issues according to the following rules:

  • After 90d of inactivity, lifecycle/stale is applied
  • After 30d of inactivity since lifecycle/stale was applied, lifecycle/rotten is applied
  • After 30d of inactivity since lifecycle/rotten was applied, the issue is closed

You can:

  • Mark this issue as fresh with /remove-lifecycle stale
  • Close this issue with /close
  • Offer to help out with Issue Triage

Please send feedback to sig-contributor-experience at kubernetes/community.

/lifecycle stale

@k8s-ci-robot k8s-ci-robot added the lifecycle/stale Denotes an issue or PR has remained open with no activity and has become stale. label Jan 16, 2025
@xcarolan
Copy link
Contributor

/remove-lifecycle stale

@xcarolan xcarolan linked a pull request Jan 18, 2025 that will close this issue
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area/mount kind/regression Categorizes issue or PR as related to a regression from a prior release. lifecycle/stale Denotes an issue or PR has remained open with no activity and has become stale.
Projects
None yet
Development

Successfully merging a pull request may close this issue.

6 participants