import org.opendaylight.controller.networkconfig.neutron.INeutronSubnetAware;
import org.opendaylight.controller.sal.core.ComponentActivatorAbstractBase;
import org.opendaylight.controller.switchmanager.IInventoryListener;
+import org.opendaylight.controller.switchmanager.ISwitchManager;
import org.opendaylight.ovsdb.openstack.netvirt.api.ArpProvider;
import org.opendaylight.ovsdb.openstack.netvirt.api.BridgeConfigurationManager;
import org.opendaylight.ovsdb.openstack.netvirt.api.Constants;
import org.opendaylight.ovsdb.openstack.netvirt.api.NetworkingProviderManager;
import org.opendaylight.ovsdb.openstack.netvirt.api.OutboundNatProvider;
import org.opendaylight.ovsdb.openstack.netvirt.api.RoutingProvider;
+import org.opendaylight.ovsdb.openstack.netvirt.api.SecurityServicesManager;
import org.opendaylight.ovsdb.openstack.netvirt.api.TenantNetworkManager;
import org.opendaylight.ovsdb.openstack.netvirt.api.VlanConfigurationCache;
import org.opendaylight.ovsdb.openstack.netvirt.impl.BridgeConfigurationManagerImpl;
import org.opendaylight.ovsdb.openstack.netvirt.impl.NeutronL3Adapter;
import org.opendaylight.ovsdb.openstack.netvirt.impl.OpenstackRouter;
import org.opendaylight.ovsdb.openstack.netvirt.impl.ProviderNetworkManagerImpl;
+import org.opendaylight.ovsdb.openstack.netvirt.impl.SecurityServicesImpl;
import org.opendaylight.ovsdb.openstack.netvirt.impl.TenantNetworkManagerImpl;
import org.opendaylight.ovsdb.openstack.netvirt.impl.VlanConfigurationCacheImpl;
import org.opendaylight.ovsdb.plugin.api.OvsdbConfigurationService;
EventDispatcherImpl.class,
FWaasHandler.class,
LBaaSHandler.class,
+ LBaaSPoolMemberHandler.class,
NeutronL3Adapter.class,
- OpenstackRouter.class};
+ OpenstackRouter.class,
+ SecurityServicesImpl.class};
return res;
}
c.add(createServiceDependency().setService(INeutronLoadBalancerPoolCRUD.class).setRequired(true));
c.add(createServiceDependency().setService(INeutronLoadBalancerPoolMemberCRUD.class).setRequired(true));
c.add(createServiceDependency().setService(LoadBalancerProvider.class).setRequired(true));
+ c.add(createServiceDependency().setService(ISwitchManager.class).setRequired(true));
+ }
+
+ if (imp.equals(LBaaSPoolMemberHandler.class)) {
+ Properties lbaasPoolMemberHandlerProperties = new Properties();
+ lbaasPoolMemberHandlerProperties.put(Constants.EVENT_HANDLER_TYPE_PROPERTY,
+ AbstractEvent.HandlerType.NEUTRON_LOAD_BALANCER_POOL_MEMBER);
+ c.setInterface(new String[] {INeutronLoadBalancerAware.class.getName()},
+ lbaasPoolMemberHandlerProperties);
+ c.add(createServiceDependency().setService(EventDispatcher.class).setRequired(true));
+ c.add(createServiceDependency().setService(INeutronPortCRUD.class).setRequired(true));
+ c.add(createServiceDependency().setService(INeutronLoadBalancerCRUD.class).setRequired(true));
+ c.add(createServiceDependency().setService(INeutronLoadBalancerPoolCRUD.class).setRequired(true));
+ c.add(createServiceDependency().setService(LoadBalancerProvider.class).setRequired(true));
+ c.add(createServiceDependency().setService(ISwitchManager.class).setRequired(true));
}
if (imp.equals(PortSecurityHandler.class)) {
Properties portSecurityHandlerProperties = new Properties();
portSecurityHandlerProperties.put(Constants.EVENT_HANDLER_TYPE_PROPERTY,
AbstractEvent.HandlerType.NEUTRON_PORT_SECURITY);
- c.setInterface(new String[] {INeutronSecurityRuleAware.class.getName(),
- INeutronSecurityGroupAware.class.getName(),
- AbstractHandler.class.getName()},
+ c.setInterface(new String[]{INeutronSecurityRuleAware.class.getName(),
+ INeutronSecurityGroupAware.class.getName(),
+ AbstractHandler.class.getName()},
portSecurityHandlerProperties);
c.add(createServiceDependency().setService(EventDispatcher.class).setRequired(true));
+ c.add(createServiceDependency().setService(SecurityServicesManager.class).setRequired(true));
+ }
+
+ if (imp.equals(SecurityServicesImpl.class)) {
+ c.setInterface(new String[] {SecurityServicesManager.class.getName()}, null);
}
if (imp.equals(FWaasHandler.class)) {
* Either that, or we should do service lookup at runtime based on getProvider().getName()
* This is a shortcut as for now there will only be one implementation of these classes.
*/
- c.add(createServiceDependency().setService(MultiTenantAwareRouter.class).setRequired(false));
c.add(createServiceDependency().setService(ArpProvider.class).setRequired(false));
c.add(createServiceDependency().setService(InboundNatProvider.class).setRequired(false));
c.add(createServiceDependency().setService(OutboundNatProvider.class).setRequired(false));