[ONOS-7786] Support to retrieve metadata from virtual instances

Change-Id: Ieb3658ba06790b91cbe8b3075e0f64c5a86ee700
diff --git a/apps/openstacknetworking/app/src/main/java/org/onosproject/openstacknetworking/impl/InstancePortManager.java b/apps/openstacknetworking/app/src/main/java/org/onosproject/openstacknetworking/impl/InstancePortManager.java
index 645a86d..476db2b 100644
--- a/apps/openstacknetworking/app/src/main/java/org/onosproject/openstacknetworking/impl/InstancePortManager.java
+++ b/apps/openstacknetworking/app/src/main/java/org/onosproject/openstacknetworking/impl/InstancePortManager.java
@@ -32,8 +32,10 @@
 import org.onosproject.core.ApplicationId;
 import org.onosproject.core.CoreService;
 import org.onosproject.event.ListenerRegistry;
+import org.onosproject.net.DeviceId;
 import org.onosproject.net.Host;
 import org.onosproject.net.HostLocation;
+import org.onosproject.net.PortNumber;
 import org.onosproject.net.host.HostEvent;
 import org.onosproject.net.host.HostListener;
 import org.onosproject.net.host.HostService;
@@ -84,6 +86,8 @@
     private static final String ERR_NULL_MAC_ADDRESS = "MAC address cannot be null";
     private static final String ERR_NULL_IP_ADDRESS = "IP address cannot be null";
     private static final String ERR_NULL_NETWORK_ID = "Network ID cannot be null";
+    private static final String ERR_NULL_DEVICE_ID = "Device ID cannot be null";
+    private static final String ERR_NULL_PORT_NUMBER = "Port number cannot be null";
 
     private static final String ERR_IN_USE = " still in use";
 
@@ -211,6 +215,17 @@
     }
 
     @Override
+    public InstancePort instancePort(DeviceId deviceId, PortNumber portNumber) {
+        checkNotNull(deviceId, ERR_NULL_DEVICE_ID);
+        checkNotNull(portNumber, ERR_NULL_PORT_NUMBER);
+
+        return instancePortStore.instancePorts().stream()
+                .filter(port -> port.deviceId().equals(deviceId))
+                .filter(port -> port.portNumber().equals(portNumber))
+                .findFirst().orElse(null);
+    }
+
+    @Override
     public Set<InstancePort> instancePorts() {
         Set<InstancePort> ports = instancePortStore.instancePorts();