commit | 7970b7133f73e6a2d3275cfebbf47acac56c6feb | [log] [tgz] |
---|---|---|
author | Jian Li <pyguni@gmail.com> | Fri May 03 20:58:21 2019 +0900 |
committer | Jian Li <pyguni@gmail.com> | Fri May 31 10:46:17 2019 +0000 |
tree | 3218d511b663037ce8dfb4a3d24301f0c99db1db | |
parent | 44c2b12fd7c36755ef9082dbe20bec1bd1a7b504 [diff] [blame] |
Reserve POD IP address to avoid allocating duplicated IP addresses Change-Id: I0fa42d0d17a35184730e797e394502dfceae7525
diff --git a/apps/k8s-networking/app/src/main/java/org/onosproject/k8snetworking/impl/K8sIpamManager.java b/apps/k8s-networking/app/src/main/java/org/onosproject/k8snetworking/impl/K8sIpamManager.java index 5501971..7a458c8 100644 --- a/apps/k8s-networking/app/src/main/java/org/onosproject/k8snetworking/impl/K8sIpamManager.java +++ b/apps/k8s-networking/app/src/main/java/org/onosproject/k8snetworking/impl/K8sIpamManager.java
@@ -92,6 +92,18 @@ } @Override + public void reserveIp(String networkId, IpAddress ipAddress) { + if (!allocatedIps(networkId).contains(ipAddress)) { + String ipamId = networkId + "-" + ipAddress.toString(); + k8sIpamStore.removeAvailableIp(ipamId); + k8sIpamStore.createAllocatedIp( + new DefaultK8sIpam(ipamId, ipAddress, networkId)); + + log.info("Reserved the IP {}", ipAddress.toString()); + } + } + + @Override public boolean releaseIp(String networkId, IpAddress ipAddress) { IpAddress releasedIp = allocatedIps(networkId).stream() .filter(ip -> ip.equals(ipAddress))