[ONOS-7926] Implement IPAM service to allocate IP for Kubernetes POD
Change-Id: I32fd1fffb41ec728d0be092ac5a8f555179e7a9e
diff --git a/apps/k8s-networking/app/src/main/java/org/onosproject/k8snetworking/codec/K8sIpamCodec.java b/apps/k8s-networking/app/src/main/java/org/onosproject/k8snetworking/codec/K8sIpamCodec.java
index 695156c..8785906 100644
--- a/apps/k8s-networking/app/src/main/java/org/onosproject/k8snetworking/codec/K8sIpamCodec.java
+++ b/apps/k8s-networking/app/src/main/java/org/onosproject/k8snetworking/codec/K8sIpamCodec.java
@@ -34,6 +34,7 @@
private final Logger log = getLogger(getClass());
+ private static final String IPAM_ID = "ipamId";
private static final String IP_ADDRESS = "ipAddress";
private static final String NETWORK_ID = "networkId";
@@ -44,6 +45,7 @@
checkNotNull(ipam, "Kubernetes IPAM cannot be null");
return context.mapper().createObjectNode()
+ .put(IPAM_ID, ipam.ipamId())
.put(IP_ADDRESS, ipam.ipAddress().toString())
.put(NETWORK_ID, ipam.networkId());
}
@@ -54,11 +56,13 @@
return null;
}
+ String ipamId = nullIsIllegal(json.get(IPAM_ID).asText(),
+ IPAM_ID + MISSING_MESSAGE);
String ipAddress = nullIsIllegal(json.get(IP_ADDRESS).asText(),
IP_ADDRESS + MISSING_MESSAGE);
String networkId = nullIsIllegal(json.get(NETWORK_ID).asText(),
NETWORK_ID + MISSING_MESSAGE);
- return new DefaultK8sIpam(IpAddress.valueOf(ipAddress), networkId);
+ return new DefaultK8sIpam(ipamId, IpAddress.valueOf(ipAddress), networkId);
}
}