Fix bug in DatastoreContext copy constructor
[controller.git] / opendaylight / md-sal / sal-distributed-datastore / src / main / yang / distributed-datastore-provider.yang
index 71c440eeced5b67051f0b9f15e53696d0f9d0c18..b6980a659f73c2d17def6c882fe204e13bd7ab95 100644 (file)
@@ -10,6 +10,7 @@ module distributed-datastore-provider {
     import opendaylight-config-dom-datastore {prefix config-dom-store-spi;}
     import opendaylight-operational-dom-datastore {prefix operational-dom-store-spi;}
     import opendaylight-md-sal-dom {prefix sal;}
+    import actor-system-provider-service {prefix actor-system;}
 
     description
         "This module contains the base YANG definitions for
@@ -214,6 +215,24 @@ module distributed-datastore-provider {
              description "Enable or disable transaction context debug. This will log the call site trace for
                           transactions that fail";
          }
+
+         leaf custom-raft-policy-implementation {
+            default "";
+            type string;
+            description "A fully qualified java class name. The class should implement
+                         org.opendaylight.controller.cluster.raft.policy.RaftPolicy. This java class should be
+                         accessible to the distributed data store OSGi module so that it can be dynamically loaded via
+                         reflection. For now let's assume that these classes to customize raft behaviors should be
+                         present in the distributed data store module itself. If this property is set to a class which
+                         cannot be found then the default raft behavior will be applied";
+         }
+
+         leaf shard-snapshot-chunk-size {
+            default 2048000;
+            type non-zero-uint32-type;
+            description "When sending a snapshot to a follower, this is the maximum size in bytes for 
+                         a chunk of data.";
+         }
     }
 
     // Augments the 'configuration' choice node under modules/module.
@@ -223,12 +242,21 @@ module distributed-datastore-provider {
                 container config-schema-service {
                     uses config:service-ref {
                         refine type {
-                            mandatory false;
+                            mandatory true;
                             config:required-identity sal:schema-service;
                         }
                     }
                 }
 
+                container config-actor-system-provider {
+                    uses config:service-ref {
+                        refine type {
+                            mandatory true;
+                            config:required-identity actor-system:actor-system-provider-service;
+                        }
+                    }
+                }
+
                 container config-properties {
                     uses data-store-properties;
                 }
@@ -242,12 +270,21 @@ module distributed-datastore-provider {
                 container operational-schema-service {
                     uses config:service-ref {
                         refine type {
-                            mandatory false;
+                            mandatory true;
                             config:required-identity sal:schema-service;
                         }
                     }
                 }
 
+                container operational-actor-system-provider {
+                    uses config:service-ref {
+                        refine type {
+                            mandatory true;
+                            config:required-identity actor-system:actor-system-provider-service;
+                        }
+                    }
+                }
+
                 container operational-properties {
                     uses data-store-properties;
                 }