Initial implementation of managing IPs for kubevirt spawned VMIs
Change-Id: I68127e1fe42a142765e7696d8ce80de16d3d94a9
diff --git a/apps/kubevirt-networking/api/src/main/java/org/onosproject/kubevirtnetworking/api/DefaultKubevirtPort.java b/apps/kubevirt-networking/api/src/main/java/org/onosproject/kubevirtnetworking/api/DefaultKubevirtPort.java
index 049a336..410c098 100644
--- a/apps/kubevirt-networking/api/src/main/java/org/onosproject/kubevirtnetworking/api/DefaultKubevirtPort.java
+++ b/apps/kubevirt-networking/api/src/main/java/org/onosproject/kubevirtnetworking/api/DefaultKubevirtPort.java
@@ -32,6 +32,7 @@
private static final String NOT_NULL_MSG = "Port % cannot be null";
+ private final String networkId;
private final MacAddress macAddress;
private final IpAddress ipAddress;
private final DeviceId deviceId;
@@ -40,13 +41,15 @@
/**
* Default constructor.
*
+ * @param networkId network identifier
* @param macAddress MAC address
* @param ipAddress IP address
* @param deviceId device identifier
* @param portNumber port number
*/
- public DefaultKubevirtPort(MacAddress macAddress, IpAddress ipAddress,
+ public DefaultKubevirtPort(String networkId, MacAddress macAddress, IpAddress ipAddress,
DeviceId deviceId, PortNumber portNumber) {
+ this.networkId = networkId;
this.macAddress = macAddress;
this.ipAddress = ipAddress;
this.deviceId = deviceId;
@@ -54,6 +57,11 @@
}
@Override
+ public String networkId() {
+ return networkId;
+ }
+
+ @Override
public MacAddress macAddress() {
return macAddress;
}
@@ -92,18 +100,20 @@
return false;
}
DefaultKubevirtPort that = (DefaultKubevirtPort) o;
- return macAddress.equals(that.macAddress) && ipAddress.equals(that.ipAddress) &&
- deviceId.equals(that.deviceId) && portNumber.equals(that.portNumber);
+ return networkId.equals(that.networkId) && macAddress.equals(that.macAddress) &&
+ ipAddress.equals(that.ipAddress) && deviceId.equals(that.deviceId) &&
+ portNumber.equals(that.portNumber);
}
@Override
public int hashCode() {
- return Objects.hash(macAddress, ipAddress, deviceId, portNumber);
+ return Objects.hash(networkId, macAddress, ipAddress, deviceId, portNumber);
}
@Override
public String toString() {
return MoreObjects.toStringHelper(this)
+ .add("networkId", networkId)
.add("macAddress", macAddress)
.add("ipAddress", ipAddress)
.add("deviceId", deviceId)
@@ -125,6 +135,7 @@
*/
public static final class Builder implements KubevirtPort.Builder {
+ private String networkId;
private MacAddress macAddress;
private IpAddress ipAddress;
private DeviceId deviceId;
@@ -136,10 +147,18 @@
@Override
public KubevirtPort build() {
+ checkArgument(networkId != null, NOT_NULL_MSG, "networkId");
checkArgument(macAddress != null, NOT_NULL_MSG, "macAddress");
checkArgument(ipAddress != null, NOT_NULL_MSG, "ipAddress");
- return new DefaultKubevirtPort(macAddress, ipAddress, deviceId, portNumber);
+ return new DefaultKubevirtPort(networkId, macAddress, ipAddress,
+ deviceId, portNumber);
+ }
+
+ @Override
+ public Builder networkId(String networkId) {
+ this.networkId = networkId;
+ return this;
}
@Override