summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKubeEdge Bot <48982446+kubeedge-bot@users.noreply.github.com>2021-02-24 19:30:24 +0800
committerGitHub <noreply@github.com>2021-02-24 19:30:24 +0800
commite3eaf1c4f527f29be4c2d52f24b66419bcdd7df4 (patch)
tree0b80e4ac2996df6ccf0244188164ca75e87c2aa9
parentMerge pull request #2508 from GsssC/apiserver-lite (diff)
parentremove cache when configmap not found from k8s (diff)
downloadkubeedge-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.go8
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])