diff options
author | Paul Holzinger <pholzing@redhat.com> | 2021-10-04 16:00:43 +0200 |
---|---|---|
committer | Paul Holzinger <pholzing@redhat.com> | 2021-10-04 16:38:52 +0200 |
commit | a726043d0b5c4ff9e59b01f2a48c575d53d67ed0 (patch) | |
tree | 2dfdc0fce30728f025ebaa0d8533af036c188fcb /libpod/runtime.go | |
parent | 36821d302e3787a42d6eefdbd0bdbb6d9da261fb (diff) | |
download | podman-a726043d0b5c4ff9e59b01f2a48c575d53d67ed0.tar.gz podman-a726043d0b5c4ff9e59b01f2a48c575d53d67ed0.tar.bz2 podman-a726043d0b5c4ff9e59b01f2a48c575d53d67ed0.zip |
CNI networks: reload networks if needed
The current implementation of the CNI network interface only loads the
networks on the first call and saves them in a map. This is done to safe
performance and not having to reload all configs every time which will be
costly for many networks.
The problem with this approach is that if a network is created by
another process it will not be picked up by the already running podman
process. This is not a problem for the short lived podman commands but
it is problematic for the podman service.
To make sure we always have the actual networks store the mtime of the
config directory. If it changed since the last read we have to read
again.
Fixes #11828
Signed-off-by: Paul Holzinger <pholzing@redhat.com>
Diffstat (limited to 'libpod/runtime.go')
-rw-r--r-- | libpod/runtime.go | 3 |
1 files changed, 1 insertions, 2 deletions
diff --git a/libpod/runtime.go b/libpod/runtime.go index 27885bf5c..855f3a9f9 100644 --- a/libpod/runtime.go +++ b/libpod/runtime.go @@ -489,8 +489,7 @@ func makeRuntime(ctx context.Context, runtime *Runtime) (retErr error) { DefaultNetwork: runtime.config.Network.DefaultNetwork, DefaultSubnet: runtime.config.Network.DefaultSubnet, IsMachine: runtime.config.Engine.MachineEnabled, - // TODO use cni.lock - LockFile: filepath.Join(runtime.config.Network.NetworkConfigDir, "cni1.lock"), + LockFile: filepath.Join(runtime.config.Network.NetworkConfigDir, "cni.lock"), }) if err != nil { return errors.Wrapf(err, "could not create network interface") |