Skip to content

CNI Deprecation is a Bad Decision – Request to Retain Support #25730

@vxtls

Description

@vxtls

Feature request description

I recently noticed in cni/README.md that the CNI backend is officially marked for removal in Podman 5.0. In my opinion, this is a bad decision that could negatively impact many users and workflows.
CNI (Container Network Interface) is a presence to be reckoned with in the world of containerised technologies. It has become the standard choice for many container orchestration systems such as Kubernetes (K8s). So why can't we easily remove the CNI? Here are some key reasons.

Widespread compatibility to ensure ecosystem stability

CNI is a widely adopted standard that is not only adopted by mainstream container orchestration systems such as Kubernetes, but also plays an important role in other container platforms. If CNI is removed, users will have to shift to Netavark, a project developed and maintained primarily by Red Hat. Such a shift would reduce interoperability between different ecosystems, especially in non-Red Hat environments.

Avoid Vendor Lock-In, Keep It Open

Removing CNI may cause Podman to become too dependent on Red Hat's specific networking stack. In an open container ecosystem, we should prioritise open standards over proprietary solutions. Many organisations have built existing infrastructure and automated processes based on CNI, and removing CNI will force them to migrate unnecessarily, limiting user choice.

Podman's application scope extends far beyond the Red Hat ecosystem

Podman is not limited to OpenShift and Red Hat-based distributions. Many users are running Podman alongside Kubernetes, which requires CNI to handle networking. Abandoning CNI may leave users who rely on Podman for cross-platform container workflows feeling isolated.

Flexibility and the importance of user choice*

While Netavark may bring some advantages, users should not be forced to accept a single solution. Keeping CNI as an optional backend ensures that Podman can remain compatible with a wider range of infrastructure.

To summarise, the presence of CNI as a key component of the container network is essential to ensure compatibility between different container orchestration systems, avoid vendor lock-in, and maintain flexible options for users. As such, it should not be removed lightly.                

Suggest potential solution

Please reconsider the decision to remove CNI and keep it as an optional networking backend. While Netavark can be the default, CNI should remain available to support users who rely on it for broader container orchestration compatibility.
Would the maintainers be open to discussing a way to retain CNI support in Podman?

Have you considered any alternatives?

I've used docker, but docker's bootstrapping, needing root privileges to run, and having a central daemon is something I don't like, so that said I use podman

Additional context

Add any other context or screenshots about the feature request here.

Metadata

Metadata

Assignees

Labels

kind/featureCategorizes issue or PR as related to a new feature.locked - please file new issue/PRAssist humans wanting to comment on an old issue or PR with locked comments.networkNetworking related issue or feature

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions