HONEYCOMB-130: Separate v3po plugin from HC infra
[honeycomb.git] / infra / impl / src / main / config / initializer-config.xml
1 <?xml version="1.0" encoding="UTF-8"?>
2 <!--
3   ~ Copyright (c) 2016 Cisco and/or its affiliates.
4   ~
5   ~ Licensed under the Apache License, Version 2.0 (the "License");
6   ~ you may not use this file except in compliance with the License.
7   ~ You may obtain a copy of the License at:
8   ~
9   ~     http://www.apache.org/licenses/LICENSE-2.0
10   ~
11   ~ Unless required by applicable law or agreed to in writing, software
12   ~ distributed under the License is distributed on an "AS IS" BASIS,
13   ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14   ~ See the License for the specific language governing permissions and
15   ~ limitations under the License.
16   -->
17
18 <!-- vi: set et smarttab sw=4 tabstop=4: -->
19
20 <snapshot>
21   <required-capabilities>
22       <capability>urn:opendaylight:params:xml:ns:yang:v3po:impl?module=v3po-impl&amp;revision=2014-12-10</capability>
23       <capability>urn:honeycomb:params:xml:ns:yang:translate:utils?module=translate-utils&amp;revision=2016-04-06</capability>
24       <capability>urn:honeycomb:params:xml:ns:yang:vpp:data:init?module=vpp-cfg-init&amp;revision=2016-04-07</capability>
25       <capability>urn:honeycomb:params:xml:ns:yang:data:api?module=data-api&amp;revision=2016-04-11</capability>
26       <capability>urn:honeycomb:params:xml:ns:yang:data:impl?module=data-impl&amp;revision=2016-04-11</capability>
27       <capability>urn:opendaylight:params:xml:ns:yang:controller:md:sal:binding?module=opendaylight-md-sal-binding&amp;revision=2013-10-28</capability>
28   </required-capabilities>
29   <configuration>
30
31     <data xmlns="urn:ietf:params:xml:ns:netconf:base:1.0">
32       <modules xmlns="urn:opendaylight:params:xml:ns:yang:controller:config">
33         <!-- Config initialization -->
34         <!-- Empty registry which does not pass data to VPP  -->
35         <module>
36           <type xmlns:prefix="urn:honeycomb:params:xml:ns:yang:translate:utils">prefix:noop-writer-registry-builder</type>
37           <name>noop-writer-registry-builder</name>
38         </module>
39         <!-- Config data tree which does not pass data to translation layer (uses noop-write-registry)  -->
40         <module>
41           <type xmlns:prefix="urn:honeycomb:params:xml:ns:yang:data:impl">prefix:honeycomb-config-data-tree</type>
42           <name>cfg-init-config-data-tree</name>
43           <!-- Without persistence -->
44           <data-tree>
45             <type xmlns:prefix="urn:honeycomb:params:xml:ns:yang:data:api">prefix:data-tree</type>
46             <name>inmemory-config-data-tree</name>
47           </data-tree>
48           <serializer>
49             <type xmlns:prefix="urn:opendaylight:params:xml:ns:yang:controller:md:sal:binding:impl">prefix:binding-dom-mapping-service</type>
50             <name>runtime-mapping-singleton</name>
51           </serializer>
52           <writer-registry-builder>
53             <type xmlns:prefix="urn:honeycomb:params:xml:ns:yang:translate:api">prefix:honeycomb-writer-registry-builder</type>
54             <name>noop-writer-registry-builder</name>
55           </writer-registry-builder>
56           <context-binding-broker>
57             <type xmlns:binding="urn:opendaylight:params:xml:ns:yang:controller:md:sal:binding">binding:binding-async-data-broker</type>
58             <name>honeycomb-context-binding-data-broker</name>
59           </context-binding-broker>
60         </module>
61         <!-- DOM data broker for config initialization -->
62         <module>
63           <type xmlns:prefix="urn:opendaylight:params:xml:ns:yang:v3po:impl">prefix:honeycomb-dom-data-broker</type>
64           <name>cfg-init-dom-data-broker</name>
65           <config-data-tree>
66             <type xmlns:prefix="urn:honeycomb:params:xml:ns:yang:data:api">prefix:honeycomb-modifiable-data-tree</type>
67             <name>cfg-init-config-data-tree</name>
68           </config-data-tree>
69           <operational-data-tree>
70             <type xmlns:prefix="urn:honeycomb:params:xml:ns:yang:data:api">prefix:honeycomb-readable-data-tree</type>
71             <name>operational-data-tree</name>
72           </operational-data-tree>
73         </module>
74         <!-- Binding data broker for config initialization -->
75         <module>
76           <type xmlns:prefix="urn:opendaylight:params:xml:ns:yang:controller:md:sal:binding:impl">prefix:binding-forwarded-data-broker</type>
77           <name>cfg-init-binding-data-broker</name>
78           <binding-forwarded-data-broker xmlns="urn:opendaylight:params:xml:ns:yang:controller:md:sal:binding:impl">
79             <dom-async-broker>
80               <type xmlns:dom="urn:opendaylight:params:xml:ns:yang:controller:md:sal:dom">dom:dom-async-data-broker</type>
81               <name>cfg-init-dom-data-broker</name>
82             </dom-async-broker>
83             <schema-service>
84               <type xmlns:dom="urn:opendaylight:params:xml:ns:yang:controller:md:sal:dom">dom:schema-service</type>
85               <name>yang-schema-service</name>
86             </schema-service>
87             <binding-mapping-service>
88               <type xmlns:binding="urn:opendaylight:params:xml:ns:yang:controller:md:sal:binding:impl">binding:binding-dom-mapping-service</type>
89               <name>runtime-mapping-singleton</name>
90             </binding-mapping-service>
91           </binding-forwarded-data-broker>
92         </module>
93
94         <module>
95           <type xmlns:prefix="urn:honeycomb:params:xml:ns:yang:vpp:data:init">prefix:persisted-file-initializer</type>
96           <name>persisted-context-initializer</name>
97           <dom-data-broker>
98             <type xmlns:dom="urn:opendaylight:params:xml:ns:yang:controller:md:sal:dom">dom:dom-async-data-broker</type>
99             <name>honeycomb-context-data-broker</name>
100           </dom-data-broker>
101           <schema-service>
102             <type xmlns:dom="urn:opendaylight:params:xml:ns:yang:controller:md:sal:dom">dom:schema-service</type>
103             <name>yang-schema-service</name>
104           </schema-service>
105           <persist-file-path>etc/opendaylight/honeycomb/context.json</persist-file-path>
106           <restoration-type>merge</restoration-type>
107           <datastore-type>oper</datastore-type>
108         </module>
109         <module>
110           <type xmlns:prefix="urn:honeycomb:params:xml:ns:yang:vpp:data:init">prefix:persisted-file-initializer</type>
111           <name>persisted-config-initializer</name>
112           <dom-data-broker>
113             <type xmlns:prefix="urn:opendaylight:params:xml:ns:yang:controller:md:sal:dom">prefix:dom-async-data-broker</type>
114             <name>honeycomb-dom-data-broker</name>
115           </dom-data-broker>
116           <schema-service>
117             <type xmlns:dom="urn:opendaylight:params:xml:ns:yang:controller:md:sal:dom">dom:schema-service</type>
118             <name>yang-schema-service</name>
119           </schema-service>
120           <persist-file-path>etc/opendaylight/honeycomb/config.json</persist-file-path>
121           <restoration-type>merge</restoration-type>
122           <datastore-type>config</datastore-type>
123         </module>
124
125         <module>
126           <type xmlns:prefix="urn:honeycomb:params:xml:ns:yang:vpp:data:init">prefix:cfg-initializer-registry</type>
127           <name>initializer-registry</name>
128           <persisted-context-initializer>
129             <type xmlns:prefix="urn:honeycomb:params:xml:ns:yang:vpp:data:init">prefix:cfg-initializer</type>
130             <name>persisted-context-initializer</name>
131           </persisted-context-initializer>
132           <persisted-config-initializer>
133             <type xmlns:prefix="urn:honeycomb:params:xml:ns:yang:vpp:data:init">prefix:cfg-initializer</type>
134             <name>persisted-config-initializer</name>
135           </persisted-config-initializer>
136         </module>
137         <!-- END: Config initialization -->
138       </modules>
139
140       <services xmlns="urn:opendaylight:params:xml:ns:yang:controller:config">
141         <!-- Config initialization -->
142         <service>
143           <type xmlns:prefix="urn:honeycomb:params:xml:ns:yang:translate:api">prefix:honeycomb-writer-registry-builder</type>
144           <instance>
145             <name>noop-writer-registry-builder</name>
146             <provider>/modules/module[type='noop-writer-registry-builder'][name='noop-writer-registry-builder']</provider>
147           </instance>
148         </service>
149         <service>
150           <type xmlns:prefix="urn:honeycomb:params:xml:ns:yang:data:api">prefix:honeycomb-modifiable-data-tree</type>
151           <instance>
152             <name>cfg-init-config-data-tree</name>
153             <provider>/modules/module[type='honeycomb-config-data-tree'][name='cfg-init-config-data-tree']
154             </provider>
155           </instance>
156         </service>
157         <service>
158           <type xmlns:dom="urn:opendaylight:params:xml:ns:yang:controller:md:sal:dom">dom:dom-async-data-broker</type>
159           <instance>
160             <name>cfg-init-dom-data-broker</name>
161             <provider>/modules/module[type='honeycomb-dom-data-broker'][name='cfg-init-dom-data-broker']</provider>
162           </instance>
163         </service>
164         <service>
165           <type xmlns:binding="urn:opendaylight:params:xml:ns:yang:controller:md:sal:binding">binding:binding-async-data-broker</type>
166           <instance>
167             <name>cfg-init-binding-data-broker</name>
168             <provider>/modules/module[type='binding-forwarded-data-broker'][name='cfg-init-binding-data-broker']</provider>
169           </instance>
170         </service>
171
172         <service>
173           <type xmlns:prefix="urn:honeycomb:params:xml:ns:yang:vpp:data:init">prefix:cfg-initializer</type>
174           <instance>
175             <name>persisted-context-initializer</name>
176             <provider>/modules/module[type='persisted-file-initializer'][name='persisted-context-initializer']
177             </provider>
178           </instance>
179           <instance>
180             <name>persisted-config-initializer</name>
181             <provider>/modules/module[type='persisted-file-initializer'][name='persisted-config-initializer']
182             </provider>
183           </instance>
184         </service>
185       </services>
186     </data>
187   </configuration>
188 </snapshot>