Add VM name field in kubevirt port object, expose via CLI and REST
Change-Id: I0ac84073fa7692862314fdf8862b4e3a256dd2d8
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 ccd35e9..493d80a 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
@@ -37,6 +37,7 @@
private static final String NOT_NULL_MSG = "Port % cannot be null";
+ private final String vmName;
private final String networkId;
private final MacAddress macAddress;
private final IpAddress ipAddress;
@@ -47,6 +48,7 @@
/**
* Default constructor.
*
+ * @param vmName VM name
* @param networkId network identifier
* @param macAddress MAC address
* @param ipAddress IP address
@@ -54,8 +56,9 @@
* @param portNumber port number
* @param securityGroups security groups
*/
- public DefaultKubevirtPort(String networkId, MacAddress macAddress, IpAddress ipAddress,
+ public DefaultKubevirtPort(String vmName, String networkId, MacAddress macAddress, IpAddress ipAddress,
DeviceId deviceId, PortNumber portNumber, Set<String> securityGroups) {
+ this.vmName = vmName;
this.networkId = networkId;
this.macAddress = macAddress;
this.ipAddress = ipAddress;
@@ -65,6 +68,11 @@
}
@Override
+ public String vmName() {
+ return vmName;
+ }
+
+ @Override
public String networkId() {
return networkId;
}
@@ -122,6 +130,7 @@
@Override
public KubevirtPort updateIpAddress(IpAddress updateIpAddress) {
return new Builder()
+ .vmName(vmName)
.networkId(networkId)
.macAddress(macAddress)
.ipAddress(updateIpAddress)
@@ -134,6 +143,7 @@
@Override
public KubevirtPort updatePortNumber(PortNumber updatedPortNumber) {
return new Builder()
+ .vmName(vmName)
.networkId(networkId)
.macAddress(macAddress)
.ipAddress(ipAddress)
@@ -146,6 +156,7 @@
@Override
public KubevirtPort updateDeviceId(DeviceId updatedDeviceId) {
return new Builder()
+ .vmName(vmName)
.networkId(networkId)
.macAddress(macAddress)
.ipAddress(ipAddress)
@@ -167,6 +178,7 @@
@Override
public KubevirtPort updateSecurityGroups(Set<String> sgs) {
return new Builder()
+ .vmName(vmName)
.networkId(networkId)
.macAddress(macAddress)
.ipAddress(ipAddress)
@@ -185,19 +197,21 @@
return false;
}
DefaultKubevirtPort that = (DefaultKubevirtPort) o;
- return networkId.equals(that.networkId) && macAddress.equals(that.macAddress) &&
- ipAddress.equals(that.ipAddress) && deviceId.equals(that.deviceId) &&
- portNumber.equals(that.portNumber) && securityGroups.equals(that.securityGroups);
+ return vmName.equals(that.vmName) && networkId.equals(that.networkId) &&
+ macAddress.equals(that.macAddress) && ipAddress.equals(that.ipAddress) &&
+ deviceId.equals(that.deviceId) && portNumber.equals(that.portNumber) &&
+ securityGroups.equals(that.securityGroups);
}
@Override
public int hashCode() {
- return Objects.hash(networkId, macAddress, ipAddress, deviceId, portNumber, securityGroups);
+ return Objects.hash(vmName, networkId, macAddress, ipAddress, deviceId, portNumber, securityGroups);
}
@Override
public String toString() {
return MoreObjects.toStringHelper(this)
+ .add("vmName", vmName)
.add("networkId", networkId)
.add("macAddress", macAddress)
.add("ipAddress", ipAddress)
@@ -221,6 +235,7 @@
*/
public static final class Builder implements KubevirtPort.Builder {
+ private String vmName;
private String networkId;
private MacAddress macAddress;
private IpAddress ipAddress;
@@ -234,11 +249,18 @@
@Override
public KubevirtPort build() {
+ checkArgument(vmName != null, NOT_NULL_MSG, "vmName");
checkArgument(networkId != null, NOT_NULL_MSG, "networkId");
checkArgument(macAddress != null, NOT_NULL_MSG, "macAddress");
- return new DefaultKubevirtPort(networkId, macAddress, ipAddress,
- deviceId, portNumber, securityGroups);
+ return new DefaultKubevirtPort(vmName, networkId, macAddress,
+ ipAddress, deviceId, portNumber, securityGroups);
+ }
+
+ @Override
+ public KubevirtPort.Builder vmName(String vmName) {
+ this.vmName = vmName;
+ return this;
}
@Override
diff --git a/apps/kubevirt-networking/api/src/main/java/org/onosproject/kubevirtnetworking/api/KubevirtPort.java b/apps/kubevirt-networking/api/src/main/java/org/onosproject/kubevirtnetworking/api/KubevirtPort.java
index 3f19640..48c75d4 100644
--- a/apps/kubevirt-networking/api/src/main/java/org/onosproject/kubevirtnetworking/api/KubevirtPort.java
+++ b/apps/kubevirt-networking/api/src/main/java/org/onosproject/kubevirtnetworking/api/KubevirtPort.java
@@ -28,6 +28,13 @@
public interface KubevirtPort {
/**
+ * Returns the name of VM where the kubevirt port is attached.
+ *
+ * @return VM name
+ */
+ String vmName();
+
+ /**
* Returns the network identifier associated with the port.
*
* @return network identifier
@@ -128,6 +135,14 @@
KubevirtPort build();
/**
+ * Returns port builder with supplied VM name.
+ *
+ * @param vmName VM name
+ * @return port builder
+ */
+ Builder vmName(String vmName);
+
+ /**
* Returns port builder with supplied network identifier.
*
* @param networkId network identifier