Check node init status when probing node health through REST API

Support to inject controller IP address to API config.

Change-Id: Iece8a84b698ef0da9803f11d473257c84e5adc4d
(cherry picked from commit 6a08072a2c1c3094818268ebf22ffa82f9713125)
diff --git a/apps/kubevirt-node/app/src/test/java/org/onosproject/kubevirtnode/codec/KubevirtApiConfigCodecTest.java b/apps/kubevirt-node/app/src/test/java/org/onosproject/kubevirtnode/codec/KubevirtApiConfigCodecTest.java
index 32a4505..16af906 100644
--- a/apps/kubevirt-node/app/src/test/java/org/onosproject/kubevirtnode/codec/KubevirtApiConfigCodecTest.java
+++ b/apps/kubevirt-node/app/src/test/java/org/onosproject/kubevirtnode/codec/KubevirtApiConfigCodecTest.java
@@ -88,6 +88,7 @@
                 .clientKeyData("clientKeyData")
                 .serviceFqdn("kubevirt.edgestack.svc.cluster.local")
                 .apiServerFqdn("kubernetes.default.svc.cluster.local")
+                .controllerIp(IpAddress.valueOf("127.0.0.1"))
                 .build();
         ObjectNode configJson = kubevirtApiConfigCodec.encode(config, context);
         assertThat(configJson, matchesKubevirtApiConfig(config));
@@ -111,6 +112,7 @@
         assertEquals("clientKeyData", config.clientKeyData());
         assertEquals("kubevirt.edgestack.svc.cluster.local", config.serviceFqdn());
         assertEquals("kubernetes.default.svc.cluster.local", config.apiServerFqdn());
+        assertEquals("127.0.0.1", config.controllerIp().toString());
     }
 
     private KubevirtApiConfig getKubevirtApiConfig(String resourceName) throws IOException {
diff --git a/apps/kubevirt-node/app/src/test/java/org/onosproject/kubevirtnode/codec/KubevirtApiConfigJsonMatcher.java b/apps/kubevirt-node/app/src/test/java/org/onosproject/kubevirtnode/codec/KubevirtApiConfigJsonMatcher.java
index 52c488c..2163f12 100644
--- a/apps/kubevirt-node/app/src/test/java/org/onosproject/kubevirtnode/codec/KubevirtApiConfigJsonMatcher.java
+++ b/apps/kubevirt-node/app/src/test/java/org/onosproject/kubevirtnode/codec/KubevirtApiConfigJsonMatcher.java
@@ -37,6 +37,7 @@
     private static final String CLIENT_KEY_DATA = "clientKeyData";
     private static final String SERVICE_FQDN = "serviceFqdn";
     private static final String API_SERVER_FQDN = "apiServerFqdn";
+    private static final String CONTROLLER_IP = "controllerIp";
 
     private KubevirtApiConfigJsonMatcher(KubevirtApiConfig kubevirtApiConfig) {
         this.kubevirtApiConfig = kubevirtApiConfig;
@@ -142,6 +143,17 @@
             }
         }
 
+        // Controller IP
+        JsonNode jsonControllerIp = jsonNode.get(CONTROLLER_IP);
+        String controllerIp = kubevirtApiConfig.controllerIp().toString();
+
+        if (jsonControllerIp != null) {
+            if (!jsonControllerIp.asText().equals(controllerIp)) {
+                description.appendText("controller IP was " + jsonControllerIp);
+                return false;
+            }
+        }
+
         return true;
     }
 
diff --git a/apps/kubevirt-node/app/src/test/resources/org/onosproject/kubevirtnode/codec/KubevirtApiConfig.json b/apps/kubevirt-node/app/src/test/resources/org/onosproject/kubevirtnode/codec/KubevirtApiConfig.json
index b19c9e4..b95c29a 100644
--- a/apps/kubevirt-node/app/src/test/resources/org/onosproject/kubevirtnode/codec/KubevirtApiConfig.json
+++ b/apps/kubevirt-node/app/src/test/resources/org/onosproject/kubevirtnode/codec/KubevirtApiConfig.json
@@ -7,5 +7,6 @@
   "clientCertData": "clientCertData",
   "clientKeyData": "clientKeyData",
   "serviceFqdn": "kubevirt.edgestack.svc.cluster.local",
-  "apiServerFqdn": "kubernetes.default.svc.cluster.local"
+  "apiServerFqdn": "kubernetes.default.svc.cluster.local",
+  "controllerIp": "127.0.0.1"
 }
\ No newline at end of file
diff --git a/apps/kubevirt-node/app/src/test/resources/org/onosproject/kubevirtnode/web/kubevirt-api-config.json b/apps/kubevirt-node/app/src/test/resources/org/onosproject/kubevirtnode/web/kubevirt-api-config.json
index f706cc3..7a5c5f5 100644
--- a/apps/kubevirt-node/app/src/test/resources/org/onosproject/kubevirtnode/web/kubevirt-api-config.json
+++ b/apps/kubevirt-node/app/src/test/resources/org/onosproject/kubevirtnode/web/kubevirt-api-config.json
@@ -5,5 +5,6 @@
   "token": "token",
   "caCertData": "caCertData",
   "clientCertData": "clientCertData",
-  "clientKeyData": "clientKeyData"
+  "clientKeyData": "clientKeyData",
+  "controllerIp": "127.0.0.1"
 }
\ No newline at end of file