Implement east-west communication for k8s network

Change-Id: Ibac91b7a856e35a26cf0e0f23d6d01f65197625d
diff --git a/apps/k8s-networking/app/src/main/java/org/onosproject/k8snetworking/impl/K8sSwitchingHostProvider.java b/apps/k8s-networking/app/src/main/java/org/onosproject/k8snetworking/impl/K8sSwitchingHostProvider.java
index f7f78c9..1dec9d1 100644
--- a/apps/k8s-networking/app/src/main/java/org/onosproject/k8snetworking/impl/K8sSwitchingHostProvider.java
+++ b/apps/k8s-networking/app/src/main/java/org/onosproject/k8snetworking/impl/K8sSwitchingHostProvider.java
@@ -22,7 +22,7 @@
 import org.onlab.util.Tools;
 import org.onosproject.core.CoreService;
 import org.onosproject.k8snetworking.api.K8sNetwork;
-import org.onosproject.k8snetworking.api.K8sNetworkService;
+import org.onosproject.k8snetworking.api.K8sNetworkAdminService;
 import org.onosproject.k8snetworking.api.K8sPort;
 import org.onosproject.k8snode.api.K8sNode;
 import org.onosproject.k8snode.api.K8sNodeEvent;
@@ -79,8 +79,8 @@
     private final Logger log = LoggerFactory.getLogger(getClass());
 
     private static final String ERR_ADD_HOST = "Failed to add host: ";
-    private static final String SONA_HOST_SCHEME = "sona";
-    private static final int PORT_PREFIX_LENGTH = 3;
+    private static final String SONA_HOST_SCHEME = "sona-k8s";
+    private static final int PORT_PREFIX_LENGTH = 4;
 
     @Reference(cardinality = ReferenceCardinality.MANDATORY)
     protected CoreService coreService;
@@ -98,7 +98,7 @@
     protected MastershipService mastershipService;
 
     @Reference(cardinality = ReferenceCardinality.MANDATORY)
-    protected K8sNetworkService k8sNetworkService;
+    protected K8sNetworkAdminService k8sNetworkService;
 
     @Reference(cardinality = ReferenceCardinality.MANDATORY)
     protected K8sNodeService k8sNodeService;
@@ -174,6 +174,11 @@
 
         long createTime = System.currentTimeMillis();
 
+        // update k8s port number by referring to ONOS port number
+
+        k8sNetworkService.updatePort(k8sPort.updatePortNumber(port.number())
+                                            .updateState(K8sPort.State.ACTIVE));
+
         // we check whether the host already attached to same locations
         Host host = hostService.getHost(hostId);
 
@@ -291,6 +296,10 @@
                 return;
             }
 
+            log.debug("K8s port {} is updated at {}",
+                    event.port().annotations().value(PORT_NAME),
+                    event.subject().id());
+
             if (!event.port().isEnabled()) {
                 processPortRemoval(event);
             } else if (event.port().isEnabled()) {
@@ -303,7 +312,11 @@
                 return;
             }
 
-            processPortAddition(event);
+            log.debug("K8s port {} is detected from {}",
+                    event.port().annotations().value(PORT_NAME),
+                    event.subject().id());
+
+            processPortAdded(event.port());
         }
 
         private void processPortRemoval(DeviceEvent event) {
@@ -311,7 +324,11 @@
                 return;
             }
 
-            processPortRemoval(event);
+            log.debug("K8s port {} is removed from {}",
+                    event.port().annotations().value(PORT_NAME),
+                    event.subject().id());
+
+            processPortRemoved(event.port());
         }
     }