blob: debfcd73c9d311bde681b852f56aacd72e13a204 [file] [log] [blame]
sslobodr392ebd52019-01-18 12:41:49 -05001{
Kent Hagerman1e9061e2019-05-21 16:01:21 -04002 "servers": [
3 {
4 "name": "grpc_command",
5 "port": 55555,
Kent Hagerman70a49bb2019-08-29 17:21:03 -04006 "address": "localhost",
Kent Hagerman1e9061e2019-05-21 16:01:21 -04007 "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",
Kent Hagerman70a49bb2019-08-29 17:21:03 -040023 "proto_descriptor": "vendor/github.com/opencord/voltha-protos/go/voltha.pb",
Kent Hagerman1e9061e2019-05-21 16:01:21 -040024 "routes": [
25 {
26 "name": "dev_manager",
Kent Hagerman1e9061e2019-05-21 16:01:21 -040027 "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 {
Scott Baker5f401472019-08-22 08:32:26 -070082 "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 {
Kent Hagerman1e9061e2019-05-21 16:01:21 -040093 "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",
145 "ListLogicalDevicePorts"
146 ],
147 "_TODO": "Overrides not implemented yet, config ignored",
148 "overrides": [
149 {
150 "methods": [
151 "abc",
152 "def"
153 ],
154 "routing_field": "id"
155 },
156 {
157 "methods": [
158 "ghi",
159 "jkl"
160 ]
161 },
162 {
163 "method": "mno",
164 "routing_field": "id"
165 },
166 {
167 "method": "pqr"
168 }
169 ]
170 }
171 ]
172 }
173 ],
174 "backend_clusters": [
175 {
176 "name": "vcore",
177 "backends": [
178 {
179 "name": "vcore1",
180 "type": "active_active",
181 "association": {
182 "strategy": "serial_number",
183 "location": "header",
184 "_TODO": "The key below needs to be implemented, currently hard coded",
185 "key": "voltha_serial_number"
186 },
187 "connections": [
188 {
189 "name": "vcore11",
Kent Hagerman9a879af2019-07-22 17:21:09 -0400190 "addr": "voltha-rw-core-11.voltha.svc.cluster.local",
191 "port": "50057"
Kent Hagerman1e9061e2019-05-21 16:01:21 -0400192 },
193 {
194 "name": "vcore12",
Kent Hagerman9a879af2019-07-22 17:21:09 -0400195 "addr": "voltha-rw-core-12.voltha.svc.cluster.local",
196 "port": "50057"
Kent Hagerman1e9061e2019-05-21 16:01:21 -0400197 }
198 ]
199 },
200 {
201 "name": "vcore2",
202 "type": "active_active",
203 "association": {
204 "strategy": "serial_number",
205 "location": "header",
206 "_TODO": "The key below needs to be implemented, currently hard coded",
207 "key": "voltha_serial_number"
208 },
209 "connections": [
210 {
211 "name": "vcore21",
Kent Hagerman9a879af2019-07-22 17:21:09 -0400212 "addr": "voltha-rw-core-21.voltha.svc.cluster.local",
213 "port": "50057"
Kent Hagerman1e9061e2019-05-21 16:01:21 -0400214 },
215 {
216 "name": "vcore22",
Kent Hagerman9a879af2019-07-22 17:21:09 -0400217 "addr": "voltha-rw-core-22.voltha.svc.cluster.local",
218 "port": "50057"
Kent Hagerman1e9061e2019-05-21 16:01:21 -0400219 }
220 ]
221 },
222 {
223 "name": "vcore3",
224 "type": "active_active",
225 "association": {
226 "strategy": "serial_number",
227 "location": "header",
228 "_TODO": "The key below needs to be implemented, currently hard coded",
229 "key": "voltha_serial_number"
230 },
231 "connections": [
232 {
233 "name": "vcore31",
Kent Hagerman9a879af2019-07-22 17:21:09 -0400234 "addr": "voltha-rw-core-31.voltha.svc.cluster.local",
235 "port": "50057"
Kent Hagerman1e9061e2019-05-21 16:01:21 -0400236 },
237 {
238 "name": "vcore32",
Kent Hagerman9a879af2019-07-22 17:21:09 -0400239 "addr": "voltha-rw-core-32.voltha.svc.cluster.local",
240 "port": "50057"
Kent Hagerman1e9061e2019-05-21 16:01:21 -0400241 }
242 ]
243 }
244 ]
245 },
246 {
247 "name": "ro_vcore",
248 "backends": [
249 {
250 "name": "ro_vcore1",
251 "type": "server",
252 "connections": [
253 {
254 "name": "ro_vcore11",
Kent Hagerman9a879af2019-07-22 17:21:09 -0400255 "addr": "voltha-ro-core-0.voltha-ro-core.voltha.svc.cluster.local",
256 "port": "50057"
Kent Hagerman1e9061e2019-05-21 16:01:21 -0400257 }
258 ]
259 },
260 {
261 "name": "ro_vcore2",
262 "type": "server",
263 "connections": [
264 {
265 "name": "ro_vcore21",
Kent Hagerman9a879af2019-07-22 17:21:09 -0400266 "addr": "voltha-ro-core-1.voltha-ro-core.voltha.svc.cluster.local",
267 "port": "50057"
Kent Hagerman1e9061e2019-05-21 16:01:21 -0400268 }
269 ]
270 },
271 {
272 "name": "ro_vcore3",
273 "type": "server",
274 "connections": [
275 {
276 "name": "ro_vcore31",
Kent Hagerman9a879af2019-07-22 17:21:09 -0400277 "addr": "voltha-ro-core-2.voltha-ro-core.voltha.svc.cluster.local",
278 "port": "50057"
Kent Hagerman1e9061e2019-05-21 16:01:21 -0400279 }
280 ]
281 }
282 ]
283 }
284 ],
285 "api": {
286 "_comment": "If this isn't defined then no api is available for dynamic configuration and queries",
Kent Hagerman70a49bb2019-08-29 17:21:03 -0400287 "address": "localhost",
Kent Hagerman1e9061e2019-05-21 16:01:21 -0400288 "port": 55554
289 }
sslobodr392ebd52019-01-18 12:41:49 -0500290}