[ONOS-7926] Implement IPAM service to allocate IP for Kubernetes POD
Change-Id: I32fd1fffb41ec728d0be092ac5a8f555179e7a9e
diff --git a/apps/k8s-networking/api/src/main/java/org/onosproject/k8snetworking/api/DefaultK8sIpam.java b/apps/k8s-networking/api/src/main/java/org/onosproject/k8snetworking/api/DefaultK8sIpam.java
index cb488b3..605cdea 100644
--- a/apps/k8s-networking/api/src/main/java/org/onosproject/k8snetworking/api/DefaultK8sIpam.java
+++ b/apps/k8s-networking/api/src/main/java/org/onosproject/k8snetworking/api/DefaultK8sIpam.java
@@ -24,16 +24,23 @@
*/
public final class DefaultK8sIpam implements K8sIpam {
+ private final String ipamId;
private final IpAddress ipAddress;
private final String networkId;
// private constructor not intended for external invocation
- public DefaultK8sIpam(IpAddress ipAddress, String networkId) {
+ public DefaultK8sIpam(String ipamId, IpAddress ipAddress, String networkId) {
+ this.ipamId = ipamId;
this.ipAddress = ipAddress;
this.networkId = networkId;
}
@Override
+ public String ipamId() {
+ return ipamId;
+ }
+
+ @Override
public IpAddress ipAddress() {
return ipAddress;
}
@@ -52,18 +59,20 @@
return false;
}
DefaultK8sIpam that = (DefaultK8sIpam) o;
- return Objects.equal(ipAddress, that.ipAddress) &&
+ return Objects.equal(ipamId, that.ipamId) &&
+ Objects.equal(ipAddress, that.ipAddress) &&
Objects.equal(networkId, that.networkId);
}
@Override
public int hashCode() {
- return Objects.hashCode(ipAddress, networkId);
+ return Objects.hashCode(ipamId, ipAddress, networkId);
}
@Override
public String toString() {
return MoreObjects.toStringHelper(this)
+ .add("ipamId", ipamId)
.add("ipAddress", ipAddress)
.add("networkId", networkId)
.toString();