mirror of
https://github.com/opennetworkinglab/onos.git
synced 2025-10-15 17:31:31 +02:00
[ONOS-5686] Re-naming and re-constructing virtual network classes
Changes. 1. Named *Service classes in the impementation package re-named as *Manager 2. VirtualTopologyProvider is renamed as DefaultVirtualNetworkProvider Change-Id: Ic8663aee793d0b8f87ffea3df7f71c8ac77362ca
This commit is contained in:
parent
a330c584b6
commit
214963b091
@ -14,14 +14,11 @@
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package org.onosproject.incubator.net.virtual.impl;
|
||||
|
||||
import org.onosproject.incubator.net.virtual.VirtualNetwork;
|
||||
package org.onosproject.incubator.net.virtual;
|
||||
|
||||
/**
|
||||
* Virtual network service interface.
|
||||
*/
|
||||
interface VnetService {
|
||||
public interface VnetService {
|
||||
VirtualNetwork network();
|
||||
|
||||
}
|
@ -22,6 +22,7 @@ import org.onosproject.incubator.net.virtual.VirtualDevice;
|
||||
import org.onosproject.incubator.net.virtual.VirtualNetwork;
|
||||
import org.onosproject.incubator.net.virtual.VirtualNetworkService;
|
||||
import org.onosproject.incubator.net.virtual.VirtualPort;
|
||||
import org.onosproject.incubator.net.virtual.VnetService;
|
||||
import org.onosproject.net.Device;
|
||||
import org.onosproject.net.DeviceId;
|
||||
import org.onosproject.net.MastershipRole;
|
||||
@ -41,7 +42,8 @@ import static com.google.common.base.Preconditions.checkNotNull;
|
||||
/**
|
||||
* Device service implementation built on the virtual network service.
|
||||
*/
|
||||
public class VirtualNetworkDeviceService extends AbstractListenerManager<DeviceEvent, DeviceListener>
|
||||
public class VirtualNetworkDeviceManager
|
||||
extends AbstractListenerManager<DeviceEvent, DeviceListener>
|
||||
implements DeviceService, VnetService {
|
||||
|
||||
private static final String NETWORK_NULL = "Network ID cannot be null";
|
||||
@ -58,7 +60,8 @@ public class VirtualNetworkDeviceService extends AbstractListenerManager<DeviceE
|
||||
* @param virtualNetworkManager virtual network manager service
|
||||
* @param network virtual network
|
||||
*/
|
||||
public VirtualNetworkDeviceService(VirtualNetworkService virtualNetworkManager, VirtualNetwork network) {
|
||||
public VirtualNetworkDeviceManager(VirtualNetworkService virtualNetworkManager,
|
||||
VirtualNetwork network) {
|
||||
checkNotNull(network, NETWORK_NULL);
|
||||
this.network = network;
|
||||
this.manager = virtualNetworkManager;
|
||||
@ -71,7 +74,8 @@ public class VirtualNetworkDeviceService extends AbstractListenerManager<DeviceE
|
||||
|
||||
@Override
|
||||
public Iterable<Device> getDevices() {
|
||||
return manager.getVirtualDevices(this.network.id()).stream().collect(Collectors.toSet());
|
||||
return manager.getVirtualDevices(
|
||||
this.network.id()).stream().collect(Collectors.toSet());
|
||||
}
|
||||
|
||||
@Override
|
||||
@ -96,7 +100,8 @@ public class VirtualNetworkDeviceService extends AbstractListenerManager<DeviceE
|
||||
@Override
|
||||
public Device getDevice(DeviceId deviceId) {
|
||||
checkNotNull(deviceId, DEVICE_NULL);
|
||||
Optional<VirtualDevice> foundDevice = manager.getVirtualDevices(this.network.id())
|
||||
Optional<VirtualDevice> foundDevice =
|
||||
manager.getVirtualDevices(this.network.id())
|
||||
.stream()
|
||||
.filter(device -> deviceId.equals(device.id()))
|
||||
.findFirst();
|
||||
@ -136,7 +141,8 @@ public class VirtualNetworkDeviceService extends AbstractListenerManager<DeviceE
|
||||
}
|
||||
|
||||
@Override
|
||||
public PortStatistics getStatisticsForPort(DeviceId deviceId, PortNumber portNumber) {
|
||||
public PortStatistics getStatisticsForPort(DeviceId deviceId,
|
||||
PortNumber portNumber) {
|
||||
checkNotNull(deviceId, DEVICE_NULL);
|
||||
checkNotNull(deviceId, PORT_NUMBER_NULL);
|
||||
// TODO not supported at the moment.
|
||||
@ -144,7 +150,8 @@ public class VirtualNetworkDeviceService extends AbstractListenerManager<DeviceE
|
||||
}
|
||||
|
||||
@Override
|
||||
public PortStatistics getDeltaStatisticsForPort(DeviceId deviceId, PortNumber portNumber) {
|
||||
public PortStatistics getDeltaStatisticsForPort(DeviceId deviceId,
|
||||
PortNumber portNumber) {
|
||||
checkNotNull(deviceId, DEVICE_NULL);
|
||||
checkNotNull(deviceId, PORT_NUMBER_NULL);
|
||||
// TODO not supported at the moment.
|
||||
@ -155,7 +162,8 @@ public class VirtualNetworkDeviceService extends AbstractListenerManager<DeviceE
|
||||
public Port getPort(DeviceId deviceId, PortNumber portNumber) {
|
||||
checkNotNull(deviceId, DEVICE_NULL);
|
||||
|
||||
Optional<VirtualPort> foundPort = manager.getVirtualPorts(this.network.id(), deviceId)
|
||||
Optional<VirtualPort> foundPort =
|
||||
manager.getVirtualPorts(this.network.id(), deviceId)
|
||||
.stream()
|
||||
.filter(port -> port.number().equals(portNumber))
|
||||
.findFirst();
|
@ -23,6 +23,7 @@ import org.onosproject.event.AbstractListenerManager;
|
||||
import org.onosproject.incubator.net.virtual.VirtualHost;
|
||||
import org.onosproject.incubator.net.virtual.VirtualNetwork;
|
||||
import org.onosproject.incubator.net.virtual.VirtualNetworkService;
|
||||
import org.onosproject.incubator.net.virtual.VnetService;
|
||||
import org.onosproject.net.ConnectPoint;
|
||||
import org.onosproject.net.DeviceId;
|
||||
import org.onosproject.net.Host;
|
||||
@ -43,7 +44,8 @@ import static com.google.common.base.Preconditions.checkNotNull;
|
||||
/**
|
||||
* Host service implementation built on the virtual network service.
|
||||
*/
|
||||
public class VirtualNetworkHostService extends AbstractListenerManager<HostEvent, HostListener>
|
||||
public class VirtualNetworkHostManager
|
||||
extends AbstractListenerManager<HostEvent, HostListener>
|
||||
implements HostService, VnetService {
|
||||
|
||||
private static final String NETWORK_NULL = "Network ID cannot be null";
|
||||
@ -58,7 +60,8 @@ public class VirtualNetworkHostService extends AbstractListenerManager<HostEvent
|
||||
* @param virtualNetworkManager virtual network manager service
|
||||
* @param network virtual network
|
||||
*/
|
||||
public VirtualNetworkHostService(VirtualNetworkService virtualNetworkManager, VirtualNetwork network) {
|
||||
public VirtualNetworkHostManager(VirtualNetworkService virtualNetworkManager,
|
||||
VirtualNetwork network) {
|
||||
checkNotNull(network, NETWORK_NULL);
|
||||
this.network = network;
|
||||
this.manager = virtualNetworkManager;
|
||||
@ -78,7 +81,8 @@ public class VirtualNetworkHostService extends AbstractListenerManager<HostEvent
|
||||
@Override
|
||||
public Host getHost(HostId hostId) {
|
||||
checkNotNull(hostId, HOST_NULL);
|
||||
Optional<VirtualHost> foundHost = manager.getVirtualHosts(this.network.id())
|
||||
Optional<VirtualHost> foundHost =
|
||||
manager.getVirtualHosts(this.network.id())
|
||||
.stream()
|
||||
.filter(host -> hostId.equals(host.id()))
|
||||
.findFirst();
|
||||
@ -94,7 +98,8 @@ public class VirtualNetworkHostService extends AbstractListenerManager<HostEvent
|
||||
* @return collection of virtual hosts.
|
||||
*/
|
||||
private Collection<Host> getHostsColl() {
|
||||
return manager.getVirtualHosts(this.network.id()).stream().collect(Collectors.toSet());
|
||||
return manager.getVirtualHosts(this.network.id())
|
||||
.stream().collect(Collectors.toSet());
|
||||
}
|
||||
|
||||
/**
|
@ -24,6 +24,7 @@ import org.onosproject.incubator.net.virtual.VirtualNetworkIntent;
|
||||
import org.onosproject.incubator.net.virtual.VirtualNetworkService;
|
||||
import org.onosproject.incubator.net.virtual.VirtualNetworkStore;
|
||||
import org.onosproject.incubator.net.virtual.VirtualPort;
|
||||
import org.onosproject.incubator.net.virtual.VnetService;
|
||||
import org.onosproject.net.ConnectPoint;
|
||||
import org.onosproject.net.DeviceId;
|
||||
import org.onosproject.net.Port;
|
||||
@ -48,7 +49,8 @@ import static com.google.common.base.Preconditions.*;
|
||||
/**
|
||||
* Intent service implementation built on the virtual network service.
|
||||
*/
|
||||
public class VirtualNetworkIntentService extends AbstractListenerManager<IntentEvent, IntentListener>
|
||||
public class VirtualNetworkIntentManager
|
||||
extends AbstractListenerManager<IntentEvent, IntentListener>
|
||||
implements IntentService, VnetService {
|
||||
|
||||
private final Logger log = LoggerFactory.getLogger(getClass());
|
||||
@ -76,7 +78,8 @@ public class VirtualNetworkIntentService extends AbstractListenerManager<IntentE
|
||||
* @param network virtual network
|
||||
* @param serviceDirectory service directory
|
||||
*/
|
||||
public VirtualNetworkIntentService(VirtualNetworkService virtualNetworkManager, VirtualNetwork network,
|
||||
public VirtualNetworkIntentManager(VirtualNetworkService virtualNetworkManager,
|
||||
VirtualNetwork network,
|
||||
ServiceDirectory serviceDirectory) {
|
||||
checkNotNull(network, NETWORK_NULL);
|
||||
this.network = network;
|
@ -20,6 +20,7 @@ import org.onosproject.event.AbstractListenerManager;
|
||||
import org.onosproject.incubator.net.virtual.VirtualLink;
|
||||
import org.onosproject.incubator.net.virtual.VirtualNetwork;
|
||||
import org.onosproject.incubator.net.virtual.VirtualNetworkService;
|
||||
import org.onosproject.incubator.net.virtual.VnetService;
|
||||
import org.onosproject.net.ConnectPoint;
|
||||
import org.onosproject.net.DeviceId;
|
||||
import org.onosproject.net.Link;
|
||||
@ -36,7 +37,8 @@ import static com.google.common.base.Preconditions.checkNotNull;
|
||||
/**
|
||||
* Link service implementation built on the virtual network service.
|
||||
*/
|
||||
public class VirtualNetworkLinkService extends AbstractListenerManager<LinkEvent, LinkListener>
|
||||
public class VirtualNetworkLinkManager
|
||||
extends AbstractListenerManager<LinkEvent, LinkListener>
|
||||
implements LinkService, VnetService {
|
||||
|
||||
private static final String NETWORK_NULL = "Network ID cannot be null";
|
||||
@ -52,7 +54,8 @@ public class VirtualNetworkLinkService extends AbstractListenerManager<LinkEvent
|
||||
* @param virtualNetworkManager virtual network manager service
|
||||
* @param network virtual network
|
||||
*/
|
||||
public VirtualNetworkLinkService(VirtualNetworkService virtualNetworkManager, VirtualNetwork network) {
|
||||
public VirtualNetworkLinkManager(VirtualNetworkService virtualNetworkManager,
|
||||
VirtualNetwork network) {
|
||||
checkNotNull(network, NETWORK_NULL);
|
||||
this.network = network;
|
||||
this.manager = virtualNetworkManager;
|
||||
@ -70,7 +73,8 @@ public class VirtualNetworkLinkService extends AbstractListenerManager<LinkEvent
|
||||
|
||||
@Override
|
||||
public Iterable<Link> getLinks() {
|
||||
return manager.getVirtualLinks(this.network.id()).stream().collect(Collectors.toSet());
|
||||
return manager.getVirtualLinks(this.network.id())
|
||||
.stream().collect(Collectors.toSet());
|
||||
}
|
||||
|
||||
@Override
|
@ -45,6 +45,7 @@ import org.onosproject.incubator.net.virtual.VirtualNetworkService;
|
||||
import org.onosproject.incubator.net.virtual.VirtualNetworkStore;
|
||||
import org.onosproject.incubator.net.virtual.VirtualNetworkStoreDelegate;
|
||||
import org.onosproject.incubator.net.virtual.VirtualPort;
|
||||
import org.onosproject.incubator.net.virtual.VnetService;
|
||||
import org.onosproject.net.ConnectPoint;
|
||||
import org.onosproject.net.DeviceId;
|
||||
import org.onosproject.net.HostId;
|
||||
@ -76,9 +77,10 @@ import static com.google.common.base.Preconditions.checkNotNull;
|
||||
@Component(immediate = true)
|
||||
@Service
|
||||
public class VirtualNetworkManager
|
||||
extends AbstractListenerProviderRegistry<VirtualNetworkEvent, VirtualNetworkListener,
|
||||
VirtualNetworkProvider, VirtualNetworkProviderService>
|
||||
implements VirtualNetworkService, VirtualNetworkAdminService, VirtualNetworkProviderRegistry {
|
||||
extends AbstractListenerProviderRegistry<VirtualNetworkEvent,
|
||||
VirtualNetworkListener, VirtualNetworkProvider, VirtualNetworkProviderService>
|
||||
implements VirtualNetworkService, VirtualNetworkAdminService,
|
||||
VirtualNetworkProviderRegistry {
|
||||
|
||||
private final Logger log = LoggerFactory.getLogger(getClass());
|
||||
|
||||
@ -93,7 +95,8 @@ public class VirtualNetworkManager
|
||||
@Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY)
|
||||
protected IntentService intentService;
|
||||
|
||||
private final InternalVirtualIntentListener intentListener = new InternalVirtualIntentListener();
|
||||
private final InternalVirtualIntentListener intentListener =
|
||||
new InternalVirtualIntentListener();
|
||||
|
||||
private VirtualNetworkStoreDelegate delegate = this::post;
|
||||
|
||||
@ -178,8 +181,9 @@ public class VirtualNetworkManager
|
||||
}
|
||||
|
||||
@Override
|
||||
public VirtualHost createVirtualHost(NetworkId networkId, HostId hostId, MacAddress mac,
|
||||
VlanId vlan, HostLocation location, Set<IpAddress> ips) {
|
||||
public VirtualHost createVirtualHost(NetworkId networkId, HostId hostId,
|
||||
MacAddress mac, VlanId vlan,
|
||||
HostLocation location, Set<IpAddress> ips) {
|
||||
checkNotNull(networkId, NETWORK_NULL);
|
||||
checkNotNull(hostId, DEVICE_NULL);
|
||||
return store.addHost(networkId, hostId, mac, vlan, location, ips);
|
||||
@ -251,7 +255,8 @@ public class VirtualNetworkManager
|
||||
}
|
||||
|
||||
@Override
|
||||
public void removeVirtualLink(NetworkId networkId, ConnectPoint src, ConnectPoint dst) {
|
||||
public void removeVirtualLink(NetworkId networkId, ConnectPoint src,
|
||||
ConnectPoint dst) {
|
||||
checkNotNull(networkId, NETWORK_NULL);
|
||||
checkNotNull(src, LINK_POINT_NULL);
|
||||
checkNotNull(dst, LINK_POINT_NULL);
|
||||
@ -279,7 +284,8 @@ public class VirtualNetworkManager
|
||||
}
|
||||
|
||||
@Override
|
||||
public void removeVirtualPort(NetworkId networkId, DeviceId deviceId, PortNumber portNumber) {
|
||||
public void removeVirtualPort(NetworkId networkId, DeviceId deviceId,
|
||||
PortNumber portNumber) {
|
||||
checkNotNull(networkId, NETWORK_NULL);
|
||||
checkNotNull(deviceId, DEVICE_NULL);
|
||||
checkNotNull(portNumber, "Port number cannot be null");
|
||||
@ -374,17 +380,18 @@ public class VirtualNetworkManager
|
||||
checkNotNull(network, NETWORK_NULL);
|
||||
VnetService service;
|
||||
if (serviceKey.serviceClass.equals(DeviceService.class)) {
|
||||
service = new VirtualNetworkDeviceService(this, network);
|
||||
service = new VirtualNetworkDeviceManager(this, network);
|
||||
} else if (serviceKey.serviceClass.equals(LinkService.class)) {
|
||||
service = new VirtualNetworkLinkService(this, network);
|
||||
service = new VirtualNetworkLinkManager(this, network);
|
||||
} else if (serviceKey.serviceClass.equals(TopologyService.class)) {
|
||||
service = new VirtualNetworkTopologyService(this, network);
|
||||
service = new VirtualNetworkTopologyManager(this, network);
|
||||
} else if (serviceKey.serviceClass.equals(IntentService.class)) {
|
||||
service = new VirtualNetworkIntentService(this, network, new DefaultServiceDirectory());
|
||||
service = new VirtualNetworkIntentManager(
|
||||
this, network, new DefaultServiceDirectory());
|
||||
} else if (serviceKey.serviceClass.equals(HostService.class)) {
|
||||
service = new VirtualNetworkHostService(this, network);
|
||||
service = new VirtualNetworkHostManager(this, network);
|
||||
} else if (serviceKey.serviceClass.equals(PathService.class)) {
|
||||
service = new VirtualNetworkPathService(this, network);
|
||||
service = new VirtualNetworkPathManager(this, network);
|
||||
} else {
|
||||
return null;
|
||||
}
|
||||
@ -406,6 +413,7 @@ public class VirtualNetworkManager
|
||||
* @param serviceClass service class
|
||||
*/
|
||||
public ServiceKey(NetworkId networkId, Class serviceClass) {
|
||||
|
||||
checkNotNull(networkId, NETWORK_NULL);
|
||||
this.networkId = networkId;
|
||||
this.serviceClass = serviceClass;
|
||||
@ -434,6 +442,7 @@ public class VirtualNetworkManager
|
||||
* Internal intent event listener.
|
||||
*/
|
||||
private class InternalVirtualIntentListener implements IntentListener {
|
||||
|
||||
@Override
|
||||
public void event(IntentEvent event) {
|
||||
|
||||
@ -481,7 +490,8 @@ public class VirtualNetworkManager
|
||||
|
||||
|
||||
@Override
|
||||
protected VirtualNetworkProviderService createProviderService(VirtualNetworkProvider provider) {
|
||||
protected VirtualNetworkProviderService
|
||||
createProviderService(VirtualNetworkProvider provider) {
|
||||
return new InternalVirtualNetworkProviderService(provider);
|
||||
}
|
||||
|
||||
@ -502,7 +512,6 @@ public class VirtualNetworkManager
|
||||
|
||||
@Override
|
||||
public void topologyChanged(Set<Set<ConnectPoint>> clusters) {
|
||||
|
||||
Set<TenantId> tenantIds = getTenantIds();
|
||||
tenantIds.forEach(tenantId -> {
|
||||
Set<VirtualNetwork> virtualNetworks = getVirtualNetworks(tenantId);
|
||||
@ -511,10 +520,13 @@ public class VirtualNetworkManager
|
||||
Set<VirtualLink> virtualLinks = getVirtualLinks(virtualNetwork.id());
|
||||
|
||||
virtualLinks.forEach(virtualLink -> {
|
||||
if (isVirtualLinkInCluster(virtualNetwork.id(), virtualLink, clusters)) {
|
||||
store.updateLink(virtualLink, virtualLink.tunnelId(), Link.State.ACTIVE);
|
||||
if (isVirtualLinkInCluster(virtualNetwork.id(),
|
||||
virtualLink, clusters)) {
|
||||
store.updateLink(virtualLink, virtualLink.tunnelId(),
|
||||
Link.State.ACTIVE);
|
||||
} else {
|
||||
store.updateLink(virtualLink, virtualLink.tunnelId(), Link.State.INACTIVE);
|
||||
store.updateLink(virtualLink, virtualLink.tunnelId(),
|
||||
Link.State.INACTIVE);
|
||||
}
|
||||
});
|
||||
});
|
||||
@ -522,7 +534,8 @@ public class VirtualNetworkManager
|
||||
}
|
||||
|
||||
/**
|
||||
* Determines if the virtual link (both source and destination connect point) is in a cluster.
|
||||
* Determines if the virtual link (both source and destination connect point)
|
||||
* is in a cluster.
|
||||
*
|
||||
* @param networkId virtual network identifier
|
||||
* @param virtualLink virtual link
|
||||
@ -531,8 +544,10 @@ public class VirtualNetworkManager
|
||||
*/
|
||||
private boolean isVirtualLinkInCluster(NetworkId networkId, VirtualLink virtualLink,
|
||||
Set<Set<ConnectPoint>> clusters) {
|
||||
ConnectPoint srcPhysicalCp = mapVirtualToPhysicalPort(networkId, virtualLink.src());
|
||||
ConnectPoint dstPhysicalCp = mapVirtualToPhysicalPort(networkId, virtualLink.dst());
|
||||
ConnectPoint srcPhysicalCp =
|
||||
mapVirtualToPhysicalPort(networkId, virtualLink.src());
|
||||
ConnectPoint dstPhysicalCp =
|
||||
mapVirtualToPhysicalPort(networkId, virtualLink.dst());
|
||||
|
||||
final boolean[] foundSrc = {false};
|
||||
final boolean[] foundDst = {false};
|
||||
@ -552,8 +567,8 @@ public class VirtualNetworkManager
|
||||
}
|
||||
|
||||
@Override
|
||||
public void tunnelUp(NetworkId networkId, ConnectPoint src, ConnectPoint dst, TunnelId tunnelId) {
|
||||
|
||||
public void tunnelUp(NetworkId networkId, ConnectPoint src,
|
||||
ConnectPoint dst, TunnelId tunnelId) {
|
||||
ConnectPoint srcVirtualCp = mapPhysicalToVirtualToPort(networkId, src);
|
||||
ConnectPoint dstVirtualCp = mapPhysicalToVirtualToPort(networkId, dst);
|
||||
if ((srcVirtualCp == null) || (dstVirtualCp == null)) {
|
||||
@ -567,7 +582,8 @@ public class VirtualNetworkManager
|
||||
}
|
||||
|
||||
@Override
|
||||
public void tunnelDown(NetworkId networkId, ConnectPoint src, ConnectPoint dst, TunnelId tunnelId) {
|
||||
public void tunnelDown(NetworkId networkId, ConnectPoint src,
|
||||
ConnectPoint dst, TunnelId tunnelId) {
|
||||
ConnectPoint srcVirtualCp = mapPhysicalToVirtualToPort(networkId, src);
|
||||
ConnectPoint dstVirtualCp = mapPhysicalToVirtualToPort(networkId, dst);
|
||||
if ((srcVirtualCp == null) || (dstVirtualCp == null)) {
|
||||
|
@ -17,6 +17,7 @@ package org.onosproject.incubator.net.virtual.impl;
|
||||
|
||||
import org.onosproject.incubator.net.virtual.VirtualNetwork;
|
||||
import org.onosproject.incubator.net.virtual.VirtualNetworkService;
|
||||
import org.onosproject.incubator.net.virtual.VnetService;
|
||||
import org.onosproject.net.DisjointPath;
|
||||
import org.onosproject.net.ElementId;
|
||||
import org.onosproject.net.Link;
|
||||
@ -35,7 +36,8 @@ import static com.google.common.base.Preconditions.checkNotNull;
|
||||
/**
|
||||
* Path service implementation built on the virtual network service.
|
||||
*/
|
||||
public class VirtualNetworkPathService extends AbstractPathService
|
||||
public class VirtualNetworkPathManager
|
||||
extends AbstractPathService
|
||||
implements PathService, VnetService {
|
||||
|
||||
private static final String NETWORK_NULL = "Network ID cannot be null";
|
||||
@ -49,7 +51,8 @@ public class VirtualNetworkPathService extends AbstractPathService
|
||||
* @param network virtual network
|
||||
*/
|
||||
|
||||
public VirtualNetworkPathService(VirtualNetworkService virtualNetworkManager, VirtualNetwork network) {
|
||||
public VirtualNetworkPathManager(VirtualNetworkService virtualNetworkManager,
|
||||
VirtualNetwork network) {
|
||||
checkNotNull(network, NETWORK_NULL);
|
||||
this.network = network;
|
||||
topologyService = virtualNetworkManager.get(network.id(), TopologyService.class);
|
||||
@ -67,7 +70,8 @@ public class VirtualNetworkPathService extends AbstractPathService
|
||||
}
|
||||
|
||||
@Override
|
||||
public Set<DisjointPath> getDisjointPaths(ElementId src, ElementId dst, Map<Link, Object> riskProfile) {
|
||||
public Set<DisjointPath> getDisjointPaths(ElementId src, ElementId dst,
|
||||
Map<Link, Object> riskProfile) {
|
||||
return getDisjointPaths(src, dst, null, riskProfile);
|
||||
}
|
||||
|
@ -20,6 +20,7 @@ import org.onosproject.common.DefaultTopology;
|
||||
import org.onosproject.event.AbstractListenerManager;
|
||||
import org.onosproject.incubator.net.virtual.VirtualNetwork;
|
||||
import org.onosproject.incubator.net.virtual.VirtualNetworkService;
|
||||
import org.onosproject.incubator.net.virtual.VnetService;
|
||||
import org.onosproject.net.ConnectPoint;
|
||||
import org.onosproject.net.Device;
|
||||
import org.onosproject.net.DeviceId;
|
||||
@ -47,7 +48,8 @@ import static org.onosproject.incubator.net.virtual.DefaultVirtualLink.PID;
|
||||
/**
|
||||
* Topology service implementation built on the virtual network service.
|
||||
*/
|
||||
public class VirtualNetworkTopologyService extends AbstractListenerManager<TopologyEvent, TopologyListener>
|
||||
public class VirtualNetworkTopologyManager
|
||||
extends AbstractListenerManager<TopologyEvent, TopologyListener>
|
||||
implements TopologyService, VnetService {
|
||||
|
||||
private static final String NETWORK_NULL = "Network ID cannot be null";
|
||||
@ -67,7 +69,8 @@ public class VirtualNetworkTopologyService extends AbstractListenerManager<Topol
|
||||
* @param virtualNetworkManager virtual network manager service
|
||||
* @param network virtual network
|
||||
*/
|
||||
public VirtualNetworkTopologyService(VirtualNetworkService virtualNetworkManager, VirtualNetwork network) {
|
||||
public VirtualNetworkTopologyManager(VirtualNetworkService virtualNetworkManager,
|
||||
VirtualNetwork network) {
|
||||
checkNotNull(network, NETWORK_NULL);
|
||||
this.network = network;
|
||||
this.manager = virtualNetworkManager;
|
||||
@ -82,15 +85,18 @@ public class VirtualNetworkTopologyService extends AbstractListenerManager<Topol
|
||||
.stream()
|
||||
.collect(Collectors.toSet());
|
||||
|
||||
DefaultGraphDescription graph = new DefaultGraphDescription(System.nanoTime(), System.currentTimeMillis(),
|
||||
devices, links);
|
||||
DefaultGraphDescription graph =
|
||||
new DefaultGraphDescription(System.nanoTime(),
|
||||
System.currentTimeMillis(),
|
||||
devices, links);
|
||||
return new DefaultTopology(PID, graph);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isLatest(Topology topology) {
|
||||
Topology currentTopology = currentTopology();
|
||||
return defaultTopology(topology).getGraph().equals(defaultTopology(currentTopology).getGraph());
|
||||
return defaultTopology(topology).getGraph()
|
||||
.equals(defaultTopology(currentTopology).getGraph());
|
||||
}
|
||||
|
||||
@Override
|
||||
@ -152,7 +158,8 @@ public class VirtualNetworkTopologyService extends AbstractListenerManager<Topol
|
||||
}
|
||||
|
||||
@Override
|
||||
public Set<DisjointPath> getDisjointPaths(Topology topology, DeviceId src, DeviceId dst, LinkWeight weight) {
|
||||
public Set<DisjointPath> getDisjointPaths(Topology topology, DeviceId src,
|
||||
DeviceId dst, LinkWeight weight) {
|
||||
checkNotNull(src, DEVICE_ID_NULL);
|
||||
checkNotNull(dst, DEVICE_ID_NULL);
|
||||
checkNotNull(weight, LINK_WEIGHT_NULL);
|
@ -14,7 +14,7 @@
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package org.onosproject.incubator.net.virtual.impl;
|
||||
package org.onosproject.incubator.net.virtual.impl.provider;
|
||||
|
||||
import org.apache.felix.scr.annotations.Activate;
|
||||
import org.apache.felix.scr.annotations.Component;
|
||||
@ -53,9 +53,10 @@ import static org.slf4j.LoggerFactory.getLogger;
|
||||
*/
|
||||
@Component(immediate = true)
|
||||
@Service
|
||||
public class VirtualNetworkTopologyProvider extends AbstractProvider implements VirtualNetworkProvider {
|
||||
public class DefaultVirtualNetworkProvider
|
||||
extends AbstractProvider implements VirtualNetworkProvider {
|
||||
|
||||
private final Logger log = getLogger(VirtualNetworkTopologyProvider.class);
|
||||
private final Logger log = getLogger(DefaultVirtualNetworkProvider.class);
|
||||
|
||||
@Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY)
|
||||
protected VirtualNetworkProviderRegistry providerRegistry;
|
||||
@ -72,7 +73,7 @@ public class VirtualNetworkTopologyProvider extends AbstractProvider implements
|
||||
/**
|
||||
* Default constructor.
|
||||
*/
|
||||
public VirtualNetworkTopologyProvider() {
|
||||
public DefaultVirtualNetworkProvider() {
|
||||
super(DefaultVirtualLink.PID);
|
||||
}
|
||||
|
||||
@ -138,12 +139,13 @@ public class VirtualNetworkTopologyProvider extends AbstractProvider implements
|
||||
* @param topology the default topology
|
||||
* @return set of set of interconnected connect points.
|
||||
*/
|
||||
protected Set<Set<ConnectPoint>> getConnectPoints(Topology topology) {
|
||||
public Set<Set<ConnectPoint>> getConnectPoints(Topology topology) {
|
||||
Set<Set<ConnectPoint>> clusters = new HashSet<>();
|
||||
Set<TopologyCluster> topologyClusters = topologyService.getClusters(topology);
|
||||
topologyClusters.forEach(topologyCluster -> {
|
||||
Set<ConnectPoint> connectPointSet = new HashSet<>();
|
||||
Set<Link> clusterLinks = topologyService.getClusterLinks(topology, topologyCluster);
|
||||
Set<Link> clusterLinks =
|
||||
topologyService.getClusterLinks(topology, topologyCluster);
|
||||
clusterLinks.forEach(link -> {
|
||||
connectPointSet.add(link.src());
|
||||
connectPointSet.add(link.dst());
|
||||
@ -162,7 +164,8 @@ public class VirtualNetworkTopologyProvider extends AbstractProvider implements
|
||||
@Override
|
||||
public void event(TopologyEvent event) {
|
||||
// Perform processing off the listener thread.
|
||||
executor.submit(() -> providerService.topologyChanged(getConnectPoints(event.subject())));
|
||||
executor.submit(() -> providerService
|
||||
.topologyChanged(getConnectPoints(event.subject())));
|
||||
}
|
||||
|
||||
@Override
|
@ -0,0 +1,20 @@
|
||||
/*
|
||||
* Copyright 2016-present Open Networking Laboratory
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
/**
|
||||
* Network virtualization provider implementations.
|
||||
*/
|
||||
package org.onosproject.incubator.net.virtual.impl.provider;
|
@ -49,7 +49,7 @@ import static org.junit.Assert.*;
|
||||
/**
|
||||
* Junit tests for VirtualNetworkDeviceService.
|
||||
*/
|
||||
public class VirtualNetworkDeviceServiceTest extends TestDeviceParams {
|
||||
public class VirtualNetworkDeviceManagerTest extends TestDeviceParams {
|
||||
private final String tenantIdValue1 = "TENANT_ID1";
|
||||
|
||||
private VirtualNetworkManager manager;
|
||||
@ -61,9 +61,9 @@ public class VirtualNetworkDeviceServiceTest extends TestDeviceParams {
|
||||
public void setUp() throws Exception {
|
||||
virtualNetworkManagerStore = new DistributedVirtualNetworkStore();
|
||||
|
||||
coreService = new VirtualNetworkDeviceServiceTest.TestCoreService();
|
||||
coreService = new VirtualNetworkDeviceManagerTest.TestCoreService();
|
||||
virtualNetworkManagerStore.setCoreService(coreService);
|
||||
TestUtils.setField(coreService, "coreService", new VirtualNetworkDeviceServiceTest.TestCoreService());
|
||||
TestUtils.setField(coreService, "coreService", new VirtualNetworkDeviceManagerTest.TestCoreService());
|
||||
TestUtils.setField(virtualNetworkManagerStore, "storageService", new TestStorageService());
|
||||
virtualNetworkManagerStore.activate();
|
||||
|
@ -45,7 +45,7 @@ import static org.junit.Assert.*;
|
||||
/**
|
||||
* Junit tests for VirtualNetworkHostService.
|
||||
*/
|
||||
public class VirtualNetworkHostServiceTest extends TestDeviceParams {
|
||||
public class VirtualNetworkHostManagerTest extends TestDeviceParams {
|
||||
private final String tenantIdValue1 = "TENANT_ID1";
|
||||
|
||||
private VirtualNetworkManager manager;
|
@ -77,7 +77,7 @@ import static org.junit.Assert.*;
|
||||
/**
|
||||
* Junit tests for VirtualNetworkIntentService.
|
||||
*/
|
||||
public class VirtualNetworkIntentServiceTest extends TestDeviceParams {
|
||||
public class VirtualNetworkIntentManagerTest extends TestDeviceParams {
|
||||
|
||||
private final String tenantIdValue1 = "TENANT_ID1";
|
||||
private static final ApplicationId APP_ID =
|
||||
@ -100,7 +100,7 @@ public class VirtualNetworkIntentServiceTest extends TestDeviceParams {
|
||||
private static DistributedVirtualNetworkStore virtualNetworkManagerStore;
|
||||
private CoreService coreService;
|
||||
private TestableIntentService intentService = new FakeIntentManager();
|
||||
private VirtualNetworkIntentService vnetIntentService;
|
||||
private VirtualNetworkIntentManager vnetIntentService;
|
||||
private TestIntentCompiler compiler = new TestIntentCompiler();
|
||||
private IntentExtensionService intentExtensionService;
|
||||
private WorkPartitionService workPartitionService;
|
||||
@ -117,13 +117,13 @@ public class VirtualNetworkIntentServiceTest extends TestDeviceParams {
|
||||
public void setUp() throws Exception {
|
||||
virtualNetworkManagerStore = new DistributedVirtualNetworkStore();
|
||||
|
||||
coreService = new VirtualNetworkIntentServiceTest.TestCoreService();
|
||||
coreService = new VirtualNetworkIntentManagerTest.TestCoreService();
|
||||
|
||||
Intent.unbindIdGenerator(idGenerator);
|
||||
Intent.bindIdGenerator(idGenerator);
|
||||
|
||||
virtualNetworkManagerStore.setCoreService(coreService);
|
||||
TestUtils.setField(coreService, "coreService", new VirtualNetworkIntentServiceTest.TestCoreService());
|
||||
TestUtils.setField(coreService, "coreService", new VirtualNetworkIntentManagerTest.TestCoreService());
|
||||
TestUtils.setField(virtualNetworkManagerStore, "storageService", new TestStorageService());
|
||||
virtualNetworkManagerStore.activate();
|
||||
|
||||
@ -212,7 +212,7 @@ public class VirtualNetworkIntentServiceTest extends TestDeviceParams {
|
||||
link4 = manager.createVirtualLink(virtualNetwork.id(), cp5, cp4);
|
||||
virtualNetworkManagerStore.updateLink(link4, link4.tunnelId(), Link.State.ACTIVE);
|
||||
|
||||
vnetIntentService = new VirtualNetworkIntentService(manager, virtualNetwork, testDirectory);
|
||||
vnetIntentService = new VirtualNetworkIntentManager(manager, virtualNetwork, testDirectory);
|
||||
vnetIntentService.intentService = intentService;
|
||||
vnetIntentService.store = virtualNetworkManagerStore;
|
||||
vnetIntentService.partitionService = workPartitionService;
|
@ -49,7 +49,7 @@ import static org.junit.Assert.assertNotEquals;
|
||||
/**
|
||||
* Junit tests for VirtualNetworkLinkService.
|
||||
*/
|
||||
public class VirtualNetworkLinkServiceTest extends TestDeviceParams {
|
||||
public class VirtualNetworkLinkManagerTest extends TestDeviceParams {
|
||||
|
||||
private final String tenantIdValue1 = "TENANT_ID1";
|
||||
|
||||
@ -62,9 +62,9 @@ public class VirtualNetworkLinkServiceTest extends TestDeviceParams {
|
||||
public void setUp() throws Exception {
|
||||
virtualNetworkManagerStore = new DistributedVirtualNetworkStore();
|
||||
|
||||
coreService = new VirtualNetworkLinkServiceTest.TestCoreService();
|
||||
coreService = new VirtualNetworkLinkManagerTest.TestCoreService();
|
||||
virtualNetworkManagerStore.setCoreService(coreService);
|
||||
TestUtils.setField(coreService, "coreService", new VirtualNetworkLinkServiceTest.TestCoreService());
|
||||
TestUtils.setField(coreService, "coreService", new VirtualNetworkLinkManagerTest.TestCoreService());
|
||||
TestUtils.setField(virtualNetworkManagerStore, "storageService", new TestStorageService());
|
||||
virtualNetworkManagerStore.activate();
|
||||
|
@ -40,6 +40,7 @@ import org.onosproject.incubator.net.virtual.VirtualNetworkIntent;
|
||||
import org.onosproject.incubator.net.virtual.VirtualNetworkListener;
|
||||
import org.onosproject.incubator.net.virtual.VirtualNetworkProviderService;
|
||||
import org.onosproject.incubator.net.virtual.VirtualPort;
|
||||
import org.onosproject.incubator.net.virtual.impl.provider.DefaultVirtualNetworkProvider;
|
||||
import org.onosproject.incubator.store.virtual.impl.DistributedVirtualNetworkStore;
|
||||
import org.onosproject.net.ConnectPoint;
|
||||
import org.onosproject.net.DeviceId;
|
||||
@ -74,7 +75,7 @@ public class VirtualNetworkManagerTest extends TestDeviceParams {
|
||||
private final String tenantIdValue2 = "TENANT_ID2";
|
||||
|
||||
private VirtualNetworkManager manager;
|
||||
private VirtualNetworkTopologyProvider topologyProvider;
|
||||
private DefaultVirtualNetworkProvider topologyProvider;
|
||||
private DistributedVirtualNetworkStore virtualNetworkManagerStore;
|
||||
private CoreService coreService;
|
||||
private TestListener listener = new TestListener();
|
||||
@ -93,7 +94,8 @@ public class VirtualNetworkManagerTest extends TestDeviceParams {
|
||||
coreService = new TestCoreService();
|
||||
virtualNetworkManagerStore.setCoreService(coreService);
|
||||
TestUtils.setField(coreService, "coreService", new TestCoreService());
|
||||
TestUtils.setField(virtualNetworkManagerStore, "storageService", new TestStorageService());
|
||||
TestUtils.setField(virtualNetworkManagerStore, "storageService",
|
||||
new TestStorageService());
|
||||
virtualNetworkManagerStore.activate();
|
||||
|
||||
manager = new VirtualNetworkManager();
|
||||
@ -138,8 +140,10 @@ public class VirtualNetworkManagerTest extends TestDeviceParams {
|
||||
assertTrue("The tenantId set should be empty.", tenantIdCollection.isEmpty());
|
||||
|
||||
// Validate that the events were all received in the correct order.
|
||||
validateEvents(VirtualNetworkEvent.Type.TENANT_UNREGISTERED, VirtualNetworkEvent.Type.TENANT_REGISTERED,
|
||||
VirtualNetworkEvent.Type.TENANT_REGISTERED, VirtualNetworkEvent.Type.TENANT_UNREGISTERED,
|
||||
validateEvents(VirtualNetworkEvent.Type.TENANT_UNREGISTERED,
|
||||
VirtualNetworkEvent.Type.TENANT_REGISTERED,
|
||||
VirtualNetworkEvent.Type.TENANT_REGISTERED,
|
||||
VirtualNetworkEvent.Type.TENANT_UNREGISTERED,
|
||||
VirtualNetworkEvent.Type.TENANT_UNREGISTERED);
|
||||
}
|
||||
|
||||
@ -184,9 +188,12 @@ public class VirtualNetworkManagerTest extends TestDeviceParams {
|
||||
assertTrue("The virtual network set should be empty.", virtualNetworks.isEmpty());
|
||||
|
||||
// Validate that the events were all received in the correct order.
|
||||
validateEvents(VirtualNetworkEvent.Type.TENANT_REGISTERED, VirtualNetworkEvent.Type.NETWORK_ADDED,
|
||||
VirtualNetworkEvent.Type.NETWORK_ADDED, VirtualNetworkEvent.Type.NETWORK_REMOVED,
|
||||
VirtualNetworkEvent.Type.NETWORK_REMOVED, VirtualNetworkEvent.Type.NETWORK_ADDED,
|
||||
validateEvents(VirtualNetworkEvent.Type.TENANT_REGISTERED,
|
||||
VirtualNetworkEvent.Type.NETWORK_ADDED,
|
||||
VirtualNetworkEvent.Type.NETWORK_ADDED,
|
||||
VirtualNetworkEvent.Type.NETWORK_REMOVED,
|
||||
VirtualNetworkEvent.Type.NETWORK_REMOVED,
|
||||
VirtualNetworkEvent.Type.NETWORK_ADDED,
|
||||
VirtualNetworkEvent.Type.NETWORK_REMOVED);
|
||||
}
|
||||
|
||||
@ -207,7 +214,9 @@ public class VirtualNetworkManagerTest extends TestDeviceParams {
|
||||
@Test(expected = IllegalStateException.class)
|
||||
public void testCreateVirtualDeviceWithNoNetwork() {
|
||||
manager.registerTenantId(TenantId.tenantId(tenantIdValue1));
|
||||
VirtualNetwork virtualNetwork = new DefaultVirtualNetwork(NetworkId.NONE, TenantId.tenantId(tenantIdValue1));
|
||||
VirtualNetwork virtualNetwork =
|
||||
new DefaultVirtualNetwork(NetworkId.NONE,
|
||||
TenantId.tenantId(tenantIdValue1));
|
||||
|
||||
manager.createVirtualDevice(virtualNetwork.id(), DID1);
|
||||
}
|
||||
@ -218,8 +227,10 @@ public class VirtualNetworkManagerTest extends TestDeviceParams {
|
||||
@Test
|
||||
public void testAddRemoveVirtualDevice() {
|
||||
manager.registerTenantId(TenantId.tenantId(tenantIdValue1));
|
||||
VirtualNetwork virtualNetwork1 = manager.createVirtualNetwork(TenantId.tenantId(tenantIdValue1));
|
||||
VirtualNetwork virtualNetwork2 = manager.createVirtualNetwork(TenantId.tenantId(tenantIdValue1));
|
||||
VirtualNetwork virtualNetwork1 =
|
||||
manager.createVirtualNetwork(TenantId.tenantId(tenantIdValue1));
|
||||
VirtualNetwork virtualNetwork2 =
|
||||
manager.createVirtualNetwork(TenantId.tenantId(tenantIdValue1));
|
||||
manager.createVirtualDevice(virtualNetwork1.id(), DID1);
|
||||
manager.createVirtualDevice(virtualNetwork2.id(), DID2);
|
||||
|
||||
@ -246,7 +257,8 @@ public class VirtualNetworkManagerTest extends TestDeviceParams {
|
||||
assertTrue("The virtual device set should be empty.", virtualDevices1.isEmpty());
|
||||
|
||||
// Validate that the events were all received in the correct order.
|
||||
validateEvents(VirtualNetworkEvent.Type.TENANT_REGISTERED, VirtualNetworkEvent.Type.NETWORK_ADDED,
|
||||
validateEvents(VirtualNetworkEvent.Type.TENANT_REGISTERED,
|
||||
VirtualNetworkEvent.Type.NETWORK_ADDED,
|
||||
VirtualNetworkEvent.Type.NETWORK_ADDED);
|
||||
}
|
||||
|
||||
@ -256,7 +268,8 @@ public class VirtualNetworkManagerTest extends TestDeviceParams {
|
||||
@Test(expected = NullPointerException.class)
|
||||
public void testCreateNullVirtualHost() {
|
||||
manager.registerTenantId(TenantId.tenantId(tenantIdValue1));
|
||||
VirtualNetwork virtualNetwork = manager.createVirtualNetwork(TenantId.tenantId(tenantIdValue1));
|
||||
VirtualNetwork virtualNetwork =
|
||||
manager.createVirtualNetwork(TenantId.tenantId(tenantIdValue1));
|
||||
|
||||
manager.createVirtualHost(virtualNetwork.id(), null, null, null, null, null);
|
||||
}
|
||||
@ -267,7 +280,8 @@ public class VirtualNetworkManagerTest extends TestDeviceParams {
|
||||
@Test(expected = IllegalStateException.class)
|
||||
public void testCreateVirtualHostWithNoNetwork() {
|
||||
manager.registerTenantId(TenantId.tenantId(tenantIdValue1));
|
||||
VirtualNetwork virtualNetwork = new DefaultVirtualNetwork(NetworkId.NONE, TenantId.tenantId(tenantIdValue1));
|
||||
VirtualNetwork virtualNetwork =
|
||||
new DefaultVirtualNetwork(NetworkId.NONE, TenantId.tenantId(tenantIdValue1));
|
||||
|
||||
manager.createVirtualHost(virtualNetwork.id(), HID1, null, null, null, null);
|
||||
}
|
||||
@ -278,8 +292,10 @@ public class VirtualNetworkManagerTest extends TestDeviceParams {
|
||||
@Test
|
||||
public void testAddRemoveVirtualHost() {
|
||||
manager.registerTenantId(TenantId.tenantId(tenantIdValue1));
|
||||
VirtualNetwork virtualNetwork1 = manager.createVirtualNetwork(TenantId.tenantId(tenantIdValue1));
|
||||
VirtualNetwork virtualNetwork2 = manager.createVirtualNetwork(TenantId.tenantId(tenantIdValue1));
|
||||
VirtualNetwork virtualNetwork1 =
|
||||
manager.createVirtualNetwork(TenantId.tenantId(tenantIdValue1));
|
||||
VirtualNetwork virtualNetwork2 =
|
||||
manager.createVirtualNetwork(TenantId.tenantId(tenantIdValue1));
|
||||
manager.createVirtualHost(virtualNetwork1.id(), HID1, MAC1, VLAN1, LOC1, IPSET1);
|
||||
manager.createVirtualHost(virtualNetwork2.id(), HID2, MAC2, VLAN2, LOC2, IPSET2);
|
||||
|
||||
@ -300,7 +316,9 @@ public class VirtualNetworkManagerTest extends TestDeviceParams {
|
||||
assertTrue("The virtual host set should be empty.", virtualHosts1.isEmpty());
|
||||
|
||||
// Add/remove the virtual host again.
|
||||
VirtualHost virtualHost = manager.createVirtualHost(virtualNetwork1.id(), HID1, MAC1, VLAN1, LOC1, IPSET1);
|
||||
VirtualHost virtualHost =
|
||||
manager.createVirtualHost(virtualNetwork1.id(),
|
||||
HID1, MAC1, VLAN1, LOC1, IPSET1);
|
||||
manager.removeVirtualHost(virtualHost.networkId(), virtualHost.id());
|
||||
virtualHosts1 = manager.getVirtualHosts(virtualNetwork1.id());
|
||||
assertTrue("The virtual host set should be empty.", virtualHosts1.isEmpty());
|
||||
@ -312,7 +330,8 @@ public class VirtualNetworkManagerTest extends TestDeviceParams {
|
||||
@Test
|
||||
public void testAddRemoveVirtualLink() {
|
||||
manager.registerTenantId(TenantId.tenantId(tenantIdValue1));
|
||||
VirtualNetwork virtualNetwork1 = manager.createVirtualNetwork(TenantId.tenantId(tenantIdValue1));
|
||||
VirtualNetwork virtualNetwork1 =
|
||||
manager.createVirtualNetwork(TenantId.tenantId(tenantIdValue1));
|
||||
VirtualDevice srcVirtualDevice =
|
||||
manager.createVirtualDevice(virtualNetwork1.id(), DID1);
|
||||
VirtualDevice dstVirtualDevice =
|
||||
@ -353,7 +372,8 @@ public class VirtualNetworkManagerTest extends TestDeviceParams {
|
||||
@Test(expected = IllegalStateException.class)
|
||||
public void testAddSameVirtualLink() {
|
||||
manager.registerTenantId(TenantId.tenantId(tenantIdValue1));
|
||||
VirtualNetwork virtualNetwork1 = manager.createVirtualNetwork(TenantId.tenantId(tenantIdValue1));
|
||||
VirtualNetwork virtualNetwork1 =
|
||||
manager.createVirtualNetwork(TenantId.tenantId(tenantIdValue1));
|
||||
VirtualDevice srcVirtualDevice =
|
||||
manager.createVirtualDevice(virtualNetwork1.id(), DID1);
|
||||
VirtualDevice dstVirtualDevice =
|
||||
@ -376,13 +396,16 @@ public class VirtualNetworkManagerTest extends TestDeviceParams {
|
||||
@Test
|
||||
public void testAddRemoveVirtualPort() {
|
||||
manager.registerTenantId(TenantId.tenantId(tenantIdValue1));
|
||||
VirtualNetwork virtualNetwork1 = manager.createVirtualNetwork(TenantId.tenantId(tenantIdValue1));
|
||||
VirtualNetwork virtualNetwork1 =
|
||||
manager.createVirtualNetwork(TenantId.tenantId(tenantIdValue1));
|
||||
VirtualDevice virtualDevice =
|
||||
manager.createVirtualDevice(virtualNetwork1.id(), DID1);
|
||||
ConnectPoint cp = new ConnectPoint(virtualDevice.id(), PortNumber.portNumber(1));
|
||||
|
||||
manager.createVirtualPort(virtualNetwork1.id(), virtualDevice.id(), PortNumber.portNumber(1), cp);
|
||||
manager.createVirtualPort(virtualNetwork1.id(), virtualDevice.id(), PortNumber.portNumber(2), cp);
|
||||
manager.createVirtualPort(virtualNetwork1.id(),
|
||||
virtualDevice.id(), PortNumber.portNumber(1), cp);
|
||||
manager.createVirtualPort(virtualNetwork1.id(),
|
||||
virtualDevice.id(), PortNumber.portNumber(2), cp);
|
||||
|
||||
Set<VirtualPort> virtualPorts = manager.getVirtualPorts(virtualNetwork1.id(), virtualDevice.id());
|
||||
assertNotNull("The virtual port set should not be null", virtualPorts);
|
||||
@ -399,9 +422,11 @@ public class VirtualNetworkManagerTest extends TestDeviceParams {
|
||||
assertTrue("The virtual port set should be empty.", virtualPorts.isEmpty());
|
||||
|
||||
// Add/remove the virtual port again.
|
||||
VirtualPort virtualPort = manager.createVirtualPort(virtualNetwork1.id(), virtualDevice.id(),
|
||||
VirtualPort virtualPort =
|
||||
manager.createVirtualPort(virtualNetwork1.id(), virtualDevice.id(),
|
||||
PortNumber.portNumber(1), cp);
|
||||
manager.removeVirtualPort(virtualNetwork1.id(), (DeviceId) virtualPort.element().id(), virtualPort.number());
|
||||
manager.removeVirtualPort(virtualNetwork1.id(),
|
||||
(DeviceId) virtualPort.element().id(), virtualPort.number());
|
||||
virtualPorts = manager.getVirtualPorts(virtualNetwork1.id(), virtualDevice.id());
|
||||
assertTrue("The virtual port set should be empty.", virtualPorts.isEmpty());
|
||||
}
|
||||
@ -428,7 +453,8 @@ public class VirtualNetworkManagerTest extends TestDeviceParams {
|
||||
@Test
|
||||
public void testAddOrUpdateIntent() {
|
||||
manager.registerTenantId(TenantId.tenantId(tenantIdValue1));
|
||||
VirtualNetwork virtualNetwork = manager.createVirtualNetwork(TenantId.tenantId(tenantIdValue1));
|
||||
VirtualNetwork virtualNetwork =
|
||||
manager.createVirtualNetwork(TenantId.tenantId(tenantIdValue1));
|
||||
ConnectPoint cp1 = new ConnectPoint(DID1, P1);
|
||||
ConnectPoint cp2 = new ConnectPoint(DID2, P1);
|
||||
|
||||
@ -442,13 +468,17 @@ public class VirtualNetworkManagerTest extends TestDeviceParams {
|
||||
|
||||
// Add the intent to the store.
|
||||
manager.store.addOrUpdateIntent(virtualIntent, IntentState.INSTALL_REQ);
|
||||
assertEquals("The intent size should match.", 1, manager.store.getIntents().size());
|
||||
assertNotNull("The intent should not be null.", manager.store.getIntent(virtualIntent.key()));
|
||||
assertEquals("The intent size should match.", 1,
|
||||
manager.store.getIntents().size());
|
||||
assertNotNull("The intent should not be null.",
|
||||
manager.store.getIntent(virtualIntent.key()));
|
||||
|
||||
// remove the intent from the store.
|
||||
manager.store.removeIntent(virtualIntent.key());
|
||||
assertTrue("The intents should be empty.", manager.store.getIntents().isEmpty());
|
||||
assertNull("The intent should be null.", manager.store.getIntent(virtualIntent.key()));
|
||||
assertTrue("The intents should be empty.",
|
||||
manager.store.getIntents().isEmpty());
|
||||
assertNull("The intent should be null.",
|
||||
manager.store.getIntent(virtualIntent.key()));
|
||||
}
|
||||
|
||||
/**
|
||||
@ -488,11 +518,13 @@ public class VirtualNetworkManagerTest extends TestDeviceParams {
|
||||
TunnelId tunnelId = TunnelId.valueOf("virtual tunnel");
|
||||
// Add the intent to tunnelID mapping to the store.
|
||||
manager.store.addTunnelId(virtualIntent, tunnelId);
|
||||
assertEquals("The tunnels size should match.", 1, manager.store.getTunnelIds(virtualIntent).size());
|
||||
assertEquals("The tunnels size should match.", 1,
|
||||
manager.store.getTunnelIds(virtualIntent).size());
|
||||
|
||||
// Remove the intent to tunnelID mapping from the store.
|
||||
manager.store.removeTunnelId(virtualIntent, tunnelId);
|
||||
assertTrue("The tunnels should be empty.", manager.store.getTunnelIds(virtualIntent).isEmpty());
|
||||
assertTrue("The tunnels should be empty.",
|
||||
manager.store.getTunnelIds(virtualIntent).isEmpty());
|
||||
}
|
||||
|
||||
|
||||
@ -501,7 +533,8 @@ public class VirtualNetworkManagerTest extends TestDeviceParams {
|
||||
**/
|
||||
private VirtualNetwork setupVirtualNetworkTopology() {
|
||||
manager.registerTenantId(TenantId.tenantId(tenantIdValue1));
|
||||
VirtualNetwork virtualNetwork = manager.createVirtualNetwork(TenantId.tenantId(tenantIdValue1));
|
||||
VirtualNetwork virtualNetwork =
|
||||
manager.createVirtualNetwork(TenantId.tenantId(tenantIdValue1));
|
||||
|
||||
VirtualDevice virtualDevice1 =
|
||||
manager.createVirtualDevice(virtualNetwork.id(), DID1);
|
||||
@ -564,8 +597,13 @@ public class VirtualNetworkManagerTest extends TestDeviceParams {
|
||||
virtualNetworkManagerStore.updateLink(link6, link6.tunnelId(), Link.State.ACTIVE);
|
||||
|
||||
topologyService = manager.get(virtualNetwork.id(), TopologyService.class);
|
||||
topologyProvider = new VirtualNetworkTopologyProvider();
|
||||
topologyProvider.topologyService = topologyService;
|
||||
topologyProvider = new DefaultVirtualNetworkProvider();
|
||||
try {
|
||||
TestUtils.setField(topologyProvider, "topologyService", topologyService);
|
||||
} catch (TestUtils.TestUtilsException e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
// topologyProvider.topologyService = topologyService;
|
||||
|
||||
return virtualNetwork;
|
||||
}
|
||||
@ -576,10 +614,12 @@ public class VirtualNetworkManagerTest extends TestDeviceParams {
|
||||
@Test
|
||||
public void testTopologyChanged() {
|
||||
VirtualNetwork virtualNetwork = setupVirtualNetworkTopology();
|
||||
VirtualNetworkProviderService providerService = manager.createProviderService(topologyProvider);
|
||||
VirtualNetworkProviderService providerService =
|
||||
manager.createProviderService(topologyProvider);
|
||||
|
||||
// Initial setup is two clusters of devices/links.
|
||||
assertEquals("The cluster count did not match.", 2, topologyService.currentTopology().clusterCount());
|
||||
assertEquals("The cluster count did not match.", 2,
|
||||
topologyService.currentTopology().clusterCount());
|
||||
|
||||
// Adding this link will join the two clusters together.
|
||||
List<Event> reasons = new ArrayList<>();
|
||||
@ -593,7 +633,8 @@ public class VirtualNetworkManagerTest extends TestDeviceParams {
|
||||
|
||||
// Validate that all links are still active.
|
||||
manager.getVirtualLinks(virtualNetwork.id()).forEach(virtualLink -> {
|
||||
assertTrue("The virtual link should be active.", virtualLink.state().equals(Link.State.ACTIVE));
|
||||
assertTrue("The virtual link should be active.",
|
||||
virtualLink.state().equals(Link.State.ACTIVE));
|
||||
});
|
||||
|
||||
virtualNetworkManagerStore.updateLink(link, link.tunnelId(), Link.State.INACTIVE);
|
||||
@ -602,7 +643,8 @@ public class VirtualNetworkManagerTest extends TestDeviceParams {
|
||||
|
||||
// Validate that all links are active again.
|
||||
manager.getVirtualLinks(virtualNetwork.id()).forEach(virtualLink -> {
|
||||
assertTrue("The virtual link should be active.", virtualLink.state().equals(Link.State.ACTIVE));
|
||||
assertTrue("The virtual link should be active.",
|
||||
virtualLink.state().equals(Link.State.ACTIVE));
|
||||
});
|
||||
}
|
||||
|
||||
|
@ -49,7 +49,7 @@ import static org.junit.Assert.assertEquals;
|
||||
/**
|
||||
* Junit tests for VirtualNetworkPathService.
|
||||
*/
|
||||
public class VirtualNetworkPathServiceTest extends TestDeviceParams {
|
||||
public class VirtualNetworkPathManagerTest extends TestDeviceParams {
|
||||
private final String tenantIdValue1 = "TENANT_ID1";
|
||||
|
||||
private VirtualNetworkManager manager;
|
@ -57,7 +57,7 @@ import static org.junit.Assert.*;
|
||||
/**
|
||||
* Junit tests for VirtualNetworkTopologyService.
|
||||
*/
|
||||
public class VirtualNetworkTopologyServiceTest extends TestDeviceParams {
|
||||
public class VirtualNetworkTopologyManagerTest extends TestDeviceParams {
|
||||
|
||||
private final String tenantIdValue1 = "TENANT_ID1";
|
||||
|
||||
@ -70,9 +70,9 @@ public class VirtualNetworkTopologyServiceTest extends TestDeviceParams {
|
||||
public void setUp() throws Exception {
|
||||
virtualNetworkManagerStore = new DistributedVirtualNetworkStore();
|
||||
|
||||
coreService = new VirtualNetworkTopologyServiceTest.TestCoreService();
|
||||
coreService = new VirtualNetworkTopologyManagerTest.TestCoreService();
|
||||
virtualNetworkManagerStore.setCoreService(coreService);
|
||||
TestUtils.setField(coreService, "coreService", new VirtualNetworkTopologyServiceTest.TestCoreService());
|
||||
TestUtils.setField(coreService, "coreService", new VirtualNetworkTopologyManagerTest.TestCoreService());
|
||||
TestUtils.setField(virtualNetworkManagerStore, "storageService", new TestStorageService());
|
||||
virtualNetworkManagerStore.activate();
|
||||
|
@ -14,7 +14,7 @@
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package org.onosproject.incubator.net.virtual.impl;
|
||||
package org.onosproject.incubator.net.virtual.impl.provider;
|
||||
|
||||
import org.junit.After;
|
||||
import org.junit.Before;
|
||||
@ -34,6 +34,7 @@ import org.onosproject.incubator.net.virtual.VirtualNetwork;
|
||||
import org.onosproject.incubator.net.virtual.VirtualNetworkProvider;
|
||||
import org.onosproject.incubator.net.virtual.VirtualNetworkProviderRegistry;
|
||||
import org.onosproject.incubator.net.virtual.VirtualNetworkProviderService;
|
||||
import org.onosproject.incubator.net.virtual.impl.VirtualNetworkManager;
|
||||
import org.onosproject.incubator.store.virtual.impl.DistributedVirtualNetworkStore;
|
||||
import org.onosproject.net.ConnectPoint;
|
||||
import org.onosproject.net.Link;
|
||||
@ -84,7 +85,7 @@ public class VirtualNetworkTopologyProviderTest extends TestDeviceParams {
|
||||
private VirtualNetworkManager manager;
|
||||
private DistributedVirtualNetworkStore virtualNetworkManagerStore;
|
||||
private CoreService coreService;
|
||||
private VirtualNetworkTopologyProvider topologyProvider;
|
||||
private DefaultVirtualNetworkProvider topologyProvider;
|
||||
private TopologyService topologyService;
|
||||
private TestableIntentService intentService = new FakeIntentManager();
|
||||
private final VirtualNetworkRegistryAdapter virtualNetworkRegistry = new VirtualNetworkRegistryAdapter();
|
||||
@ -102,14 +103,14 @@ public class VirtualNetworkTopologyProviderTest extends TestDeviceParams {
|
||||
|
||||
coreService = new VirtualNetworkTopologyProviderTest.TestCoreService();
|
||||
|
||||
virtualNetworkManagerStore.setCoreService(coreService);
|
||||
TestUtils.setField(coreService, "coreService", new VirtualNetworkTopologyProviderTest.TestCoreService());
|
||||
TestUtils.setField(virtualNetworkManagerStore, "storageService", new TestStorageService());
|
||||
TestUtils.setField(virtualNetworkManagerStore, "coreService", coreService);
|
||||
TestUtils.setField(virtualNetworkManagerStore, "storageService",
|
||||
new TestStorageService());
|
||||
virtualNetworkManagerStore.activate();
|
||||
|
||||
manager = new VirtualNetworkManager();
|
||||
manager.store = virtualNetworkManagerStore;
|
||||
manager.intentService = intentService;
|
||||
TestUtils.setField(manager, "store", virtualNetworkManagerStore);
|
||||
TestUtils.setField(manager, "intentService", intentService);
|
||||
NetTestTools.injectEventDispatcher(manager, new TestEventDispatcher());
|
||||
manager.activate();
|
||||
|
||||
@ -117,7 +118,7 @@ public class VirtualNetworkTopologyProviderTest extends TestDeviceParams {
|
||||
virtualNetwork = manager.createVirtualNetwork(TenantId.tenantId(tenantIdValue1));
|
||||
|
||||
topologyService = manager.get(virtualNetwork.id(), TopologyService.class);
|
||||
topologyProvider = new VirtualNetworkTopologyProvider();
|
||||
topologyProvider = new DefaultVirtualNetworkProvider();
|
||||
topologyProvider.topologyService = topologyService;
|
||||
topologyProvider.providerRegistry = virtualNetworkRegistry;
|
||||
topologyProvider.activate();
|
||||
@ -232,8 +233,9 @@ public class VirtualNetworkTopologyProviderTest extends TestDeviceParams {
|
||||
topologyProvider.isTraversable(new ConnectPoint(cp1.elementId(), cp1.port()),
|
||||
new ConnectPoint(cp5.elementId(), cp5.port())));
|
||||
assertFalse("These two connect points should not be traversable.",
|
||||
topologyProvider.isTraversable(new ConnectPoint(virtualDevice1.id(), PortNumber.portNumber(1)),
|
||||
new ConnectPoint(virtualDevice4.id(), PortNumber.portNumber(6))));
|
||||
topologyProvider.isTraversable(
|
||||
new ConnectPoint(virtualDevice1.id(), PortNumber.portNumber(1)),
|
||||
new ConnectPoint(virtualDevice4.id(), PortNumber.portNumber(6))));
|
||||
}
|
||||
|
||||
/**
|
||||
@ -242,7 +244,8 @@ public class VirtualNetworkTopologyProviderTest extends TestDeviceParams {
|
||||
@Test
|
||||
public void testTopologyChanged() {
|
||||
// Initial setup is two clusters of devices/links.
|
||||
assertEquals("The cluster count did not match.", 2, topologyService.currentTopology().clusterCount());
|
||||
assertEquals("The cluster count did not match.", 2,
|
||||
topologyService.currentTopology().clusterCount());
|
||||
|
||||
// Adding this link will join the two clusters together.
|
||||
List<Event> reasons = new ArrayList<>();
|
||||
@ -272,12 +275,14 @@ public class VirtualNetworkTopologyProviderTest extends TestDeviceParams {
|
||||
// Validate that the topology changed method received a single cluster of connect points.
|
||||
// This means that the two previous clusters have now joined into a single cluster.
|
||||
assertEquals("The cluster count did not match.", 1, this.clusters.size());
|
||||
assertEquals("The cluster count did not match.", 1, topologyService.currentTopology().clusterCount());
|
||||
assertEquals("The cluster count did not match.", 1,
|
||||
topologyService.currentTopology().clusterCount());
|
||||
|
||||
// Now remove the virtual link to split it back into two clusters.
|
||||
manager.removeVirtualLink(virtualNetwork.id(), link.src(), link.dst());
|
||||
manager.removeVirtualLink(virtualNetwork.id(), link2.src(), link2.dst());
|
||||
assertEquals("The cluster count did not match.", 2, topologyService.currentTopology().clusterCount());
|
||||
assertEquals("The cluster count did not match.", 2,
|
||||
topologyService.currentTopology().clusterCount());
|
||||
|
||||
reasons = new ArrayList<>();
|
||||
reasons.add(new LinkEvent(LinkEvent.Type.LINK_REMOVED, link));
|
||||
@ -350,11 +355,13 @@ public class VirtualNetworkTopologyProviderTest extends TestDeviceParams {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void tunnelUp(NetworkId networkId, ConnectPoint src, ConnectPoint dst, TunnelId tunnelId) {
|
||||
public void tunnelUp(NetworkId networkId, ConnectPoint src,
|
||||
ConnectPoint dst, TunnelId tunnelId) {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void tunnelDown(NetworkId networkId, ConnectPoint src, ConnectPoint dst, TunnelId tunnelId) {
|
||||
public void tunnelDown(NetworkId networkId, ConnectPoint src,
|
||||
ConnectPoint dst, TunnelId tunnelId) {
|
||||
}
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user