diff options
| author | KubeEdge Bot <48982446+kubeedge-bot@users.noreply.github.com> | 2021-02-24 19:30:24 +0800 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2021-02-24 19:30:24 +0800 |
| commit | e3eaf1c4f527f29be4c2d52f24b66419bcdd7df4 (patch) | |
| tree | 0b80e4ac2996df6ccf0244188164ca75e87c2aa9 | |
| parent | Merge pull request #2508 from GsssC/apiserver-lite (diff) | |
| parent | remove cache when configmap not found from k8s (diff) | |
| download | kubeedge-e3eaf1c4f527f29be4c2d52f24b66419bcdd7df4.tar.gz | |
Merge pull request #2583 from guanzydev/automated-cherry-pick-of-#2582-upstream-release-1.6
Automated cherry pick of #2582: remove cache when configmap not found from k8s
| -rw-r--r-- | cloud/pkg/devicecontroller/controller/downstream.go | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/cloud/pkg/devicecontroller/controller/downstream.go b/cloud/pkg/devicecontroller/controller/downstream.go index d3db754fe..c1f187191 100644 --- a/cloud/pkg/devicecontroller/controller/downstream.go +++ b/cloud/pkg/devicecontroller/controller/downstream.go @@ -741,9 +741,11 @@ func (dc *DownstreamController) deleteFromConfigMap(device *v1alpha2.Device) { // 1. no device bound to it, as Data[DeviceProfileJSON] is "{}" // 2. device instance created alone then removed, as Data[DeviceProfileJSON] is "" if nodeConfigMap.Data[DeviceProfileJSON] == "{}" || nodeConfigMap.Data[DeviceProfileJSON] == "" { - if err := dc.kubeClient.CoreV1().ConfigMaps(device.Namespace).Delete(context.Background(), nodeConfigMap.Name, metav1.DeleteOptions{}); err != nil { - klog.Errorf("failed to delete config map %s in namespace %s", nodeConfigMap.Name, device.Namespace) - return + if _, err := dc.kubeClient.CoreV1().ConfigMaps(device.Namespace).Get(context.Background(), nodeConfigMap.Name, metav1.GetOptions{}); err == nil { + if err = dc.kubeClient.CoreV1().ConfigMaps(device.Namespace).Delete(context.Background(), nodeConfigMap.Name, metav1.DeleteOptions{}); err != nil { + klog.Errorf("failed to delete config map %s in namespace %s", nodeConfigMap.Name, device.Namespace) + return + } } // remove from cache dc.configMapManager.ConfigMap.Delete(device.Spec.NodeSelector.NodeSelectorTerms[0].MatchExpressions[0].Values[0]) |
