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/main/java/org/onosproject/k8snetworking/codec/K8sNetworkCodec.java b/apps/k8s-networking/app/src/main/java/org/onosproject/k8snetworking/codec/K8sNetworkCodec.java
index b9984bf..07e85da 100644
--- a/apps/k8s-networking/app/src/main/java/org/onosproject/k8snetworking/codec/K8sNetworkCodec.java
+++ b/apps/k8s-networking/app/src/main/java/org/onosproject/k8snetworking/codec/K8sNetworkCodec.java
@@ -15,8 +15,8 @@
*/
package org.onosproject.k8snetworking.codec;
+import com.fasterxml.jackson.databind.JsonNode;
import com.fasterxml.jackson.databind.node.ObjectNode;
-import org.onlab.packet.IpAddress;
import org.onosproject.codec.CodecContext;
import org.onosproject.codec.JsonCodec;
import org.onosproject.k8snetworking.api.DefaultK8sNetwork;
@@ -39,7 +39,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 static final String MISSING_MESSAGE = " is required in K8sNetwork";
@@ -51,11 +50,16 @@
ObjectNode result = context.mapper().createObjectNode()
.put(NETWORK_ID, network.networkId())
.put(NAME, network.name())
- .put(TYPE, network.type().name())
- .put(SEGMENT_ID, network.segmentId())
- .put(GATEWAY_IP, network.gatewayIp().toString())
.put(CIDR, network.cidr());
+ if (network.type() != null) {
+ result.put(TYPE, network.type().name());
+ }
+
+ if (network.segmentId() != null) {
+ result.put(SEGMENT_ID, network.segmentId());
+ }
+
if (network.mtu() != null) {
result.put(MTU, network.mtu());
}
@@ -73,23 +77,25 @@
NETWORK_ID + MISSING_MESSAGE);
String name = nullIsIllegal(json.get(NAME).asText(),
NAME + MISSING_MESSAGE);
- String type = nullIsIllegal(json.get(TYPE).asText(),
- TYPE + MISSING_MESSAGE);
- String segmentId = nullIsIllegal(json.get(SEGMENT_ID).asText(),
- SEGMENT_ID + MISSING_MESSAGE);
- String gatewayIp = nullIsIllegal(json.get(GATEWAY_IP).asText(),
- GATEWAY_IP + MISSING_MESSAGE);
String cidr = nullIsIllegal(json.get(CIDR).asText(),
CIDR + MISSING_MESSAGE);
+ JsonNode type = json.get(TYPE);
+ JsonNode segmentId = json.get(SEGMENT_ID);
+
DefaultK8sNetwork.Builder networkBuilder = DefaultK8sNetwork.builder()
.networkId(networkId)
.name(name)
- .type(K8sNetwork.Type.valueOf(type))
- .segmentId(segmentId)
- .gatewayIp(IpAddress.valueOf(gatewayIp))
.cidr(cidr);
+ if (type != null) {
+ networkBuilder.type(K8sNetwork.Type.valueOf(type.asText()));
+ }
+
+ if (segmentId != null) {
+ networkBuilder.segmentId(segmentId.asText());
+ }
+
if (json.get(MTU) != null) {
networkBuilder.mtu(json.get(MTU).asInt());
}