[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:
yoonseon 2016-11-21 15:41:07 -08:00 committed by Gerrit Code Review
parent a330c584b6
commit 214963b091
18 changed files with 246 additions and 130 deletions

View File

@ -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();
}

View File

@ -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();

View File

@ -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());
}
/**

View File

@ -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;

View File

@ -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

View File

@ -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)) {

View File

@ -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);
}

View File

@ -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);

View File

@ -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

View File

@ -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;

View File

@ -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();

View File

@ -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;

View File

@ -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;

View File

@ -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();

View File

@ -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));
});
}

View File

@ -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;

View File

@ -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();

View File

@ -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) {
}
}