Bug 1430: Obtain config params from config system
[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 hash-map-data-store {
36         base config:module-type;
37         config:provided-service sal:dom-data-store;
38         config:java-name-prefix HashMapDataStore;
39     }
40     
41     identity schema-service-singleton {
42         base config:module-type;
43         config:provided-service sal:schema-service;
44         config:java-name-prefix SchemaServiceImplSingleton;
45     }
46
47     augment "/config:modules/config:module/config:configuration" {
48         case dom-broker-impl {
49             when "/config:modules/config:module/config:type = 'dom-broker-impl'";
50             container data-store {
51                 uses config:service-ref {
52                     refine type {
53                         mandatory false;
54                         config:required-identity sal:dom-data-store;
55                     }
56                 }
57             }
58
59             container async-data-broker {
60                 uses config:service-ref {
61                     refine type {
62                         mandatory false;
63                         config:required-identity sal:dom-async-data-broker;
64                     }
65                 }
66             }
67
68             container root-schema-service {
69                 uses config:service-ref {
70                     refine type {
71                         mandatory false;
72                         config:required-identity sal:schema-service;
73                     }
74                 }
75             }
76         }
77     }
78     
79     augment "/config:modules/config:module/config:configuration" {
80         case dom-inmemory-data-broker {
81             when "/config:modules/config:module/config:type = 'dom-inmemory-data-broker'";
82
83
84             container schema-service {
85                 uses config:service-ref {
86                     refine type {
87                         mandatory false;
88                         config:required-identity sal:schema-service;
89                     }
90                 }
91
92             }
93
94             container config-data-store{
95                  uses config:service-ref {
96                      refine type {
97                          mandatory false;
98                          config:required-identity  config-dom-store-spi:config-dom-datastore;
99                      }
100                  }
101             }
102
103             container operational-data-store{
104                   uses config:service-ref {
105                        refine type {
106                            mandatory false;
107                            config:required-identity operational-dom-store-spi:operational-dom-datastore;
108                        }
109                    }
110             }
111
112             leaf max-data-broker-future-callback-queue-size {
113                 default 1000;
114                 type uint16;
115                 description "The maximum queue size for the data broker's commit future callback executor.";
116             }
117
118             leaf max-data-broker-future-callback-pool-size {
119                 default 20;
120                 type uint16;
121                 description "The maximum thread pool size for the data broker's commit future callback executor.";
122             }
123
124             leaf max-data-broker-commit-queue-size {
125                 default 5000;
126                 type uint16;
127                 description "The maximum queue size for the data broker's commit executor.";
128             }
129         }
130     }
131     
132     augment "/config:modules/config:module/config:state" {
133         case hash-map-data-store {
134             when "/config:modules/config:module/config:type = 'hash-map-data-store'";
135         }
136     }
137     
138     augment "/config:modules/config:module/config:state" {
139         case schema-service-singleton {
140             when "/config:modules/config:module/config:type = 'schema-service-singleton'";
141         }
142     }
143     
144     augment "/config:modules/config:module/config:state" {
145         case dom-broker-impl {
146             when "/config:modules/config:module/config:type = 'dom-broker-impl'";
147             container data {
148                 uses common:data-state;
149             } 
150         }
151     }
152 }