mirror of
https://github.com/containers/podman.git
synced 2025-05-20 00:27:03 +08:00
Fix cni teardown errors
Make sure to pass the cni interface descriptions to cni teardowns. Otherwise cni cannot find the correct cache files because the interface name might not match the networks. This can only happen when network disconnect was used. Fixes #9602 Signed-off-by: Paul Holzinger <paul.holzinger@web.de>
This commit is contained in:
@ -809,7 +809,7 @@ func (r *Runtime) teardownCNI(ctr *Container) error {
|
||||
requestedMAC = ctr.config.StaticMAC
|
||||
}
|
||||
|
||||
podNetwork := r.getPodNetwork(ctr.ID(), ctr.Name(), ctr.state.NetNS.Path(), networks, ctr.config.PortMappings, requestedIP, requestedMAC, ContainerNetworkDescriptions{})
|
||||
podNetwork := r.getPodNetwork(ctr.ID(), ctr.Name(), ctr.state.NetNS.Path(), networks, ctr.config.PortMappings, requestedIP, requestedMAC, ctr.state.NetInterfaceDescriptions)
|
||||
|
||||
if err := r.netPlugin.TearDownPod(podNetwork); err != nil {
|
||||
return errors.Wrapf(err, "error tearing down CNI namespace configuration for container %s", ctr.ID())
|
||||
|
@ -193,6 +193,13 @@ var _ = Describe("Podman network connect and disconnect", func() {
|
||||
exec = podmanTest.Podman([]string{"exec", "-it", "test", "ip", "addr", "show", "eth1"})
|
||||
exec.WaitWithDefaultTimeout()
|
||||
Expect(exec.ExitCode()).To(BeZero())
|
||||
|
||||
// make sure no logrus errors are shown https://github.com/containers/podman/issues/9602
|
||||
rm := podmanTest.Podman([]string{"rm", "-f", "test"})
|
||||
rm.WaitWithDefaultTimeout()
|
||||
Expect(rm.ExitCode()).To(BeZero())
|
||||
Expect(rm.ErrorToString()).To(Equal(""))
|
||||
|
||||
})
|
||||
|
||||
It("podman network connect when not running", func() {
|
||||
|
Reference in New Issue
Block a user