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))