-
Notifications
You must be signed in to change notification settings - Fork 59
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
New Package Request: passt #1436
Comments
Sounds good to me but it should probably be a direct dependency of podman? |
Podman uses |
Considering it's just a single binary that changes behavior whether For the non-podman use cases those stacks could also just name it as a dep. |
@sbrivio-rh WDYT? |
Strictly speaking, one could also use As to whether it should be made a dependency of Podman: I haven't suggested it for "regular" Fedora because one could use For Fedora CoreOS, I guess it might make sense to make it a dependency right now. Mine isn't a very informed opinion though, I'm neither a user nor a developer of Fedora CoreOS. |
Hi, I'd appreciate not using the word "regular" here as it implies that we are "not-regular" or irregular, etc. More in openshift/machine-config-operator#3580 (comment) |
Why is this not the default yet for podman? Why should we ship something that is not the default in podman? |
I read that thread, but I haven't found a convenient way to clearly refer to Fedora in contrast with Fedora CoreOS. "Default"? "Default flavour of —"? |
It's a relatively young project and the integration was released (in Podman 4.4) just over a month ago, while slirp4netns has been there for years.
slirp4netns has some structural disadvantages. For instance, users need to choose whether to 1. preserve correct source and destination addresses for port forwarding (slirp4netns handler) but poor performance (especially for loopback connections) or 2. ditch addressing correctness (rootlesskit handler) to get better performance for loopback connections. Option 2. breaks non-local connections, option 1. breaks IPv6. There might be a ton of other reasons, but this is probably the most relevant. |
Honestly, I'm not sure what the question is? Pasta is a new network mode for rootless Podman that was introduced with Podman 4.4. Podman supports it "by default", but requires the external I don't think that whether pasta is the default network mode for rootless containers matters. Pasta is rather new; it's considered stable, but surely hasn't seen enough users yet to make it the default. Just like Podman didn't switch from CNI to Netavark/Aardvark at day one, that would have been crazy. Yet FCOS supported Netavark/Aardvark before Podman 4.0... |
I don't think we did. What makes you say that? If podman uses pasta by default if it's there, then it should require/recommend it in the RPM package and we would include it directly. Thus why I'm asking why is podman not yet requiring the pasta package. |
we have a community meeting in 30m in |
Good idea @dustymabe, will join the meeting.
Just for the record: Thanks for the clarification, I get your point now 👍 It does, just not for Fedora 37, but Fedora 38+, see https://src.fedoraproject.org/rpms/containers-common/blob/f38/f/containers-common.spec#_75 |
We discussed this in the community meeting today:
|
Adding a test for this functionality alongside the PR that adds this package would be great. |
Two test suites are available, but I'm not sure what would be the effort (and whether it's sensible at the moment) to make them automatically consumable for Fedora CoreOS tests:
|
I meant adding a test in the Fedora CoreOS config repo (https://github.com/coreos/fedora-coreos-config/tree/testing-devel/tests/kola) that would setup passt for podman via a Butane config and then create a container and verify that the network works at least. See also https://coreos.github.io/coreos-assembler/kola/ & https://coreos.github.io/coreos-assembler/kola/external-tests/. |
The actual test here would be closer to what's done in the podman test cases. |
Oh, I see. If we just want to check basic network functionality, also |
Well, the point is to test the integration of the whole stack together in a system (here Fedora CoreOS), so setting it properly as default in the settings and then creating a container and verifying that it is effectively used by default and that it works would be best. We don't want to reproduce other projects test suite, we want to have something that tests a coherent story / use case on Fedora CoreOS. |
@PhrozenByte do you plan to do the job here? Anybody else interested? Otherwise I can give it a try within a couple of weeks, but I can't guarantee at the moment. |
I'm afraid I'm not going to have enough time to look into how to add new packages to FCOS, never did that before. Would be great if someone more experienced picks this up 👍 |
@PhrozenByte
cc @sbrivio-rh |
Mind sharing the information I asked on Podman's chat (packet capture with |
By the way, this should now be fixed in upstream version 2023_03_21.1ee2f7c, Fedora 37 build: https://bodhi.fedoraproject.org/updates/FEDORA-2023-0972b1a0a9 (passt-0^20230321.g1ee2f7c-1.fc37), commit https://passt.top/passt/commit/?id=1ee2f7cada9e6f739a00d39bb9821f1ce3493d92 ("tcp: Don't reset ACK_TO_TAP_DUE on any ACK, reschedule timer as needed") |
Any updates on this? I just recently learned how to add a package to FCOS (as far as I'm not mistaken it's really just coreos/fedora-coreos-config#2420...), but I've no idea how to add a test as suggested by @travier... So, shall we add the package now and remember the test for later? |
No, sorry, it had just recently reached a respectable position in my to-do list. However:
that's great, thanks! I was afraid it would be a more involved process.
By the way, I think we should "just" run Podman's tests for pasta -- they can run outside the test suite with |
The package and a test was added in coreos/fedora-coreos-config#2420 |
The fix for this went into |
The fix for this went into |
The fix for this went into |
What, if any, are the additional dependencies on the package? (i.e. does it pull in Python, Perl, etc)
None
What is the size of the package and its dependencies?
About 429 kB
What problem are you trying to solve with this package? Or what functionality does the package provide?
passt
provides user-mode networking daemons for virtual machines and namespacesThis enables support for Podman's new rootless network mode
pasta
(Podman 4.4 and later). See man(1) ofpodman-run --network=pasta
. Also see https://passt.top/passt/about/Can the software provided by the package be run from a container? Explain why or why not.
No, it provides additional functionality for Podman.
Can the tool(s) provided by the package be helpful in debugging container runtime issues?
n/a
Can the tool(s) provided by the package be helpful in debugging networking issues?
n/a
Is it possible to layer the package onto the base OS as a day 2 operation? Explain why or why not.
Yes.
In the case of packages providing services and binaries, can the packaging be adjusted to just deliver binaries?
The package provides binaries only, see https://packages.fedoraproject.org/pkgs/passt/passt/fedora-38.html#files
Can the tool(s) provided by the package be used to do things we’d rather users not be able to do in FCOS?
Don't think so.
Does the software provided by the package have a history of CVEs?
AFAIK no.
The text was updated successfully, but these errors were encountered: