Bug 7988 - Cluster reboot fix
[netvirt.git] / vpnservice / neutronvpn / neutronvpn-impl / src / main / resources / org / opendaylight / blueprint / neutronvpn.xml
index a87b4f7fc5e6b405921a44125c1c1354f56ba698..f52261f3a09e7d1980d37822cb404fd90051474a 100644 (file)
@@ -8,55 +8,54 @@
              odl:type="default" />
   <reference id="elanService"
              interface="org.opendaylight.netvirt.elanmanager.api.IElanService" />
+  <reference id="l2gwService"
+             interface="org.opendaylight.netvirt.elanmanager.api.IL2gwService" />
   <reference id="entityOwnershipService"
              interface="org.opendaylight.controller.md.sal.common.api.clustering.EntityOwnershipService" />
-  <reference id="mdsalUtils"
-             interface="org.opendaylight.genius.mdsalutil.interfaces.IMdsalApiManager" />
   <reference id="notificationPublishService"
              interface="org.opendaylight.controller.md.sal.binding.api.NotificationPublishService" />
   <reference id="vpnManager"
            interface="org.opendaylight.netvirt.vpnmanager.api.IVpnManager" />
-
+  <reference id="centralizedSwitchProvider"
+           interface="org.opendaylight.netvirt.vpnmanager.api.ICentralizedSwitchProvider" />
+  <reference id="interfaceManager"
+    interface="org.opendaylight.genius.interfacemanager.interfaces.IInterfaceManager" />
 
   <odl:rpc-service id="idManagerService"
                    interface="org.opendaylight.yang.gen.v1.urn.opendaylight.genius.idmanager.rev160406.IdManagerService" />
-  <odl:rpc-service id="odlInterfaceRpcService"
-                   interface="org.opendaylight.yang.gen.v1.urn.opendaylight.genius.interfacemanager.rpcs.rev160406.OdlInterfaceRpcService" />
   <odl:rpc-service id="itmRpcService"
                    interface="org.opendaylight.yang.gen.v1.urn.opendaylight.genius.itm.rpcs.rev160406.ItmRpcService" />
-  <odl:rpc-service id="lockManagerService"
-                   interface="org.opendaylight.yang.gen.v1.urn.opendaylight.genius.lockmanager.rev160413.LockManagerService" />
   <odl:rpc-service id="vpnRpcService"
                    interface="org.opendaylight.yang.gen.v1.urn.opendaylight.netvirt.vpn.rpc.rev160201.VpnRpcService" />
   <odl:rpc-service id="odlArputilService"
                    interface="org.opendaylight.yang.gen.v1.urn.opendaylight.genius.arputil.rev160406.OdlArputilService" />
 
+  <odl:clustered-app-config id="neutronvpnConfig"
+                            binding-class="org.opendaylight.yang.gen.v1.urn.opendaylight.netvirt.neutronvpn.config.rev160806.NeutronvpnConfig"
+                            default-config-file-name="netvirt-neutronvpn-config.xml">
+  </odl:clustered-app-config>
+
   <bean id="neutronvpnNatManager"
         class="org.opendaylight.netvirt.neutronvpn.NeutronvpnNatManager"
         destroy-method="close">
     <argument ref="dataBroker" />
-    <argument ref="mdsalUtils" />
-    <argument ref="lockManagerService" />
-    <argument ref="elanService" />
   </bean>
 
   <bean id="neutronFloatingToFixedIpMappingChangeListener"
         class="org.opendaylight.netvirt.neutronvpn.NeutronFloatingToFixedIpMappingChangeListener"
         init-method="start" destroy-method="close">
     <argument ref="dataBroker" />
-    <argument ref="lockManagerService" />
   </bean>
 
   <bean id="neutronvpnManager" class="org.opendaylight.netvirt.neutronvpn.NeutronvpnManager"
         destroy-method="close">
     <argument ref="dataBroker" />
