Fix: statically add portnumber of intg and ext bridge
1. install service flow rules for all types of services including
ClusterIP, NodePort, LoadBalancer
Change-Id: I9884c7e5dfef66e7af5497403dd3cba6c6b46b61
diff --git a/apps/k8s-networking/app/src/main/java/org/onosproject/k8snetworking/cli/K8sSyncRulesCommand.java b/apps/k8s-networking/app/src/main/java/org/onosproject/k8snetworking/cli/K8sSyncRulesCommand.java
index 097292c..2a12e66 100644
--- a/apps/k8s-networking/app/src/main/java/org/onosproject/k8snetworking/cli/K8sSyncRulesCommand.java
+++ b/apps/k8s-networking/app/src/main/java/org/onosproject/k8snetworking/cli/K8sSyncRulesCommand.java
@@ -33,8 +33,8 @@
description = "Synchronizes all kubernetes flow rules")
public class K8sSyncRulesCommand extends AbstractShellCommand {
- private static final long SLEEP_MS = 3000; // we wait 3s for init each node
- private static final long TIMEOUT_MS = 10000; // we wait 10s
+ private static final long SLEEP_MS = 10000; // we wait 10s for init each node
+ private static final long TIMEOUT_MS = 30000; // we wait 30s
private static final String SUCCESS_MSG = "Successfully synchronize flow rules for node %s!";
private static final String FAIL_MSG = "Failed to synchronize flow rules for node %s.";
diff --git a/apps/k8s-networking/app/src/main/java/org/onosproject/k8snetworking/impl/K8sRoutingArpHandler.java b/apps/k8s-networking/app/src/main/java/org/onosproject/k8snetworking/impl/K8sRoutingArpHandler.java
index 9986760..8e80419 100644
--- a/apps/k8s-networking/app/src/main/java/org/onosproject/k8snetworking/impl/K8sRoutingArpHandler.java
+++ b/apps/k8s-networking/app/src/main/java/org/onosproject/k8snetworking/impl/K8sRoutingArpHandler.java
@@ -184,6 +184,11 @@
}
private void setPodArpRequestRule(K8sNode k8sNode, boolean install) {
+ if (k8sNode.extBridgePortNum() == null) {
+ log.warn("External bridge port is disabled.");
+ return;
+ }
+
TrafficSelector selector = DefaultTrafficSelector.builder()
.matchInPort(k8sNode.extToIntgPatchPortNum())
.matchEthType(Ethernet.TYPE_ARP)
diff --git a/apps/k8s-networking/app/src/main/java/org/onosproject/k8snetworking/impl/K8sServiceHandler.java b/apps/k8s-networking/app/src/main/java/org/onosproject/k8snetworking/impl/K8sServiceHandler.java
index fd0dff0..93d913d 100644
--- a/apps/k8s-networking/app/src/main/java/org/onosproject/k8snetworking/impl/K8sServiceHandler.java
+++ b/apps/k8s-networking/app/src/main/java/org/onosproject/k8snetworking/impl/K8sServiceHandler.java
@@ -316,9 +316,7 @@
});
// setup load balancing rules using group table
- k8sServiceService.services().stream()
- .filter(s -> CLUSTER_IP.equals(s.getSpec().getType()))
- .forEach(s -> setStatelessGroupFlowRules(deviceId, s, install));
+ k8sServiceService.services().forEach(s -> setStatelessGroupFlowRules(deviceId, s, install));
}
private void setSrcDstCidrRules(DeviceId deviceId, String srcCidr,
diff --git a/apps/k8s-networking/app/src/main/java/org/onosproject/k8snetworking/web/K8sManagementWebResource.java b/apps/k8s-networking/app/src/main/java/org/onosproject/k8snetworking/web/K8sManagementWebResource.java
index 5d23fab..1b96e70 100644
--- a/apps/k8s-networking/app/src/main/java/org/onosproject/k8snetworking/web/K8sManagementWebResource.java
+++ b/apps/k8s-networking/app/src/main/java/org/onosproject/k8snetworking/web/K8sManagementWebResource.java
@@ -53,15 +53,8 @@
public class K8sManagementWebResource extends AbstractWebResource {
private final Logger log = LoggerFactory.getLogger(getClass());
- private static final String PORT_ID = "portId";
- private static final String DEVICE_ID = "deviceId";
- private static final String PORT_NUMBER = "portNumber";
- private static final String IP_ADDRESS = "ipAddress";
- private static final String MAC_ADDRESS = "macAddress";
- private static final String NETWORK_ID = "networkId";
-
- private static final long SLEEP_MIDDLE_MS = 3000; // we wait 3s
- private static final long TIMEOUT_MS = 10000; // we wait 10s
+ private static final long SLEEP_MS = 10000; // we wait 10s
+ private static final long TIMEOUT_MS = 30000; // we wait 30s
private final K8sApiConfigService configService = get(K8sApiConfigService.class);
private final K8sPodAdminService podAdminService = get(K8sPodAdminService.class);
@@ -186,7 +179,7 @@
long waitMs = timeoutExpiredMs - System.currentTimeMillis();
try {
- sleep(SLEEP_MIDDLE_MS);
+ sleep(SLEEP_MS);
} catch (InterruptedException e) {
log.error("Exception caused during node synchronization...");
}