1 // vi: set smarttab et sw=4 tabstop=4:
2 module distributed-datastore-provider {
5 namespace "urn:opendaylight:params:xml:ns:yang:controller:config:distributed-datastore-provider";
6 prefix "distributed-datastore-provider";
8 import config { prefix config; revision-date 2013-04-05; }
9 import rpc-context { prefix rpcx; revision-date 2013-06-17; }
10 import opendaylight-config-dom-datastore {prefix config-dom-store-spi;}
11 import opendaylight-operational-dom-datastore {prefix operational-dom-store-spi;}
12 import opendaylight-md-sal-dom {prefix sal;}
15 "This module contains the base YANG definitions for
16 the distributed datastore provider implementation";
18 revision "2014-06-12" {
23 // This is the definition of the service implementation as a module identity.
24 identity distributed-config-datastore-provider {
25 base config:module-type;
26 config:provided-service config-dom-store-spi:config-dom-datastore;
27 // Specifies the prefix for generated java classes.
28 config:java-name-prefix DistributedConfigDataStoreProvider;
31 // This is the definition of the service implementation as a module identity.
32 identity distributed-operational-datastore-provider {
33 base config:module-type;
34 config:provided-service operational-dom-store-spi:operational-dom-datastore;
35 // Specifies the prefix for generated java classes.
36 config:java-name-prefix DistributedOperationalDataStoreProvider;
39 typedef non-zero-uint16-type {
45 typedef operation-timeout-type {
51 grouping data-store-properties {
52 leaf max-shard-data-change-executor-queue-size {
54 type non-zero-uint16-type;
55 description "The maximum queue size for each shard's data store data change notification executor.";
58 leaf max-shard-data-change-executor-pool-size {
60 type non-zero-uint16-type;
61 description "The maximum thread pool size for each shard's data store data change notification executor.";
64 leaf max-shard-data-change-listener-queue-size {
66 type non-zero-uint16-type;
67 description "The maximum queue size for each shard's data store data change listeners.";
70 leaf max-shard-data-store-executor-queue-size {
72 type non-zero-uint16-type;
73 description "The maximum queue size for each shard's data store executor.";
76 leaf shard-transaction-idle-timeout-in-minutes {
78 type non-zero-uint16-type;
79 description "The maximum amount of time a shard transaction can be idle without receiving any messages before it self-destructs.";
82 leaf operation-timeout-in-seconds {
84 type operation-timeout-type;
85 description "The maximum amount of time for akka operations (remote or local) to complete before failing.";
88 leaf enable-metric-capture {
91 description "Enable or disable metric capture.";
94 leaf bounded-mailbox-capacity {
96 type non-zero-uint16-type;
97 description "Max queue size that an actor's mailbox can reach";
101 // Augments the 'configuration' choice node under modules/module.
102 augment "/config:modules/config:module/config:configuration" {
103 case distributed-config-datastore-provider {
104 when "/config:modules/config:module/config:type = 'distributed-config-datastore-provider'";
105 container config-schema-service {
106 uses config:service-ref {
109 config:required-identity sal:schema-service;
114 container config-properties {
115 uses data-store-properties;
120 // Augments the 'configuration' choice node under modules/module.
121 augment "/config:modules/config:module/config:configuration" {
122 case distributed-operational-datastore-provider {
123 when "/config:modules/config:module/config:type = 'distributed-operational-datastore-provider'";
124 container operational-schema-service {
125 uses config:service-ref {
128 config:required-identity sal:schema-service;
133 container operational-properties {
134 uses data-store-properties;