Move ConcurrentDOMDataBroker to clustered-datastore
[controller.git] / opendaylight / md-sal / sal-dom-broker / src / main / yang / opendaylight-dom-broker-impl.yang
1 module opendaylight-sal-dom-broker-impl {
2     yang-version 1;
3     namespace "urn:opendaylight:params:xml:ns:yang:controller:md:sal:dom:impl";
4     prefix "binding-impl";
5
6     import config { prefix config; revision-date 2013-04-05; }
7     import opendaylight-md-sal-dom {prefix sal;}
8     import opendaylight-md-sal-common {prefix common;}
9     import opendaylight-config-dom-datastore {prefix config-dom-store-spi;}
10     import opendaylight-operational-dom-datastore {prefix operational-dom-store-spi;}
11
12     description
13         "Service definition for Binding Aware MD-SAL.
14         Note: The dom-inmemory-data-broker utilizes configurable config-dom-datastore
15         and operation-dom-datastore. If configuration is not done for this stores
16         then it defaults to InMemoryDOMDataStore";
17
18     revision "2013-10-28" {
19         description
20             "Initial revision";
21     }
22
23     identity dom-broker-impl {
24         base config:module-type;
25         config:provided-service sal:dom-broker-osgi-registry;
26         config:java-name-prefix DomBrokerImpl;
27     }
28
29
30     identity dom-inmemory-data-broker {
31         base config:module-type;
32         config:provided-service sal:dom-async-data-broker;
33     }
34
35     identity schema-service-singleton {
36         base config:module-type;
37         config:provided-service sal:schema-service;
38         config:java-name-prefix SchemaServiceImplSingleton;
39     }
40
41     augment "/config:modules/config:module/config:configuration" {
42         case dom-broker-impl {
43             when "/config:modules/config:module/config:type = 'dom-broker-impl'";
44             container data-store {
45                 uses config:service-ref {
46                     refine type {
47                         mandatory false;
48                         config:required-identity sal:dom-data-store;
49                     }
50                 }
51             }
52
53             container async-data-broker {
54                 uses config:service-ref {
55                     refine type {
56                         mandatory false;
57                         config:required-identity sal:dom-async-data-broker;
58                     }
59                 }
60             }
61
62             container root-schema-service {
63                 uses config:service-ref {
64                     refine type {
65                         mandatory false;
66                         config:required-identity sal:schema-service;
67                     }
68                 }
69             }
70         }
71     }
72
73     grouping dom-broker-config {
74         container schema-service {
75             uses config:service-ref {
76                 refine type {
77                     mandatory false;
78                     config:required-identity sal:schema-service;
79                 }
80             }
81         }
82
83         container config-data-store {
84              uses config:service-ref {
85                  refine type {
86                      mandatory false;
87                      config:required-identity config-dom-store-spi:config-dom-datastore;
88                  }
89              }
90         }
91
92         container operational-data-store {
93               uses config:service-ref {
94                    refine type {
95                        mandatory false;
96                        config:required-identity operational-dom-store-spi:operational-dom-datastore;
97                    }
98                }
99         }
100
101         leaf max-data-broker-future-callback-queue-size {
102             default 1000;
103             type uint16;
104             description "The maximum queue size for the data broker's commit future callback executor.";
105         }
106
107         leaf max-data-broker-future-callback-pool-size {
108             default 20;
109             type uint16;
110             description "The maximum thread pool size for the data broker's commit future callback executor.";
111         }
112
113         leaf max-data-broker-commit-queue-size {
114             default 5000;
115             type uint16;
116             description "The maximum queue size for the data broker's commit executor.";
117         }
118     }
119
120     augment "/config:modules/config:module/config:configuration" {
121         case dom-inmemory-data-broker {
122             when "/config:modules/config:module/config:type = 'dom-inmemory-data-broker'";
123
124             uses dom-broker-config;
125         }
126     }
127
128     augment "/config:modules/config:module/config:state" {
129         case schema-service-singleton {
130             when "/config:modules/config:module/config:type = 'schema-service-singleton'";
131         }
132     }
133
134     augment "/config:modules/config:module/config:state" {
135         case dom-broker-impl {
136             when "/config:modules/config:module/config:type = 'dom-broker-impl'";
137             container data {
138                 uses common:data-state;
139             }
140         }
141     }
142 }