blob: 26c353652aa7662f26dce115942c96b0a5859c31 [file] [log] [blame]
Scott Bakere7144bc2019-10-01 14:16:47 -07001{
2 "servers": [
3 {
4 "name": "grpc_command",
5 "port": 55555,
6 "address": "localhost",
7 "type": "grpc",
8 "routers": [
9 {
10 "_TODO": "Suport a router list, remove the package and service from the router",
11 "package": "voltha",
12 "service": "VolthaService",
13 "router": "vcore"
14 }
15 ]
16 }
17 ],
18 "routers": [
19 {
20 "name": "vcore",
21 "package": "voltha",
22 "service": "VolthaService",
23 "proto_descriptor": "vendor/github.com/opencord/voltha-protos/go/voltha.pb",
24 "routes": [
25 {
26 "name": "dev_manager",
27 "type": "rpc_affinity_message",
28 "association": "round_robin",
29 "routing_field": "id",
30 "backend_cluster": "vcore",
31 "_COMMENT": "Methods are naturally southbound affinity binding unless otherwise specified below",
32 "methods": [
33 "CreateDevice",
34 "GetCoreInstance",
35 "EnableLogicalDevicePort",
36 "DisableLogicalDevicePort",
37 "EnableDevice",
38 "DisableDevice",
39 "RebootDevice",
40 "DeleteDevice",
41 "DownloadImage",
42 "CancelImageDownload",
43 "ActivateImageUpdate",
44 "RevertImageUpdate",
45 "UpdateDevicePmConfigs",
46 "CreateAlarmFilter",
47 "UpdateAlarmFilter",
48 "DeleteAlarmFilter",
49 "SelfTest"
50 ],
51 "_COMMENT": "If a method is northbound affinity binding then association is used to route",
52 "_COMMENT": "but affinity is not set southbound but only based on the response",
53 "_COMMENT": "Methods here MUST be specified above, this overrides thier default beahvior",
54 "nb_binding_methods": [
55 "CreateDevice"
56 ],
57 "_TODO": "Overrides not implemented yet, config ignored",
58 "overrides": [
59 {
60 "methods": [
61 "abc",
62 "def"
63 ],
64 "routing_field": "id"
65 },
66 {
67 "methods": [
68 "ghi",
69 "jkl"
70 ]
71 },
72 {
73 "method": "mno",
74 "routing_field": "id"
75 },
76 {
77 "method": "pqr"
78 }
79 ]
80 },
81 {
82 "name": "logger",
83 "proto_descriptor": "voltha.pb",
84 "type": "source",
85 "routing_field": "component_name",
86 "backend_cluster": "ro_vcore",
87 "methods": [
88 "UpdateLogLevel",
89 "GetLogLevels"
90 ]
91 },
92 {
93 "name": "read_only",
94 "type": "round_robin",
95 "association": "round_robin",
96 "backend_cluster": "ro_vcore",
97 "methods": [
98 "ListDevicePorts",
99 "ListDevicePmConfigs",
100 "GetImages",
101 "GetImageDownloadStatus",
102 "GetImageDownload",
103 "ListImageDownloads",
104 "ListDeviceFlows",
105 "ListDeviceFlowGroups",
106 "ListLogicalDeviceFlows",
107 "ListLogicalDeviceFlowGroups",
108 "ListDevices",
109 "GetDevice",
110 "ListLogicalDevices",
111 "GetLogicalDevices",
112 "GetDeviceType",
113 "GetDeviceGroup",
114 "GetLogicalDevice",
115 "GetAlarmFilter",
116 "ListLogicalDevicePorts",
117 "GetLogicalDevicePort"
118 ]
119 },
120 {
121 "name": "dev_manager_ofagent",
122 "type": "binding",
123 "_association": "round_robin",
124 "binding": {
125 "type": "header",
126 "field": "voltha_backend_name",
127 "method": "Subscribe",
128 "association": "round_robin"
129 },
130 "backend_cluster": "vcore",
131 "methods": [
132 "StreamPacketsOut",
133 "ReceivePacketsIn",
134 "ReceiveChangeEvents",
135 "Subscribe",
136 "UpdateLogicalDeviceFlowTable",
137 "UpdateLogicalDeviceFlowGroupTable",
138 "GetLogicalDevice",
139 "GetLogicalDevicePort",
140 "EnableLogicalDevicePort",
141 "DisableLogicalDevicePort",
142 "ListLogicalDevices",
143 "ListLogicalDeviceFlows",
144 "ListLogicalDeviceFlowGroups",
Scott Baker764798a2019-10-25 12:30:48 -0700145 "ListLogicalDevicePorts",
146 "ListLogicalDeviceMeters",
147 "UpdateLogicalDeviceMeterTable"
Scott Bakere7144bc2019-10-01 14:16:47 -0700148 ],
149 "_TODO": "Overrides not implemented yet, config ignored",
150 "overrides": [
151 {
152 "methods": [
153 "abc",
154 "def"
155 ],
156 "routing_field": "id"
157 },
158 {
159 "methods": [
160 "ghi",
161 "jkl"
162 ]
163 },
164 {
165 "method": "mno",
166 "routing_field": "id"
167 },
168 {
169 "method": "pqr"
170 }
171 ]
172 }
173 ]
174 }
175 ],
176 "backend_clusters": [
177 {
178 "name": "vcore",
179 "backends": [
180 {
181 "name": "vcore1",
182 "type": "active_active",
183 "association": {
184 "strategy": "serial_number",
185 "location": "header",
186 "_TODO": "The key below needs to be implemented, currently hard coded",
187 "key": "voltha_serial_number"
188 },
189 "connections": [
190 {
191 "name": "vcore11",
192 "addr": "voltha-rw-core-11.voltha.svc.cluster.local",
193 "port": "50057"
194 },
195 {
196 "name": "vcore12",
197 "addr": "voltha-rw-core-12.voltha.svc.cluster.local",
198 "port": "50057"
199 }
200 ]
201 },
202 {
203 "name": "vcore2",
204 "type": "active_active",
205 "association": {
206 "strategy": "serial_number",
207 "location": "header",
208 "_TODO": "The key below needs to be implemented, currently hard coded",
209 "key": "voltha_serial_number"
210 },
211 "connections": [
212 {
213 "name": "vcore21",
214 "addr": "voltha-rw-core-21.voltha.svc.cluster.local",
215 "port": "50057"
216 },
217 {
218 "name": "vcore22",
219 "addr": "voltha-rw-core-22.voltha.svc.cluster.local",
220 "port": "50057"
221 }
222 ]
223 },
224 {
225 "name": "vcore3",
226 "type": "active_active",
227 "association": {
228 "strategy": "serial_number",
229 "location": "header",
230 "_TODO": "The key below needs to be implemented, currently hard coded",
231 "key": "voltha_serial_number"
232 },
233 "connections": [
234 {
235 "name": "vcore31",
236 "addr": "voltha-rw-core-31.voltha.svc.cluster.local",
237 "port": "50057"
238 },
239 {
240 "name": "vcore32",
241 "addr": "voltha-rw-core-32.voltha.svc.cluster.local",
242 "port": "50057"
243 }
244 ]
245 }
246 ]
247 },
248 {
249 "name": "ro_vcore",
250 "backends": [
251 {
252 "name": "ro_vcore1",
253 "type": "server",
254 "connections": [
255 {
256 "name": "ro_vcore11",
257 "addr": "voltha-ro-core-0.voltha-ro-core.voltha.svc.cluster.local",
258 "port": "50057"
259 }
260 ]
261 },
262 {
263 "name": "ro_vcore2",
264 "type": "server",
265 "connections": [
266 {
267 "name": "ro_vcore21",
268 "addr": "voltha-ro-core-1.voltha-ro-core.voltha.svc.cluster.local",
269 "port": "50057"
270 }
271 ]
272 },
273 {
274 "name": "ro_vcore3",
275 "type": "server",
276 "connections": [
277 {
278 "name": "ro_vcore31",
279 "addr": "voltha-ro-core-2.voltha-ro-core.voltha.svc.cluster.local",
280 "port": "50057"
281 }
282 ]
283 }
284 ]
285 }
286 ],
287 "api": {
288 "_comment": "If this isn't defined then no api is available for dynamic configuration and queries",
289 "address": "localhost",
divyadesaif117fc22019-11-04 06:32:01 +0000290 "port": 55554,
291 "probeHost": "localhost",
292 "probePort": 8080
Scott Bakere7144bc2019-10-01 14:16:47 -0700293 }
294}