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...");
             }
diff --git a/apps/k8s-node/api/src/main/java/org/onosproject/k8snode/api/DefaultK8sNode.java b/apps/k8s-node/api/src/main/java/org/onosproject/k8snode/api/DefaultK8sNode.java
index 551a339..7e4b4bc 100644
--- a/apps/k8s-node/api/src/main/java/org/onosproject/k8snode/api/DefaultK8sNode.java
+++ b/apps/k8s-node/api/src/main/java/org/onosproject/k8snode/api/DefaultK8sNode.java
@@ -373,7 +373,7 @@
 
     @Override
     public PortNumber intgBridgePortNum() {
-        return portNumber(intgBridge, intgBridgePortName());
+        return PortNumber.LOCAL;
     }
 
     @Override
@@ -384,7 +384,6 @@
     @Override
     public PortNumber intgToLocalPatchPortNum() {
         return portNumber(intgBridge, intgToLocalPatchPortName());
-
     }
 
     @Override
@@ -409,10 +408,7 @@
 
     @Override
     public PortNumber extBridgePortNum() {
-        if (this.extIntf == null) {
-            return null;
-        }
-        return portNumber(extBridge, extBridgePortName());
+        return PortNumber.LOCAL;
     }
 
     @Override