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

Please document need for add. RPMs with CNI plugins when using podman in Fedora Silverblue 36 #2821

Closed
Unveraenderbar opened this issue Jul 1, 2022 · 8 comments
Labels
area/provider/podman Issues or PRs related to podman kind/documentation Categorizes issue or PR as related to documentation. kind/external upstream bugs

Comments

@Unveraenderbar
Copy link

Under Fedora 36 Silverblue, additional RPMs containing CNI plugins have to be installed in order to get a kind cluster up:
For release 36, the Fedora Silverblue team decided to remove the RPMs "containernetworking-plugins" and "podman-plugins" from the default OS image base layer (they were included in earlier Silverblue releases).
As a consequence, before adding these packages e.g. by

rpm-ostree install containernetworking-plugins podman-plugins

and rebooting into the extended image, kind install will fail as the internal network is not functional.
I'd like to suggest to add a note on this to the documentation on using podman as runtime for kind.

@Unveraenderbar Unveraenderbar added the kind/documentation Categorizes issue or PR as related to documentation. label Jul 1, 2022
@aojea
Copy link
Contributor

aojea commented Jul 1, 2022

But ... That means that podman network will not work... That's independent of kind

@Unveraenderbar
Copy link
Author

Yes, I think that's true... I also thought already about opening an issue against the Sivlerblue 36 OS base layer set.
But as the Fedora toolbox works w/o problems, stripping the CNI plugins from the base layer might have been done deliberately so I thought adding a note to the kind documentation could be useful.

@Unveraenderbar
Copy link
Author

Wait -- it turns out to be a consequence of upgrading podman to version 4.x in Silverblue 36, which in turn means that the default network backend is netavark and no longer CNI. So podman does not need the CNI plugins except when it finds existing containers that are configured for CNI-based networking (quite possible when upgrading a Silverblue based system to 36), in which case it falls back to CNI, and consequently fails to setup container networks due to the missing plugins.

Details are given here, and I checked that after

  • deleting all containers,
  • pinning the networking backend to netavark,
  • removing the CNI plugin RPMs from the OS image and rebooting

kind install works fine.

I'm no longer sure what the best way to document this in kind would be... maybe the procedure given above is cleaner than installing additional RPMs. OTOH, if one wants to operate an existing kind cluster over a Silverblue upgrade, there's probably no other choice than to extend the OS base layer RPM set.

@BenTheElder
Copy link
Member

BenTheElder commented Jul 5, 2022

This doesn't really sound in-scope, this sounds like the Linux distro botched upgrades and should document it or fix it ... We're not even telling podman we want any particular networking implementation just that we want a network.

@BenTheElder BenTheElder added the kind/external upstream bugs label Jul 5, 2022
@BenTheElder
Copy link
Member

I think "existing containers are not broken by OS / package upgrade" is very much something the OS / package should be handling ...

@aojea
Copy link
Contributor

aojea commented Jul 10, 2022

it seems we have to add a new additional check on the podman provider based on the linked issue #2821 (comment)

Please run and check podman info (shortcut: podman info | grep -i -A3 net) to see what networking mode you use. If it still says CNI, you should likely switch.

@BenTheElder
Copy link
Member

We could add another "known issues" entry, as we already have a section dedicated to Fedora breakages, but I think this is something that should be fixed in the upstream packaging. If podman is still defaulting to CNI as https://discussion.fedoraproject.org/t/how-to-get-podman-dns-plugin-container-name-resolution-to-work-in-fedora-coreos-36-podman-plugins-podman-dnsname/39493/6#why-does-not-it-switch-by-default-4 says, then it really ought to keep shipping the required binaries??

@BenTheElder
Copy link
Member

I think we're leaving this to podman x Fedora. This isn't a kind issue.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area/provider/podman Issues or PRs related to podman kind/documentation Categorizes issue or PR as related to documentation. kind/external upstream bugs
Projects
None yet
Development

No branches or pull requests

3 participants