Manage k8s API config life cycle, bootstrap k8s node using k8s client
Change-Id: I9926c6d4903da514b66a3bcbe05358c605c9cc1a
diff --git a/apps/k8s-node/app/src/main/java/org/onosproject/k8snode/codec/K8sApiConfigCodec.java b/apps/k8s-node/app/src/main/java/org/onosproject/k8snode/codec/K8sApiConfigCodec.java
index 5e0cb27..a65f47d 100644
--- a/apps/k8s-node/app/src/main/java/org/onosproject/k8snode/codec/K8sApiConfigCodec.java
+++ b/apps/k8s-node/app/src/main/java/org/onosproject/k8snode/codec/K8sApiConfigCodec.java
@@ -26,6 +26,7 @@
import static org.onlab.util.Tools.nullIsIllegal;
import static org.onosproject.k8snode.api.K8sApiConfig.Scheme.HTTPS;
+import static org.onosproject.k8snode.api.K8sApiConfig.State.DISCONNECTED;
/**
* Kubernetes API server config codec used for serializing and de-serializing JSON string.
@@ -35,6 +36,7 @@
private static final String SCHEME = "scheme";
private static final String IP_ADDRESS = "ipAddress";
private static final String PORT = "port";
+ private static final String STATE = "state";
private static final String TOKEN = "token";
private static final String CA_CERT_DATA = "caCertData";
private static final String CLIENT_CERT_DATA = "clientCertData";
@@ -47,7 +49,8 @@
ObjectNode node = context.mapper().createObjectNode()
.put(SCHEME, entity.scheme().name())
.put(IP_ADDRESS, entity.ipAddress().toString())
- .put(PORT, entity.port());
+ .put(PORT, entity.port())
+ .put(STATE, entity.state().name());
if (entity.scheme() == HTTPS) {
node.put(TOKEN, entity.token())
@@ -90,7 +93,8 @@
K8sApiConfig.Builder builder = DefaultK8sApiConfig.builder()
.scheme(scheme)
.ipAddress(ipAddress)
- .port(port);
+ .port(port)
+ .state(DISCONNECTED);
JsonNode tokenJson = json.get(TOKEN);
JsonNode caCertDataJson = json.get(CA_CERT_DATA);
@@ -112,7 +116,6 @@
clientKeyData = nullIsIllegal(clientKeyDataJson.asText(),
CLIENT_KEY_DATA + MISSING_MESSAGE);
-
} else {
if (tokenJson != null) {
token = tokenJson.asText();