L3: Remove redundant line added in commit e38b7ff6
[netvirt.git] / openstack / net-virt / src / main / java / org / opendaylight / ovsdb / openstack / netvirt / Activator.java
index 2a4bc957e99d494fdd81989a3be36912daf0c695..d6d8610a4981d6859c4fcda003caf63b4f46eba6 100644 (file)
@@ -15,8 +15,9 @@ import org.opendaylight.controller.networkconfig.neutron.INeutronFirewallPolicyA
 import org.opendaylight.controller.networkconfig.neutron.INeutronFirewallRuleAware;
 import org.opendaylight.controller.networkconfig.neutron.INeutronFloatingIPAware;
 import org.opendaylight.controller.networkconfig.neutron.INeutronLoadBalancerAware;
-import org.opendaylight.controller.networkconfig.neutron.INeutronLoadBalancerPoolAware;
-import org.opendaylight.controller.networkconfig.neutron.INeutronLoadBalancerPoolMemberAware;
+import org.opendaylight.controller.networkconfig.neutron.INeutronLoadBalancerCRUD;
+import org.opendaylight.controller.networkconfig.neutron.INeutronLoadBalancerPoolCRUD;
+import org.opendaylight.controller.networkconfig.neutron.INeutronLoadBalancerPoolMemberCRUD;
 import org.opendaylight.controller.networkconfig.neutron.INeutronNetworkAware;
 import org.opendaylight.controller.networkconfig.neutron.INeutronNetworkCRUD;
 import org.opendaylight.controller.networkconfig.neutron.INeutronPortAware;
@@ -24,15 +25,24 @@ import org.opendaylight.controller.networkconfig.neutron.INeutronPortCRUD;
 import org.opendaylight.controller.networkconfig.neutron.INeutronRouterAware;
 import org.opendaylight.controller.networkconfig.neutron.INeutronSecurityGroupAware;
 import org.opendaylight.controller.networkconfig.neutron.INeutronSecurityRuleAware;
+import org.opendaylight.controller.networkconfig.neutron.INeutronSubnetCRUD;
 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.EventDispatcher;
+import org.opendaylight.ovsdb.openstack.netvirt.api.InboundNatProvider;
+import org.opendaylight.ovsdb.openstack.netvirt.api.L3ForwardingProvider;
+import org.opendaylight.ovsdb.openstack.netvirt.api.LoadBalancerProvider;
 import org.opendaylight.ovsdb.openstack.netvirt.api.MultiTenantAwareRouter;
 import org.opendaylight.ovsdb.openstack.netvirt.api.NetworkingProvider;
 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;
@@ -41,6 +51,7 @@ import org.opendaylight.ovsdb.openstack.netvirt.impl.EventDispatcherImpl;
 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;
@@ -97,8 +108,10 @@ public class Activator extends ComponentActivatorAbstractBase {
                         EventDispatcherImpl.class,
                         FWaasHandler.class,
                         LBaaSHandler.class,
+                        LBaaSPoolMemberHandler.class,
                         NeutronL3Adapter.class,
-                        OpenstackRouter.class};
+                        OpenstackRouter.class,
+                        SecurityServicesImpl.class};
         return res;
     }
 
@@ -234,23 +247,47 @@ public class Activator extends ComponentActivatorAbstractBase {
 
         if (imp.equals(LBaaSHandler.class)) {
             Properties lbaasHandlerProperties = new Properties();
-            lbaasHandlerProperties.put(Constants.EVENT_HANDLER_TYPE_PROPERTY, AbstractEvent.HandlerType.NEUTRON_LBAAS);
-            c.setInterface(new String[] {INeutronLoadBalancerAware.class.getName(),
-                                         INeutronLoadBalancerPoolAware.class.getName(),
-                                         INeutronLoadBalancerPoolMemberAware.class.getName()},
+            lbaasHandlerProperties.put(Constants.EVENT_HANDLER_TYPE_PROPERTY,
+                    AbstractEvent.HandlerType.NEUTRON_LOAD_BALANCER);
+            c.setInterface(new String[] {INeutronLoadBalancerAware.class.getName()},
                                          lbaasHandlerProperties);
             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(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)) {
@@ -283,10 +320,27 @@ public class Activator extends ComponentActivatorAbstractBase {
 
         if (imp.equals(NeutronL3Adapter.class)) {
             c.setInterface(NeutronL3Adapter.class.getName(), null);
-
+            c.add(createServiceDependency()
+                          .setService(org.opendaylight.ovsdb.openstack.netvirt.api.ConfigurationService.class)
+                          .setRequired(true));
+            c.add(createServiceDependency().setService(TenantNetworkManager.class).setRequired(true));
+            c.add(createServiceDependency().setService(NetworkingProviderManager.class).setRequired(true));
+            c.add(createServiceDependency().setService(OvsdbConfigurationService.class).setRequired(true));
+            c.add(createServiceDependency().setService(OvsdbConnectionService.class).setRequired(true));
+            c.add(createServiceDependency().setService(INeutronNetworkCRUD.class).setRequired(true));
+            c.add(createServiceDependency().setService(INeutronSubnetCRUD.class).setRequired(true));
+            c.add(createServiceDependency().setService(INeutronPortCRUD.class).setRequired(true));
             c.add(createServiceDependency().setService(MultiTenantAwareRouter.class).setRequired(true));
-            // TODO: it will require MultiTenantRouterForwardingProvider
-            // c.add(createServiceDependency().setService(MultiTenantRouterForwardingProvider.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()
+             * This is a shortcut as for now there will only be one implementation of these classes.
+             */
+            c.add(createServiceDependency().setService(ArpProvider.class).setRequired(false));
+            c.add(createServiceDependency().setService(InboundNatProvider.class).setRequired(false));
+            c.add(createServiceDependency().setService(OutboundNatProvider.class).setRequired(false));
+            c.add(createServiceDependency().setService(RoutingProvider.class).setRequired(false));
+            c.add(createServiceDependency().setService(L3ForwardingProvider.class).setRequired(false));
         }
 
         if (imp.equals(OpenstackRouter.class)) {