Bug 9285 - EntityOwnerSelectionStrategyConfigReader in
[controller.git] / opendaylight / md-sal / sal-distributed-datastore / src / main / resources / org / opendaylight / blueprint / clustered-datastore.xml
index cd2ee2def20ee15c35af2a6fc8aaa17d554fd0bc..90e26d945818ecec709924a275bf87b2fc646e98 100644 (file)
@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <blueprint xmlns="http://www.osgi.org/xmlns/blueprint/v1.0.0"
            xmlns:odl="http://opendaylight.org/xmlns/blueprint/v1.0.0"
-           xmlns:cm="http://aries.apache.org/blueprint/xmlns/blueprint-cm/v1.1.0">
+           xmlns:cm="http://aries.apache.org/blueprint/xmlns/blueprint-cm/v1.2.0">
 
   <cm:property-placeholder persistent-id="org.opendaylight.controller.cluster.datastore.broker" update-strategy="none">
     <cm:default-properties>
     </cm:default-properties>
   </cm:property-placeholder>
 
-  <reference id="schemaService" interface="org.opendaylight.controller.sal.core.api.model.SchemaService" />
+  <odl:static-reference id="schemaService" interface="org.opendaylight.mdsal.dom.api.DOMSchemaService" />
 
   <!-- ActorSystemProvider -->
 
+  <bean id="bundleClassLoader" class="org.opendaylight.controller.config.yang.config.actor_system_provider.impl.factory.osgi.BundleClassLoaderFactory"
+          factory-method="createClassLoader">
+    <argument ref="blueprintBundleContext" />
+  </bean>
+
+  <bean id="actorSystemProps" class="org.opendaylight.controller.config.yang.config.actor_system_provider.impl.factory.osgi.QuarantinedMonitorActorPropsFactory"
+          factory-method="createProps">
+    <argument ref="blueprintBundleContext" />
+  </bean>
+
+  <bean id="akkaReader" class="org.opendaylight.controller.cluster.common.actor.FileAkkaConfigurationReader"/>
+  <bean id="akkaConfig" class="org.opendaylight.controller.config.yang.config.actor_system_provider.impl.factory.AkkaConfigFactory"
+          factory-method="createAkkaConfig">
+    <argument ref="akkaReader" />
+  </bean>
+
   <bean id="actorSystemProvider" class="org.opendaylight.controller.config.yang.config.actor_system_provider.impl.ActorSystemProviderImpl"
           destroy-method="close">
-    <argument ref="blueprintBundleContext"/>
+    <argument ref="bundleClassLoader" />
+    <argument ref="actorSystemProps"/>
+    <argument ref="akkaConfig"/>
   </bean>
 
   <service ref="actorSystemProvider" interface="org.opendaylight.controller.cluster.ActorSystemProvider"/>
@@ -24,7 +42,9 @@
   <!-- Distributed Config Datastore -->
 
   <bean id="datastoreSnapshotRestore" class="org.opendaylight.controller.cluster.datastore.DatastoreSnapshotRestore"
-          factory-method="instance" />
+          factory-method="instance">
+    <argument value="./clustered-datastore-restore"/>
+  </bean>
 
   <bean id="configDatastoreContext" class="org.opendaylight.controller.config.yang.config.distributed_datastore_provider.DistributedConfigDataStoreProviderModule"
           factory-method="newDatastoreContext" />
   </service>
 
   <!-- Distributed Operational Datastore -->
+  <bean id="fileModuleShardConfigProvider" class="org.opendaylight.controller.cluster.datastore.config.FileModuleShardConfigProvider">
+    <argument value="./configuration/initial/module-shards.conf"/>
+    <argument value="./configuration/initial/modules.conf"/>
+  </bean>
+
+  <bean id="configurationImpl" class="org.opendaylight.controller.cluster.datastore.config.ConfigurationImpl">
+    <argument ref="fileModuleShardConfigProvider"/>
+  </bean>
 
   <bean id="operDatastoreContext" class="org.opendaylight.controller.config.yang.config.distributed_datastore_provider.DistributedOperationalDataStoreProviderModule"
           factory-method="newDatastoreContext" />
@@ -56,6 +84,7 @@
     <argument ref="datastoreSnapshotRestore"/>
     <argument ref="actorSystemProvider"/>
     <argument ref="blueprintBundleContext"/>
+    <argument ref="configurationImpl" />
   </bean>
 
   <service ref="operDatastore" odl:type="distributed-operational">
   </bean>
 
   <!-- Distributed EntityOwnershipService -->
+  <cm:cm-properties id="strategiesProps" persistent-id="org.opendaylight.controller.cluster.entity.owner.selection.strategies" />
 
   <bean id="selectionStrategyConfig" class="org.opendaylight.controller.cluster.datastore.entityownership.selectionstrategy.EntityOwnerSelectionStrategyConfigReader"
           factory-method="loadStrategyWithConfig">
-    <argument ref="blueprintBundleContext"/>
+    <argument ref="strategiesProps"/>
   </bean>
 
   <bean id="distributedEntityOwnershipService" class="org.opendaylight.controller.cluster.datastore.entityownership.DistributedEntityOwnershipService"
     <argument ref="selectionStrategyConfig"/>
   </bean>
 
-  <service ref="distributedEntityOwnershipService" interface="org.opendaylight.controller.md.sal.common.api.clustering.EntityOwnershipService"
+  <service ref="distributedEntityOwnershipService" interface="org.opendaylight.mdsal.eos.dom.api.DOMEntityOwnershipService"
         odl:type="default"/>
-</blueprint>
\ No newline at end of file
+
+  <!-- CDS shard manager -->
+  <bean id="cdsNodeManager" class="org.opendaylight.controller.cluster.sharding.DistributedShardedDOMDataTree"
+          init-method="init">
+    <argument ref="actorSystemProvider"/>
+    <argument ref="operDatastore"/>
+    <argument ref="configDatastore"/>
+  </bean>
+
+  <service ref="cdsNodeManager" odl:type="default">
+    <interfaces>
+      <value>org.opendaylight.mdsal.dom.api.DOMDataTreeShardingService</value>
+      <value>org.opendaylight.mdsal.dom.api.DOMDataTreeService</value>
+      <value>org.opendaylight.controller.cluster.sharding.DistributedShardFactory</value>
+    </interfaces>
+  </service>
+
+</blueprint>