BUG-1679: optinally log allocation context
[controller.git] / opendaylight / md-sal / sal-inmemory-datastore / src / main / yang / opendaylight-inmemory-datastore-provider.yang
1 module opendaylight-inmemory-datastore-provider {
2
3     yang-version 1;
4     namespace "urn:opendaylight:params:xml:ns:yang:controller:inmemory-datastore-provider";
5     prefix "inmemory-datastore-provider";
6
7     import config { prefix config; revision-date 2013-04-05; }
8     import rpc-context { prefix rpcx; revision-date 2013-06-17; }
9     import opendaylight-config-dom-datastore {prefix config-dom-store-spi;}
10     import opendaylight-operational-dom-datastore {prefix operational-dom-store-spi;}
11     import opendaylight-md-sal-dom {prefix sal;}
12
13     description
14         "InMemory datastore provider implementation for config & operational datastore";
15
16     revision "2014-06-17" {
17         description
18         "Initial revision.";
19     }
20
21     // This is the definition of the service implementation as a module identity.
22     identity inmemory-config-datastore-provider {
23             base config:module-type;
24             config:provided-service config-dom-store-spi:config-dom-datastore;
25             config:java-name-prefix InMemoryConfigDataStoreProvider;
26     }
27
28         // This is the definition of the service implementation as a module identity.
29
30     identity inmemory-operational-datastore-provider {
31             base config:module-type;
32             config:provided-service operational-dom-store-spi:operational-dom-datastore;
33             config:java-name-prefix InMemoryOperationalDataStoreProvider;
34     }
35
36     grouping datastore-configuration {
37             leaf max-data-change-executor-queue-size {
38                 default 1000;
39                 type uint16;
40                 description "The maximum queue size for the data change notification executor.";
41             }
42
43             leaf max-data-change-executor-pool-size {
44                 default 20;
45                 type uint16;
46                 description "The maximum thread pool size for the data change notification executor.";
47             }
48
49             leaf max-data-change-listener-queue-size {
50                 default 1000;
51                 type uint16;
52                 description "The maximum queue size for the data change listeners.";
53             }
54             leaf max-data-store-executor-queue-size {
55                 default 5000;
56                 type uint16;
57                 description "The maximum queue size for the data store executor.";
58             }
59             leaf debug-transactions {
60                 type boolean;
61                 default false;
62                 description "Enable transaction lifecycle debugging.";
63             }
64     }
65
66     // Augments the 'configuration' choice node under modules/module.
67     augment "/config:modules/config:module/config:configuration" {
68         case inmemory-config-datastore-provider {
69             when "/config:modules/config:module/config:type = 'inmemory-config-datastore-provider'";
70
71             container inmemory-config-datastore-provider {
72                 container schema-service {
73                     uses config:service-ref {
74                         refine type {
75                             mandatory false;
76                             config:required-identity sal:schema-service;
77                         }
78                     }
79                 }
80                 uses datastore-configuration;
81             }
82         }
83     }
84
85     // Augments the 'configuration' choice node under modules/module.
86     augment "/config:modules/config:module/config:configuration" {
87         case inmemory-operational-datastore-provider {
88             when "/config:modules/config:module/config:type = 'inmemory-operational-datastore-provider'";
89
90             container inmemory-operational-datastore-provider {
91                 container schema-service {
92                     uses config:service-ref {
93                         refine type {
94                             mandatory false;
95                             config:required-identity sal:schema-service;
96                         }
97                     }
98                 }
99                 uses datastore-configuration;
100             }
101         }
102     }
103 }