-
Notifications
You must be signed in to change notification settings - Fork 2.4k
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
virtiofsd not in path breaks podman start #23127
Comments
The recent addition of virtiofsd to podman now requires podman to resolve the path for the virtiofsd executable. the binary lives in /usr/libexec which is not one of the defaults for Linux. Here I want to add /usr/libexec to the default list. This fixes containers/podman#23127 Signed-off-by: Brent Baude <[email protected]>
In general if you want to hard code paths you can add this back but this is horrible as it doesn't scale across distros. One thing that we should change though is not to lookup in $PATH. This doesn't make sense and the returned error to users is confusing. |
Seems to be missing from the build-from-source documentation, but then again so is gvproxy etc. Upstream isn't clear on where to install: https://gitlab.com/virtio-fs/virtiofsd So normally it just ends up in But |
A friendly reminder that this issue had no activity for 30 days. |
With v5.2.0, it will now find So it can be installed next to
* For Fedora (only), gvisor-tap-proxy does not need that helper symlink... Since it it installs QEMU 8.0 removed the bundled virtiofsd tool So it needs to be installed separately anyway. Note: Podman requires upgrading to QEMU 7.2.0 |
Should this issue be closed? |
The current hack will work for latest Fedora (40) and latest Ubuntu (24.04). Others will have to work around the issue with symlinks from the helper dir... /usr/local/libexec/podman/gvproxy -> /usr/local/bin/gvproxy /usr/local/libexec/podman/virtiofsd -> /usr/local/bin/virtiofsd Or wherever those dependencies are installed, like lib or libexec? They should probably also be added to the machine documentation. They are not needed when running podman locally, only podman machine. But it could be a point to build them with podman anyway, "just in case". like catatonit ? (if installed system-wide, and not just for podman) /usr/local/libexec/podman/catatonit -> /usr/local/bin/catatonit |
This comment was marked as outdated.
This comment was marked as outdated.
If I understand packaging rules, it's supposed to go in a subpackage since 5.2: https://packages.fedoraproject.org/pkgs/podman/podman-machine/ So "podman-machine" is where gvproxy/virtiofsd and even the new qemu lives. |
The version of podman managed by Fedora 40's dnf has been updated to v5.2.0. It probably happened today (2024/08/12). |
You need to install the "podman-machine" package, once it is available in Fedora: https://packages.fedoraproject.org/pkgs/podman/podman-machine/ Not sure what happened to the GA (it only has RC), but that's a Fedora question. A workaround is to create the EDIT: just a bug in the web page, it does have |
Sorry I don't understand what you posted before. But now I'm getting another error.
I have confirmed that "qemu-kvm" is installed in my environment. Are there still other required modules that have different paths that are causing the error? |
There might be other steps needed too, to set up KVM Ubuntu has a script called It doesn't have anything to do with virtiofsd, though |
I think we need a public service announcement of the form: "Are you using podman-machine on Linux (e.g. Fedora?); then Hmm...you know while I tend to agree with Paul about not hardcoding file paths, on the flip side it would be very practical to add a downstream patch (or maybe an upstream variant) that basically checks on @baude I am going to go ahead and proactively close this issue as "fixed" with the resolution "please install podman-machine", but of course feel free to reopen if you disagree! |
The same issue already existed for gvproxy, but better documentation or error messages could help... I think it is deliberately not mentioned in Podman and Podman Desktop, so that people avoid the machine VM But I could add "virtiofsd" to the notes I was keeping for v4.9, to make the instructions valid for v5.2: |
(OK I know this is a closed issue, but we can gather some quick consensus here before making a new one (or straight to a PR)) How about this: podman-machine on Linux requires |
Or... it just says "file not found"? When packaged, it will have pulled in the dependencies for you but otherwise I think putting it in the documentation is "good enough" |
cc @baude for opinions on :arrow_up |
That sounds like extra work for no benefit. And AFAIK other distros do not use a libexec dir at all so hard coding this does not work for them. Neither will it work for users installing binaries in their home dir. IMO if we do not find qemu/gvproxy/virtiofsd,etc.. we should just throw better errors in general and simply document what packages are required on what distros. |
Sorry, I'm late to this Since |
You should install |
then I'll add |
Issue Description
It seems like the recent addition of virtiofsd broke podman start on fedora. The virtiofsd executable sits in /usr/libexec and is not present in path.
Steps to reproduce the issue
Steps to reproduce the issue
1.
2.
3.
Describe the results you received
Describe the results you received
Describe the results you expected
Describe the results you expected
podman info output
If you are unable to run podman info for any reason, please provide the podman version, operating system and its version and the architecture you are running.
Podman in a container
No
Privileged Or Rootless
None
Upstream Latest Release
Yes
Additional environment details
Additional environment details
Additional information
Additional information like issue happens only occasionally or issue happens with a particular architecture or on a particular setting
The text was updated successfully, but these errors were encountered: