Fix: retrieve port bridge port MAC from deviceService rather via ovsdb

1. Derive gateway IP address from POD subnet CIDR.
2. Remove the logic of injecting gateway IP address.

Change-Id: Ice44c1c4b41bc1689954041aee6441a379e5bacd
diff --git a/apps/k8s-networking/app/src/test/java/org/onosproject/k8snetworking/codec/K8sNetworkCodecTest.java b/apps/k8s-networking/app/src/test/java/org/onosproject/k8snetworking/codec/K8sNetworkCodecTest.java
index fa894de..3055a91 100644
--- a/apps/k8s-networking/app/src/test/java/org/onosproject/k8snetworking/codec/K8sNetworkCodecTest.java
+++ b/apps/k8s-networking/app/src/test/java/org/onosproject/k8snetworking/codec/K8sNetworkCodecTest.java
@@ -21,7 +21,6 @@
 import org.hamcrest.MatcherAssert;
 import org.junit.Before;
 import org.junit.Test;
-import org.onlab.packet.IpAddress;
 import org.onosproject.codec.CodecContext;
 import org.onosproject.codec.JsonCodec;
 import org.onosproject.codec.impl.CodecManager;
@@ -82,8 +81,7 @@
                 .name("network-1")
                 .segmentId("1")
                 .type(K8sNetwork.Type.VXLAN)
-                .gatewayIp(IpAddress.valueOf("10.10.10.1"))
-                .cidr("32")
+                .cidr("10.10.0.0/24")
                 .mtu(1500)
                 .build();
 
@@ -102,8 +100,8 @@
         assertEquals("network-1", network.name());
         assertEquals("1", network.segmentId());
         assertEquals("VXLAN", network.type().name());
-        assertEquals("10.10.10.1", network.gatewayIp().toString());
-        assertEquals("32", network.cidr());
+        assertEquals("10.10.0.1", network.gatewayIp().toString());
+        assertEquals("10.10.0.0/24", network.cidr());
         assertThat(network.mtu(), is(1500));
     }
 
diff --git a/apps/k8s-networking/app/src/test/java/org/onosproject/k8snetworking/codec/K8sNetworkJsonMatcher.java b/apps/k8s-networking/app/src/test/java/org/onosproject/k8snetworking/codec/K8sNetworkJsonMatcher.java
index 73f2e58..1f3526f 100644
--- a/apps/k8s-networking/app/src/test/java/org/onosproject/k8snetworking/codec/K8sNetworkJsonMatcher.java
+++ b/apps/k8s-networking/app/src/test/java/org/onosproject/k8snetworking/codec/K8sNetworkJsonMatcher.java
@@ -32,7 +32,6 @@
     private static final String TYPE = "type";
     private static final String MTU = "mtu";
     private static final String SEGMENT_ID = "segmentId";
-    private static final String GATEWAY_IP = "gatewayIp";
     private static final String CIDR = "cidr";
 
     private K8sNetworkJsonMatcher(K8sNetwork network) {
@@ -59,11 +58,13 @@
         }
 
         // check type
-        String jsonType = jsonNode.get(TYPE).asText();
-        String type = network.type().name();
-        if (!jsonType.equals(type)) {
-            description.appendText("network type was " + jsonType);
-            return false;
+        JsonNode jsonType = jsonNode.get(TYPE);
+        if (jsonType != null) {
+            String type = network.type().name();
+            if (!jsonType.asText().equals(type)) {
+                description.appendText("network type was " + jsonType);
+                return false;
+            }
         }
 
         // check MTU
@@ -75,19 +76,13 @@
         }
 
         // check segment ID
-        String jsonSegmentId = jsonNode.get(SEGMENT_ID).asText();
-        String segmentId = network.segmentId();
-        if (!jsonSegmentId.equals(segmentId)) {
-            description.appendText("segment ID was " + jsonSegmentId);
-            return false;
-        }
-
-        // check gateway IP
-        String jsonGatewayIp = jsonNode.get(GATEWAY_IP).asText();
-        String gatewayIp = network.gatewayIp().toString();
-        if (!jsonGatewayIp.equals(gatewayIp)) {
-            description.appendText("gateway IP was " + jsonGatewayIp);
-            return false;
+        JsonNode jsonSegmentId = jsonNode.get(SEGMENT_ID);
+        if (jsonSegmentId != null) {
+            String segmentId = network.segmentId();
+            if (!jsonSegmentId.asText().equals(segmentId)) {
+                description.appendText("segment ID was " + jsonSegmentId);
+                return false;
+            }
         }
 
         // check CIDR
diff --git a/apps/k8s-networking/app/src/test/java/org/onosproject/k8snetworking/impl/K8sNetworkManagerTest.java b/apps/k8s-networking/app/src/test/java/org/onosproject/k8snetworking/impl/K8sNetworkManagerTest.java
index 874899b..468f682 100644
--- a/apps/k8s-networking/app/src/test/java/org/onosproject/k8snetworking/impl/K8sNetworkManagerTest.java
+++ b/apps/k8s-networking/app/src/test/java/org/onosproject/k8snetworking/impl/K8sNetworkManagerTest.java
@@ -67,8 +67,7 @@
             .name(NETWORK_NAME)
             .type(K8sNetwork.Type.VXLAN)
             .segmentId("1")
-            .gatewayIp(IpAddress.valueOf("10.10.10.1"))
-            .cidr("32")
+            .cidr("10.10.0.0/24")
             .mtu(1500)
             .build();
     private static final K8sNetwork NETWORK_UPDATED = DefaultK8sNetwork.builder()
@@ -76,8 +75,7 @@
             .name(UPDATED_NAME)
             .type(K8sNetwork.Type.VXLAN)
             .segmentId("1")
-            .gatewayIp(IpAddress.valueOf("10.10.10.1"))
-            .cidr("32")
+            .cidr("10.10.0.0/24")
             .mtu(1500)
             .build();
 
diff --git a/apps/k8s-networking/app/src/test/java/org/onosproject/k8snetworking/web/K8sNetworkWebResourceTest.java b/apps/k8s-networking/app/src/test/java/org/onosproject/k8snetworking/web/K8sNetworkWebResourceTest.java
index 9a4ca67..77153c3 100644
--- a/apps/k8s-networking/app/src/test/java/org/onosproject/k8snetworking/web/K8sNetworkWebResourceTest.java
+++ b/apps/k8s-networking/app/src/test/java/org/onosproject/k8snetworking/web/K8sNetworkWebResourceTest.java
@@ -20,7 +20,6 @@
 import org.junit.Test;
 import org.onlab.osgi.ServiceDirectory;
 import org.onlab.osgi.TestServiceDirectory;
-import org.onlab.packet.IpAddress;
 import org.onosproject.codec.CodecService;
 import org.onosproject.codec.impl.CodecManager;
 import org.onosproject.k8snetworking.api.DefaultK8sNetwork;
@@ -80,8 +79,7 @@
                 .name("sona-network")
                 .type(K8sNetwork.Type.VXLAN)
                 .segmentId("1")
-                .cidr("10.10.10.0/24")
-                .gatewayIp(IpAddress.valueOf("10.10.10.1"))
+                .cidr("10.10.0.0/24")
                 .mtu(1500)
                 .build();
     }