fix FollowerInfo @ConstructorProperties for valid ShardStatsMXBean
[controller.git] / opendaylight / md-sal / sal-dom-broker-config / 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 "broker";
5
6     import config { prefix config; revision-date 2013-04-05; }
7     import ietf-yang-types { prefix yang; }
8     import opendaylight-md-sal-dom {prefix sal;}
9     import opendaylight-md-sal-common {prefix common;}
10     import opendaylight-config-dom-datastore {prefix config-dom-store-spi;}
11     import opendaylight-operational-dom-datastore {prefix operational-dom-store-spi;}
12     import rpc-context { prefix rpcx; revision-date 2013-06-17; }
13
14     description
15         "Service definition for Binding Aware MD-SAL.
16         Note: The dom-inmemory-data-broker utilizes configurable config-dom-datastore
17         and operation-dom-datastore. If configuration is not done for this stores
18         then it defaults to InMemoryDOMDataStore";
19
20     revision "2013-10-28" {
21         description
22             "Initial revision";
23     }
24
25     identity dom-broker-impl {
26         status deprecated;
27         base config:module-type;
28         config:provided-service sal:dom-broker-osgi-registry;
29         config:java-name-prefix DomBrokerImpl;
30     }
31
32
33     identity dom-inmemory-data-broker {
34         status obsolete;
35         base config:module-type;
36         config:provided-service sal:dom-async-data-broker;
37     }
38
39     identity schema-service-singleton {
40         status deprecated;
41         base config:module-type;
42         config:provided-service sal:schema-service;
43         config:provided-service sal:yang-text-source-provider;
44         config:java-name-prefix SchemaServiceImplSingleton;
45     }
46
47     typedef max-queue-depth {
48         type uint32 {
49             range 1..1073741824;
50         }
51     }
52
53     augment "/config:modules/config:module/config:configuration" {
54         case dom-broker-impl {
55             when "/config:modules/config:module/config:type = 'dom-broker-impl'";
56
57             container async-data-broker {
58                 uses config:service-ref {
59                     refine type {
60                         mandatory false;
61                         config:required-identity sal:dom-async-data-broker;
62                     }
63                 }
64             }
65
66             container root-schema-service {
67                 status obsolete;
68                 uses config:service-ref {
69                     refine type {
70                         mandatory false;
71                         config:required-identity sal:schema-service;
72                     }
73                 }
74             }
75
76             leaf notification-queue-depth {
77                 status obsolete;
78                 description "Maximum number of elements in the notification queue, must be power-of-two.";
79                 type max-queue-depth;
80                 default 65536;
81             }
82             leaf notification-queue-spin {
83                 status obsolete;
84                 description "Number of milliseconds notification queue should spin for new requests before parking.";
85                 type uint16;
86                 units milliseconds;
87                 default 1;
88             }
89             leaf notification-queue-park {
90                 status obsolete;
91                 description "Number of milliseconds notification queue should park for new requests before blocking.";
92                 type uint16;
93                 units milliseconds;
94                 default 30;
95             }
96         }
97     }
98
99     grouping dom-broker-config {
100         status obsolete;
101         container schema-service {
102             uses config:service-ref {
103                 refine type {
104                     mandatory false;
105                     config:required-identity sal:schema-service;
106                 }
107             }
108         }
109
110         container config-data-store {
111              uses config:service-ref {
112                  refine type {
113                      mandatory false;
114                      config:required-identity config-dom-store-spi:config-dom-datastore;
115                  }
116              }
117         }
118
119         container operational-data-store {
120               uses config:service-ref {
121                    refine type {
122                        mandatory false;
123                        config:required-identity operational-dom-store-spi:operational-dom-datastore;
124                    }
125                }
126         }
127
128         leaf max-data-broker-future-callback-queue-size {
129             default 1000;
130             type uint16;
131             description "The maximum queue size for the data broker's commit future callback executor.";
132         }
133
134         leaf max-data-broker-future-callback-pool-size {
135             default 20;
136             type uint16;
137             description "The maximum thread pool size for the data broker's commit future callback executor.";
138         }
139
140         leaf max-data-broker-commit-queue-size {
141             default 5000;
142             type uint16;
143             description "The maximum queue size for the data broker's commit executor.";
144         }
145     }
146
147     grouping dom-broker-operational {
148         status obsolete;
149         leaf total-commits {
150             type uint64;
151         }
152
153         leaf average-commit {
154             type uint64;
155             units ns;
156         }
157
158         leaf longest-commit-duration {
159             type uint64;
160             units ns;
161         }
162
163         leaf longest-commit-timestamp {
164             type yang:date-and-time;
165         }
166
167         leaf shortest-commit-duration {
168             type uint64;
169             units ns;
170         }
171
172         leaf shortest-commit-timestamp {
173             type yang:date-and-time;
174         }
175
176         rpcx:rpc-context-instance dom-broker-rpc-ctx;
177     }
178
179     identity dom-broker-rpc-ctx;
180
181     rpc reset-statistics {
182         description
183           "JMX call to clear the toasts-made counter.";
184
185         input {
186             uses rpcx:rpc-context-ref {
187                 refine context-instance {
188                     rpcx:rpc-context-instance dom-broker-rpc-ctx;
189                 }
190             }
191         }
192     }
193
194     augment "/config:modules/config:module/config:configuration" {
195         case dom-inmemory-data-broker {
196             when "/config:modules/config:module/config:type = 'dom-inmemory-data-broker'";
197
198             uses dom-broker-config;
199         }
200     }
201
202     augment "/config:modules/config:module/config:state" {
203         case dom-inmemory-data-broker {
204             when "/config:modules/config:module/config:type = 'dom-inmemory-data-broker'";
205
206             uses dom-broker-operational;
207         }
208     }
209
210     augment "/config:modules/config:module/config:state" {
211         case schema-service-singleton {
212             when "/config:modules/config:module/config:type = 'schema-service-singleton'";
213         }
214     }
215
216     augment "/config:modules/config:module/config:state" {
217         case dom-broker-impl {
218             when "/config:modules/config:module/config:type = 'dom-broker-impl'";
219             container data {
220                 uses common:data-state;
221             }
222         }
223     }
224 }