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 Hagerman03b58992019-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 Hagerman03b58992019-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 Baker112b0d42019-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 Hagerman03b58992019-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}