Fix: resolve a NPE caused by configmap watcher
1. lower down the watcher onClose exception log
2. correct watcher documents of service and configmap
Change-Id: I85cedf5ec5e0939b64bea6716221eed58349ace6
diff --git a/apps/kubevirt-node/app/src/main/java/org/onosproject/kubevirtnode/impl/KubernetesConfigMapWatcher.java b/apps/kubevirt-node/app/src/main/java/org/onosproject/kubevirtnode/impl/KubernetesConfigMapWatcher.java
index bac5e03..ff42589 100644
--- a/apps/kubevirt-node/app/src/main/java/org/onosproject/kubevirtnode/impl/KubernetesConfigMapWatcher.java
+++ b/apps/kubevirt-node/app/src/main/java/org/onosproject/kubevirtnode/impl/KubernetesConfigMapWatcher.java
@@ -165,10 +165,10 @@
@Override
public void onClose(WatcherException e) {
- // due to the bugs in fabric8, pod watcher might be closed,
- // we will re-instantiate the pod watcher in this case
+ // due to the bugs in fabric8, configmap watcher might be closed,
+ // we will re-instantiate the configmap watcher in this case
// FIXME: https://github.com/fabric8io/kubernetes-client/issues/2135
- log.warn("Configmap watcher OnClose, re-instantiate the POD watcher...");
+ log.info("Configmap watcher OnClose, re-instantiate the configmap watcher...");
instantiateWatcher();
}
@@ -217,7 +217,9 @@
}
private KubernetesExternalLbConfig parseKubernetesExternalLbConfig(ConfigMap configMap, String configName) {
- if (configMap.getData().get(GATEWAY_IP) == null || configMap.getData().get(RANGE_GLOBAL) == null) {
+
+ if (configMap == null || configMap.getData() == null ||
+ configMap.getData().get(GATEWAY_IP) == null || configMap.getData().get(RANGE_GLOBAL) == null) {
return null;
}
diff --git a/apps/kubevirt-node/app/src/main/java/org/onosproject/kubevirtnode/impl/KubevirtNodeWatcher.java b/apps/kubevirt-node/app/src/main/java/org/onosproject/kubevirtnode/impl/KubevirtNodeWatcher.java
index 3949d79..c3cc427 100644
--- a/apps/kubevirt-node/app/src/main/java/org/onosproject/kubevirtnode/impl/KubevirtNodeWatcher.java
+++ b/apps/kubevirt-node/app/src/main/java/org/onosproject/kubevirtnode/impl/KubevirtNodeWatcher.java
@@ -176,7 +176,7 @@
// due to the bugs in fabric8, node watcher might be closed,
// we will re-instantiate the node watcher in this case
// FIXME: https://github.com/fabric8io/kubernetes-client/issues/2135
- log.warn("Node watcher OnClose, re-instantiate the node watcher...");
+ log.info("Node watcher OnClose, re-instantiate the node watcher...");
instantiateNodeWatcher();
}