In vnet CLI, separates virutal port creation and binding operations.
Original usage with specifiying a phyiscal port is also in supporting.
Changes.
1. vnet-create-port allow to create virtual port
without a specific virtual port
2. vnet-bind-port command is added to newly bind or to update
3. Virtual binding point is changed from Port to ConnectPoint.
Change-Id: I4c8f9a2b9b2786ba519ead3559d7f005390fee86
diff --git a/web/api/src/main/java/org/onosproject/rest/resources/VirtualNetworkWebResource.java b/web/api/src/main/java/org/onosproject/rest/resources/VirtualNetworkWebResource.java
index dca328d..073543a 100644
--- a/web/api/src/main/java/org/onosproject/rest/resources/VirtualNetworkWebResource.java
+++ b/web/api/src/main/java/org/onosproject/rest/resources/VirtualNetworkWebResource.java
@@ -27,12 +27,8 @@
import org.onosproject.incubator.net.virtual.VirtualNetworkAdminService;
import org.onosproject.incubator.net.virtual.VirtualNetworkService;
import org.onosproject.incubator.net.virtual.VirtualPort;
-import org.onosproject.net.DefaultAnnotations;
-import org.onosproject.net.DefaultDevice;
-import org.onosproject.net.DefaultPort;
-import org.onosproject.net.Device;
+import org.onosproject.net.ConnectPoint;
import org.onosproject.net.DeviceId;
-import org.onosproject.net.Port;
import org.onosproject.net.PortNumber;
import org.onosproject.rest.AbstractWebResource;
@@ -269,11 +265,9 @@
JsonNode specifiedPhysPortNum = jsonTree.get("physPortNum");
final NetworkId nid = NetworkId.networkId(networkId);
DeviceId vdevId = DeviceId.deviceId(virtDeviceId);
- DefaultAnnotations annotations = DefaultAnnotations.builder().build();
- Device physDevice = new DefaultDevice(null, DeviceId.deviceId(specifiedPhysDeviceId.asText()),
- null, null, null, null, null, null, annotations);
- Port realizedBy = new DefaultPort(physDevice,
- PortNumber.portNumber(specifiedPhysPortNum.asText()), true);
+
+ ConnectPoint realizedBy = new ConnectPoint(DeviceId.deviceId(specifiedPhysDeviceId.asText()),
+ PortNumber.portNumber(specifiedPhysPortNum.asText()));
VirtualPort vport = vnetAdminService.createVirtualPort(nid, vdevId,
PortNumber.portNumber(specifiedPortNum.asText()), realizedBy);
UriBuilder locationBuilder = uriInfo.getBaseUriBuilder()
diff --git a/web/api/src/test/java/org/onosproject/rest/resources/VirtualNetworkWebResourceTest.java b/web/api/src/test/java/org/onosproject/rest/resources/VirtualNetworkWebResourceTest.java
index 720bd9a..99ab656 100644
--- a/web/api/src/test/java/org/onosproject/rest/resources/VirtualNetworkWebResourceTest.java
+++ b/web/api/src/test/java/org/onosproject/rest/resources/VirtualNetworkWebResourceTest.java
@@ -53,13 +53,11 @@
import org.onosproject.net.ConnectPoint;
import org.onosproject.net.DefaultAnnotations;
import org.onosproject.net.DefaultDevice;
-import org.onosproject.net.DefaultPort;
import org.onosproject.net.Device;
import org.onosproject.net.DeviceId;
import org.onosproject.net.HostId;
import org.onosproject.net.HostLocation;
import org.onosproject.net.NetTestTools;
-import org.onosproject.net.Port;
import org.onosproject.net.PortNumber;
import javax.ws.rs.BadRequestException;
@@ -77,16 +75,8 @@
import java.util.function.BiPredicate;
import java.util.function.Function;
-import static org.easymock.EasyMock.anyObject;
-import static org.easymock.EasyMock.createMock;
-import static org.easymock.EasyMock.expect;
-import static org.easymock.EasyMock.expectLastCall;
-import static org.easymock.EasyMock.replay;
-import static org.easymock.EasyMock.verify;
-import static org.hamcrest.Matchers.containsString;
-import static org.hamcrest.Matchers.hasSize;
-import static org.hamcrest.Matchers.is;
-import static org.hamcrest.Matchers.notNullValue;
+import static org.easymock.EasyMock.*;
+import static org.hamcrest.Matchers.*;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertThat;
import static org.junit.Assert.fail;
@@ -136,13 +126,13 @@
private final Device dev2 = NetTestTools.device("dev2");
private final Device dev22 = NetTestTools.device("dev22");
- private final Port port1 = new DefaultPort(dev1, portNumber(1), true);
- private final Port port2 = new DefaultPort(dev2, portNumber(2), true);
+ private final ConnectPoint cp1 = new ConnectPoint(dev1.id(), portNumber(1));
+ private final ConnectPoint cp2 = new ConnectPoint(dev2.id(), portNumber(2));
private final VirtualPort vport22 = new DefaultVirtualPort(networkId3,
- dev22, portNumber(22), port1);
+ dev22, portNumber(22), cp1);
private final VirtualPort vport23 = new DefaultVirtualPort(networkId3,
- dev22, portNumber(23), port2);
+ dev22, portNumber(23), cp2);
private final ConnectPoint cp11 = NetTestTools.connectPoint(devId1.toString(), 21);
private final ConnectPoint cp21 = NetTestTools.connectPoint(devId2.toString(), 22);
@@ -766,8 +756,8 @@
(vport, s) -> s.equals(ID) ? vport.networkId().toString()
: s.equals(DEVICE_ID) ? vport.element().id().toString()
: s.equals(PORT_NUM) ? vport.number().toString()
- : s.equals(PHYS_DEVICE_ID) ? vport.realizedBy().element().id().toString()
- : s.equals(PHYS_PORT_NUM) ? vport.realizedBy().number().toString()
+ : s.equals(PHYS_DEVICE_ID) ? vport.realizedBy().deviceId().toString()
+ : s.equals(PHYS_PORT_NUM) ? vport.realizedBy().port().toString()
: null
);
}
@@ -793,8 +783,8 @@
DefaultAnnotations annotations = DefaultAnnotations.builder().build();
Device physDevice = new DefaultDevice(null, DeviceId.deviceId("dev1"),
null, null, null, null, null, null, annotations);
- Port port1 = new DefaultPort(physDevice, portNumber(1), true);
- expect(mockVnetAdminService.createVirtualPort(networkId, deviceId, portNumber(22), port1))
+ ConnectPoint cp1 = new ConnectPoint(physDevice.id(), portNumber(1));
+ expect(mockVnetAdminService.createVirtualPort(networkId, deviceId, portNumber(22), cp1))
.andReturn(vport22);
replay(mockVnetAdminService);