There are various places where dependency injection is used to get service interfaces. The ones removed in this patch were unsused. This will make it easier to implement the southbound equivalent of the services since these removed ones can be ignored.
Patch set 2: Modify unit tests verify clauses to not expect certain methods to have been called.
Change-Id: I2fd815d92631039a7dc923bf35c3aa863d19e47a
Signed-off-by: Sam Hague <shague@redhat.com>
manager.add(createComponent()
.setInterface(TenantNetworkManager.class.getName(), null)
.setImplementation(TenantNetworkManagerImpl.class)
- .add(createServiceDependency().setService(NetworkingProviderManager.class))
.add(createServiceDependency().setService(OvsdbConfigurationService.class))
.add(createServiceDependency().setService(OvsdbConnectionService.class))
.add(createServiceDependency().setService(INeutronNetworkCRUD.class).setRequired(true))
.setImplementation(NetworkHandler.class)
.add(createServiceDependency().setService(TenantNetworkManager.class).setRequired(true))
.add(createServiceDependency().setService(BridgeConfigurationManager.class).setRequired(true))
- .add(createServiceDependency().setService(ConfigurationService.class).setRequired(true))
.add(createServiceDependency().setService(OvsdbConfigurationService.class).setRequired(true))
.add(createServiceDependency().setService(OvsdbConnectionService.class).setRequired(true))
.add(createServiceDependency().setService(INeutronNetworkCRUD.class).setRequired(true))
- .add(createServiceDependency().setService(OvsdbInventoryListener.class).setRequired(true))
.add(createServiceDependency().setService(EventDispatcher.class).setRequired(true))
.add(createServiceDependency().setService(NeutronL3Adapter.class).setRequired(true)));
.setImplementation(PortHandler.class)
.add(createServiceDependency().setService(OvsdbConfigurationService.class).setRequired(true))
.add(createServiceDependency().setService(OvsdbConnectionService.class).setRequired(true))
- .add(createServiceDependency().setService(OvsdbInventoryListener.class).setRequired(true))
.add(createServiceDependency().setService(EventDispatcher.class).setRequired(true))
.add(createServiceDependency().setService(NeutronL3Adapter.class).setRequired(true)));
INeutronSecurityGroupAware.class.getName(), AbstractHandler.class.getName()},
portSecurityHandlerProperties)
.setImplementation(PortSecurityHandler.class)
- .add(createServiceDependency().setService(EventDispatcher.class).setRequired(true))
- .add(createServiceDependency().setService(SecurityServicesManager.class).setRequired(true)));
+ .add(createServiceDependency().setService(EventDispatcher.class).setRequired(true)));
manager.add(createComponent()
.setInterface(new String[]{SecurityServicesManager.class.getName()}, null)
manager.add(createComponent()
.setInterface(NetworkingProviderManager.class.getName(), null)
.setImplementation(ProviderNetworkManagerImpl.class)
- .add(createServiceDependency().setService(ConfigurationService.class).setRequired(true))
.add(createServiceDependency().setService(NetworkingProvider.class)
.setCallbacks("providerAdded", "providerRemoved")));
.setImplementation(NeutronL3Adapter.class)
.add(createServiceDependency().setService(ConfigurationService.class).setRequired(true))
.add(createServiceDependency().setService(TenantNetworkManager.class).setRequired(true))
- .add(createServiceDependency().setService(NetworkingProviderManager.class).setRequired(true))
.add(createServiceDependency().setService(OvsdbConfigurationService.class).setRequired(true))
.add(createServiceDependency().setService(OvsdbConnectionService.class).setRequired(true))
.add(createServiceDependency().setService(INeutronNetworkCRUD.class).setRequired(true))
.add(createServiceDependency().setService(INeutronSubnetCRUD.class).setRequired(true))
.add(createServiceDependency().setService(INeutronPortCRUD.class).setRequired(true))
- .add(createServiceDependency().setService(MultiTenantAwareRouter.class).setRequired(true))
/* ToDo, we should probably just use the NetworkingProvider interface
* This should provide a way of getting service implementations
* Either that, or we should do service lookup at runtime based on getProvider().getName()
import org.opendaylight.ovsdb.lib.notation.UUID;
import org.opendaylight.ovsdb.openstack.netvirt.api.Action;
import org.opendaylight.ovsdb.openstack.netvirt.api.BridgeConfigurationManager;
-import org.opendaylight.ovsdb.openstack.netvirt.api.ConfigurationService;
+//import org.opendaylight.ovsdb.openstack.netvirt.api.ConfigurationService;
import org.opendaylight.ovsdb.openstack.netvirt.api.TenantNetworkManager;
import org.opendaylight.ovsdb.openstack.netvirt.impl.NeutronL3Adapter;
import org.opendaylight.ovsdb.plugin.api.OvsdbConfigurationService;
import org.opendaylight.ovsdb.plugin.api.OvsdbConnectionService;
-import org.opendaylight.ovsdb.plugin.api.OvsdbInventoryListener;
+//import org.opendaylight.ovsdb.plugin.api.OvsdbInventoryListener;
import org.opendaylight.ovsdb.schema.openvswitch.Interface;
import org.opendaylight.ovsdb.schema.openvswitch.Port;
import org.opendaylight.yang.gen.v1.urn.opendaylight.inventory.rev130819.nodes.Node;
// The implementation for each of these services is resolved by the OSGi Service Manager
private volatile TenantNetworkManager tenantNetworkManager;
private volatile BridgeConfigurationManager bridgeConfigurationManager;
- private volatile ConfigurationService configurationService;
+ //private volatile ConfigurationService configurationService;
private volatile OvsdbConfigurationService ovsdbConfigurationService;
private volatile OvsdbConnectionService connectionService;
private volatile INeutronNetworkCRUD neutronNetworkCache;
- private volatile OvsdbInventoryListener ovsdbInventoryListener;
+ //private volatile OvsdbInventoryListener ovsdbInventoryListener;
private volatile NeutronL3Adapter neutronL3Adapter;
/**
// The implementation for each of these services is resolved by the OSGi Service Manager
private volatile OvsdbConfigurationService ovsdbConfigurationService;
private volatile OvsdbConnectionService connectionService;
- private volatile OvsdbInventoryListener ovsdbInventoryListener;
private volatile NeutronL3Adapter neutronL3Adapter;
/**
*/
public NeutronNetwork getTenantNetwork(Interface intf);
- /**
- * Network Created Callback
- */
- @Deprecated
- public void networkCreated (String networkId);
-
/**
* Network Created Callback
*/
import org.opendaylight.ovsdb.lib.notation.Row;
import org.opendaylight.ovsdb.openstack.netvirt.api.ConfigurationService;
import org.opendaylight.ovsdb.openstack.netvirt.api.Constants;
-import org.opendaylight.ovsdb.openstack.netvirt.api.MultiTenantAwareRouter;
-import org.opendaylight.ovsdb.openstack.netvirt.api.NetworkingProviderManager;
import org.opendaylight.ovsdb.openstack.netvirt.api.TenantNetworkManager;
import org.opendaylight.ovsdb.plugin.api.OvsdbConfigurationService;
import org.opendaylight.ovsdb.plugin.api.OvsdbConnectionService;
// The implementation for each of these services is resolved by the OSGi Service Manager
private volatile ConfigurationService configurationService;
private volatile TenantNetworkManager tenantNetworkManager;
- private volatile NetworkingProviderManager networkingProviderManager;
private volatile OvsdbConfigurationService ovsdbConfigurationService;
private volatile OvsdbConnectionService connectionService;
private volatile INeutronNetworkCRUD neutronNetworkCache;
private volatile INeutronSubnetCRUD neutronSubnetCache;
private volatile INeutronPortCRUD neutronPortCache;
- private volatile MultiTenantAwareRouter multiTenantAwareRouter;
private volatile L3ForwardingProvider l3ForwardingProvider;
private volatile InboundNatProvider inboundNatProvider;
private volatile OutboundNatProvider outboundNatProvider;
public class ProviderNetworkManagerImpl implements NetworkingProviderManager {
static final Logger logger = LoggerFactory.getLogger(ProviderNetworkManagerImpl.class);
- // The provider for each of these services is resolved by the OSGi Service Manager
- private volatile ConfigurationService configurationService;
-
private HashMap<Long, ProviderEntry> providers = Maps.newHashMap();
private HashMap<Node, NetworkingProvider> nodeToProviderMapping = Maps.newHashMap();
}
final String targetVersion = Constants.OPENFLOW13;
- /*
- * Since we have hard depedencies on OpenFlow1.3 to get any of the services supported, we are
- * Hardcoding the Openflow13 as the only version that we are interested in
- */
- // final String targetVersion = configurationService.getOpenflowVersion(node);
-
Predicate<ProviderEntry> providerEntryPredicate = new Predicate<ProviderEntry>() {
@Override
public boolean apply(ProviderEntry providerEntry) {
static final Logger logger = LoggerFactory.getLogger(TenantNetworkManagerImpl.class);
// The implementation for each of these services is resolved by the OSGi Service Manager
- private volatile NetworkingProviderManager networkingProviderManager;
private volatile OvsdbConfigurationService ovsdbConfigurationService;
private volatile OvsdbConnectionService connectionService;
private volatile INeutronNetworkCRUD neutronNetworkCache;
logger.debug("Tenant Network not found with Segmenation-id {}",segmentationId);
return false;
}
- if (networkingProviderManager.getProvider(node).hasPerTenantTunneling()) {
- int internalVlan = vlanConfigurationCache.getInternalVlan(node, networkId);
- if (internalVlan == 0) {
- logger.debug("No InternalVlan provisioned for Tenant Network {}",networkId);
- return false;
- }
- }
try {
/*
return neutronNetwork;
}
- @Override
- public void networkCreated (String networkId) {
- List<Node> nodes = connectionService.getNodes();
-
- for (Node node : nodes) {
- this.networkCreated(node, networkId);
- }
-
- }
-
@Override
public int networkCreated (Node node, String networkId) {
return vlanConfigurationCache.assignInternalVlan(node, networkId);
when(neutronPort.getNetworkUUID()).thenReturn("networkUUID");
assertTrue("Error, did not return correct boolean for isTenantNetworkPresentInNode", tenantNetworkManagerImpl.isTenantNetworkPresentInNode(mock(Node.class), "segId"));
-
-
- verify(networkingProviderManager, times(1)).getProvider(any(Node.class));
- verify(vlanConfigurationCache, times(1)).getInternalVlan(any(Node.class), anyString());
}
/**
verify(neutronNetworkCache, times(1)).getNetwork(anyString());
}
- /**
- * Test method {@link TenantNetworkManagerImpl#networkCreated(String)}
- */
- @Test
- public void testNetworkCreated() {
- int numberOfNode = 10;
- when(vlanConfigurationCache.assignInternalVlan(any(Node.class), anyString())).thenReturn(10);
-
- List<Node> nodes = new ArrayList();
- for (int i = 0; i<numberOfNode; i++) {
- nodes.add(mock(Node.class));
- }
- when(ovsdbConnectionService.getNodes()).thenReturn(nodes);
-
- tenantNetworkManagerImpl.networkCreated(NETWORK_ID);
-
- verify(ovsdbConnectionService, times(1)).getNodes();
- verify(vlanConfigurationCache, times(numberOfNode)).assignInternalVlan(any(Node.class), anyString());
-
- assertEquals("Error, did not return the correct network id", 10,tenantNetworkManagerImpl.networkCreated(mock(Node.class), NETWORK_ID));
- }
}