diff --git a/calico-vpp-agent/cni/cni_server.go b/calico-vpp-agent/cni/cni_server.go index 1f099f8c..a3b82a09 100644 --- a/calico-vpp-agent/cni/cni_server.go +++ b/calico-vpp-agent/cni/cni_server.go @@ -191,6 +191,8 @@ func (s *Server) rescanState() { if err != nil { s.log.Errorf("Could not remove %s, %s", config.CniServerStateFilename, err) } + // if the cniServerState file is corrupted, we remove it and give up. + return } s.log.Infof("RescanState: re-creating all interfaces") @@ -216,6 +218,13 @@ func (s *Server) rescanState() { } } } + err = model.PersistCniServerState( + model.NewCniServerState(s.podInterfaceMap), + config.CniServerStateFilename, + ) + if err != nil { + s.log.Errorf("CNI state persist errored %v", err) + } } func (s *Server) DelRedirectToHostOnInterface(swIfIndex uint32) error {