-
Notifications
You must be signed in to change notification settings - Fork 3k
Closed
Labels
kind/bugCategorizes issue or PR as related to a bug.Categorizes issue or PR as related to a bug.locked - please file new issue/PRAssist humans wanting to comment on an old issue or PR with locked comments.Assist humans wanting to comment on an old issue or PR with locked comments.pastapasta(1) bugs or featurespasta(1) bugs or features
Description
Issue Description
On a Linux system with OSPF routes, podman start/run fails with the following error:
ERRO[0000] Starting some container dependencies
ERRO[0000] "setting up Pasta: pasta failed with exit code 1:\nCouldn't set IPv4 route(s) in guest: Invalid argument\n"
Error: unable to start container "42706af169e8170399cab233d97d3b052407769123c788d59a8bb4d4acbe4010": starting some containers: internal libpod error
Error: unable to start container "b54f47f2fe46cf14337e53c6a608fc0b3d04a2f1c3d465e5db9bd90a62dcb7b3": setting up Pasta: pasta failed with exit code 1:
Couldn't set IPv4 route(s) in guest: Invalid argument
Steps to reproduce the issue
This requires setting up OSPF which may be quite a lot of work, but here's the procedure anyways.
Some useful links: Practical OSPF, FRR OSPFv2 user guide.
- Connect two Linux machines (virtual or physical) to the same subnet. For this example, the subnet is
10.20.30.0/24. - Machine A (any Linux with FRR, e.g. Fedora 40) is our helper machine. On it, install
frrand configure it to distribute a route. For this example, its IP on the subnet is10.20.30.100and the distributed route is10.40.50.0/24. - Machine B (any Linux with FRR and podman 5, e.g. Fedora 40) is the one running podman. On it, install
frrand configure it to receive the route. For this example, its IP on the subnet is10.20.30.101. - Verify the routing table on machine B now looks something like this. Notice the last route added via OSPF.
default via 10.20.30.1 dev enp1s0 proto static metric 100
10.20.30.0/24 dev enp1s0 proto kernel scope link src 10.20.30.101 metric 100
10.40.50.0/24 nhid 37 via 10.20.30.100 dev enp1s0 proto ospf metric 20
- Try to start a container on machine B:
podman run quay.io/podman/helloand observe the error. - On machine B, run
sudo systemctl stop frr.service && sudo ip route del 10.40.50.0/24to remove the OSPF route. - Try to start a container again and observe that it succeeds.
Describe the results you received
N/A
Describe the results you expected
N/A
podman info output
host:
arch: amd64
buildahVersion: 1.36.0
cgroupControllers:
- cpu
- io
- memory
- pids
cgroupManager: systemd
cgroupVersion: v2
conmon:
package: conmon-2.1.10-1.fc40.x86_64
path: /usr/bin/conmon
version: 'conmon version 2.1.10, commit: '
cpuUtilization:
idlePercent: 94.85
systemPercent: 1.01
userPercent: 4.14
cpus: 4
databaseBackend: sqlite
distribution:
distribution: fedora
variant: kde
version: "40"
eventLogger: journald
freeLocks: 2044
hostname: foo.bar.baz
idMappings:
gidmap:
- container_id: 0
host_id: 1000
size: 1
- container_id: 1
host_id: 524288
size: 65536
uidmap:
- container_id: 0
host_id: 1000
size: 1
- container_id: 1
host_id: 524288
size: 65536
kernel: 6.8.10-300.fc40.x86_64
linkmode: dynamic
logDriver: journald
memFree: 891052032
memTotal: 8299536384
networkBackend: netavark
networkBackendInfo:
backend: netavark
dns:
package: aardvark-dns-1.10.0-1.fc40.x86_64
path: /usr/libexec/podman/aardvark-dns
version: aardvark-dns 1.10.0
package: netavark-1.10.3-3.fc40.x86_64
path: /usr/libexec/podman/netavark
version: netavark 1.10.3
ociRuntime:
name: crun
package: crun-1.15-1.fc40.x86_64
path: /usr/bin/crun
version: |-
crun version 1.15
commit: e6eacaf4034e84185fd8780ac9262bbf57082278
rundir: /run/user/1000/crun
spec: 1.0.0
+SYSTEMD +SELINUX +APPARMOR +CAP +SECCOMP +EBPF +CRIU +LIBKRUN +WASM:wasmedge +YAJL
os: linux
pasta:
executable: /usr/bin/pasta
package: passt-0^20240510.g7288448-1.fc40.x86_64
version: |
pasta 0^20240510.g7288448-1.fc40.x86_64
Copyright Red Hat
GNU General Public License, version 2 or later
<https://www.gnu.org/licenses/old-licenses/gpl-2.0.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
remoteSocket:
exists: false
path: /run/user/1000/podman/podman.sock
rootlessNetworkCmd: pasta
security:
apparmorEnabled: false
capabilities: CAP_CHOWN,CAP_DAC_OVERRIDE,CAP_FOWNER,CAP_FSETID,CAP_KILL,CAP_NET_BIND_SERVICE,CAP_SETFCAP,CAP_SETGID,CAP_SETPCAP,CAP_SETUID,CAP_SYS_CHROOT
rootless: true
seccompEnabled: true
seccompProfilePath: /usr/share/containers/seccomp.json
selinuxEnabled: true
serviceIsRemote: false
slirp4netns:
executable: /usr/bin/slirp4netns
package: slirp4netns-1.2.2-2.fc40.x86_64
version: |-
slirp4netns version 1.2.2
commit: 0ee2d87523e906518d34a6b423271e4826f71faf
libslirp: 4.7.0
SLIRP_CONFIG_VERSION_MAX: 4
libseccomp: 2.5.3
swapFree: 6668939264
swapTotal: 8589930496
uptime: 311h 45m 51.00s (Approximately 12.96 days)
variant: ""
plugins:
authorization: null
log:
- k8s-file
- none
- passthrough
- journald
network:
- bridge
- macvlan
- ipvlan
volume:
- local
registries:
search:
- registry.fedoraproject.org
- registry.access.redhat.com
- docker.io
store:
configFile: /home/cyq/.config/containers/storage.conf
containerStore:
number: 2
paused: 0
running: 0
stopped: 2
graphDriverName: overlay
graphOptions: {}
graphRoot: /home/cyq/.local/share/containers/storage
graphRootAllocated: 124817354752
graphRootUsed: 24726548480
graphStatus:
Backing Filesystem: extfs
Native Overlay Diff: "true"
Supports d_type: "true"
Supports shifting: "false"
Supports volatile: "true"
Using metacopy: "false"
imageCopyTmpDir: /var/tmp
imageStore:
number: 2
runRoot: /run/user/1000/containers
transientStore: false
volumePath: /home/cyq/.local/share/containers/storage/volumes
version:
APIVersion: 5.1.0
Built: 1716940800
BuiltTime: Wed May 29 08:00:00 2024
GitCommit: ""
GoVersion: go1.22.3
Os: linux
OsArch: linux/amd64
Version: 5.1.0Podman in a container
No
Privileged Or Rootless
Rootless
Upstream Latest Release
No
Additional environment details
No response
Additional information
This seems like a very similar issue to #22192, so it likely needs to be fixed in pasta. But I'm not sure how to report directly to that project, so here's this issue.
Metadata
Metadata
Assignees
Labels
kind/bugCategorizes issue or PR as related to a bug.Categorizes issue or PR as related to a bug.locked - please file new issue/PRAssist humans wanting to comment on an old issue or PR with locked comments.Assist humans wanting to comment on an old issue or PR with locked comments.pastapasta(1) bugs or featurespasta(1) bugs or features