paritytech / zombienet

A cli tool to easily spawn ephemeral Polkadot/Substrate networks and perform tests against them.
https://paritytech.github.io/zombienet/
GNU General Public License v3.0
159 stars 91 forks source link

Add support for podman v4 #1240

Open wirednkod opened 1 year ago

wirednkod commented 1 year ago

We could deprecate the v2 of podman and based on podman version(podman version -f "{{ .Version }}"), modify the code to remove the _pod suffix

doutv commented 1 year ago

I think podman v4 should be added to fix the following error:

Env: Ubuntu 22.04 + podman 3.4.4 + zombienet v1.3.66

zombienet spawn test.toml -p podman

Error: Command failed with exit code 125: podman play kube --network zombie-97ce0b2b /tmp/zombie-97ce0b2b_-2218-iQ8nDuFDogC3/prometheus.yaml
time="2023-09-05T10:45:03+08:00" level=warning msg="Error validating CNI config file /home/jason/.config/cni/net.d/zombie-97ce0b2b.conflist: [plugin bridge does not support config version \"1.0.0\" plugin portmap does not support config version \"1.0.0\" plugin firewall does not support config version \"1.0.0\" plugin tuning does not support config version \"1.0.0\"]"

This is an existing bug in podman 3.4.4: https://bugs.launchpad.net/ubuntu/+source/libpod/+bug/2024394 https://github.com/containers/podman/issues/13396

After manually installing the version containernetworking-plugins_1.1.1+ds1-1_amd64.deb, the problem is solved.

curl -O http://archive.ubuntu.com/ubuntu/pool/universe/g/golang-github-containernetworking-plugins/containernetworking-plugins_1.1.1+ds1-1_amd64.deb

dpkg -i containernetworking-plugins_1.1.1+ds1-1_amd64.deb

The test.toml does not matter:

[relaychain]
default_image = "docker.io/parity/polkadot:latest"
default_command = "polkadot"
default_args = [ "-lparachain=debug" ]

chain = "rococo-local"

  [[relaychain.nodes]]
  name = "alice"
  validator = true

  [[relaychain.nodes]]
  name = "bob"
  image = "docker.io/parity/polkadot:latest"
  validator = true
  args = ["--database=paritydb-experimental"]
lrazovic commented 10 months ago

Do you have any updates regarding this issue? Given the rising popularity of Podman Desktop (https://podman-desktop.io/), supporting the latest major release of Podman would be extremely beneficial. This would facilitate users in initiating chains locally, eliminating the necessity to install Podman 3 or rely on Kubernetes or the native provider.

pepoviola commented 10 months ago

Hi @lrazovic, thanks for your feedback. There are some efforts to support podman v4 but at the moment we are more focused on the next version of zombienet (that will support podman in the near future also). I will ping you when we have a beta release ready if you want.