Sync kubevirt port LCM with VirtualMachine resource LCM
Change-Id: I0f19817dad60e3f836cb43847f567fece4a4e6d6
diff --git a/apps/kubevirt-networking/app/src/main/java/org/onosproject/kubevirtnetworking/util/KubevirtNetworkingUtil.java b/apps/kubevirt-networking/app/src/main/java/org/onosproject/kubevirtnetworking/util/KubevirtNetworkingUtil.java
index 92104a0..4ee8fa2 100644
--- a/apps/kubevirt-networking/app/src/main/java/org/onosproject/kubevirtnetworking/util/KubevirtNetworkingUtil.java
+++ b/apps/kubevirt-networking/app/src/main/java/org/onosproject/kubevirtnetworking/util/KubevirtNetworkingUtil.java
@@ -42,6 +42,7 @@
import org.onosproject.kubevirtnode.api.KubevirtApiConfigService;
import org.onosproject.kubevirtnode.api.KubevirtNode;
import org.onosproject.kubevirtnode.api.KubevirtNodeService;
+import org.onosproject.kubevirtnode.api.KubevirtPhyInterface;
import org.onosproject.net.DeviceId;
import org.onosproject.net.Port;
import org.onosproject.net.PortNumber;
@@ -323,7 +324,8 @@
* @param pod kubevirt POD
* @return kubevirt ports attached to the POD
*/
- public static Set<KubevirtPort> getPorts(KubevirtNodeService nodeService, Set<KubevirtNetwork> networks, Pod pod) {
+ public static Set<KubevirtPort> getPorts(KubevirtNodeService nodeService,
+ Set<KubevirtNetwork> networks, Pod pod) {
try {
Map<String, String> annots = pod.getMetadata().getAnnotations();
if (annots == null) {
@@ -339,9 +341,11 @@
if (networkStatusStr == null) {
return ImmutableSet.of();
}
+
KubevirtPort.Builder builder = DefaultKubevirtPort.builder();
KubevirtNode node = nodeService.node(pod.getSpec().getNodeName());
+
if (node != null) {
builder.deviceId(node.intgBridge());
}
@@ -361,12 +365,6 @@
builder.macAddress(MacAddress.valueOf(mac))
.networkId(network.networkId());
- if (object.has(IPS)) {
- JSONArray ips = object.getJSONArray(IPS);
- String ip = (String) ips.get(0);
- builder.ipAddress(IpAddress.valueOf(ip));
- }
-
ports.add(builder.build());
}
}
@@ -549,13 +547,13 @@
* @return external patch port number
*/
public static PortNumber externalPatchPortNum(DeviceService deviceService, KubevirtNode gatewayNode) {
- String gatewayBridgeName = gatewayNode.gatewayBridgeName();
- if (gatewayBridgeName == null) {
+ KubevirtPhyInterface intf = gatewayNode.phyIntfs().stream().findFirst().orElse(null);
+ if (intf == null) {
log.warn("No external interface is attached to gateway {}", gatewayNode.hostname());
return null;
}
- String patchPortName = "int-to-" + gatewayBridgeName;
+ String patchPortName = "int-to-" + intf.network();
Port port = deviceService.getPorts(gatewayNode.intgBridge()).stream()
.filter(p -> p.isEnabled() &&
Objects.equals(p.annotations().value(PORT_NAME), patchPortName))