-    <argument ref="mdsalUtils" />
     <argument ref="notificationPublishService" />
     <argument ref="neutronvpnNatManager" />
-    <argument ref="lockManagerService" />
     <argument ref="vpnRpcService" />
     <argument ref="elanService" />
     <argument ref="neutronFloatingToFixedIpMappingChangeListener" />
+    <argument ref="neutronvpnConfig" />
   </bean>
   <odl:rpc-implementation ref="neutronvpnManager" />
 
         class="org.opendaylight.netvirt.neutronvpn.NeutronNetworkChangeListener"
         init-method="start" destroy-method="close">
     <argument ref="dataBroker" />
+    <argument ref="neutronvpnManager" />
     <argument ref="neutronvpnNatManager" />
     <argument ref="elanService" />
-    <argument ref="odlInterfaceRpcService" />
-  </bean>
-
-  <bean id="neutronQosPolicyChangeListener"
-        class="org.opendaylight.netvirt.neutronvpn.NeutronQosPolicyChangeListener"
-        init-method="start" destroy-method="close">
-    <argument ref="dataBroker" />
-    <argument ref="odlInterfaceRpcService" />
   </bean>
 
   <bean id="neutronSubnetChangeListener"
         init-method="start" destroy-method="close">
     <argument ref="dataBroker" />
     <argument ref="neutronvpnManager" />
+    <argument ref="neutronExternalSubnetHandler" />
+  </bean>
+
+  <bean id="neutronExternalSubnetHandler"
+        class="org.opendaylight.netvirt.neutronvpn.NeutronExternalSubnetHandler"
+        destroy-method="close">
+    <argument ref="neutronvpnManager" />
+    <argument ref="neutronvpnNatManager" />
   </bean>
 
   <bean id="neutronRouterChangeListener"
     <argument ref="neutronvpnManager" />
     <argument ref="neutronvpnNatManager" />
     <argument ref="notificationPublishService" />
-    <argument ref="lockManagerService" />
     <argument ref="neutronSubnetGwMacResolver" />
-    <argument ref="odlInterfaceRpcService" />
+    <argument ref="elanService" />
+  </bean>
+
+  <bean id="neutronvpnSubnetmapListener"
+        class="org.opendaylight.netvirt.neutronvpn.SubnetmapChangeListener"
+        init-method="start" destroy-method="close">
+    <argument ref="dataBroker" />
+    <argument ref="notificationPublishService" />
   </bean>
 
   <bean id="neutronSubnetGwMacResolver"
     <argument ref="vpnManager" />
     <argument ref="odlArputilService" />
     <argument ref="elanService" />
+    <argument ref="centralizedSwitchProvider" />
   </bean>
 
   <bean id="l2GatewayListener"
     <argument ref="dataBroker" />
     <argument ref="entityOwnershipService" />
     <argument ref="itmRpcService" />
+    <argument ref="l2gwService" />
   </bean>
 
   <bean id="l2GwTransportZoneListener"
         init-method="start" destroy-method="close">
     <argument ref="dataBroker" />
   </bean>
-  
+
   <bean id="neutronvpnManagerImpl"
         class="org.opendaylight.netvirt.neutronvpn.NeutronvpnManagerImpl">
         <argument ref="neutronvpnManager" />
   </bean>
-  
-  <bean id="InterfaceStateToTransportZoneListener"
-        class="org.opendaylight.netvirt.neutronvpn.InterfaceStateToTransportZoneListener"
-        destroy-method="close">
+
+  <bean id="NeutronTrunkChangeListener"
+        class="org.opendaylight.netvirt.neutronvpn.NeutronTrunkChangeListener"
+        init-method="start" destroy-method="close">
     <argument ref="dataBroker" />
-    <argument ref="neutronvpnManager" />
+    <argument ref="interfaceManager" />
   </bean>
+
   <service ref="neutronvpnManagerImpl" odl:type="default"
            interface="org.opendaylight.netvirt.neutronvpn.interfaces.INeutronVpnManager" />
 </blueprint>