Use host handler to bootstrap tunnel bridge and related ports
Change-Id: I19bb28d86620b9c42c33e0b570ff176b467d71ac
diff --git a/apps/k8s-node/app/src/main/java/org/onosproject/k8snode/impl/K8sHostManager.java b/apps/k8s-node/app/src/main/java/org/onosproject/k8snode/impl/K8sHostManager.java
index fd26763..1747ada 100644
--- a/apps/k8s-node/app/src/main/java/org/onosproject/k8snode/impl/K8sHostManager.java
+++ b/apps/k8s-node/app/src/main/java/org/onosproject/k8snode/impl/K8sHostManager.java
@@ -30,6 +30,7 @@
import org.onosproject.k8snode.api.K8sHostService;
import org.onosproject.k8snode.api.K8sHostStore;
import org.onosproject.k8snode.api.K8sHostStoreDelegate;
+import org.onosproject.net.DeviceId;
import org.onosproject.net.device.DeviceService;
import org.onosproject.store.service.StorageService;
import org.osgi.service.component.ComponentContext;
@@ -186,6 +187,25 @@
.findFirst().orElse(null);
}
+ @Override
+ public K8sHost host(DeviceId deviceId) {
+ return hostStore.hosts().stream()
+ .filter(host -> Objects.equals(host.ovsdb(), deviceId))
+ .findFirst().orElse(null);
+ }
+
+ @Override
+ public K8sHost hostByTunBridge(DeviceId deviceId) {
+ for (K8sHost host : hostStore.hosts()) {
+ long cnt = host.tunBridges().stream().filter(
+ br -> br.dpid().equals(deviceId.toString())).count();
+ if (cnt > 0) {
+ return host;
+ }
+ }
+ return null;
+ }
+
private class InternalHostStoreDelegate implements K8sHostStoreDelegate {
@Override