blob: e50701d6e38e18dabdb7c7b24d0b4939930b1b39 [file] [log] [blame]
Woojoong Kima053c4a2019-08-09 16:19:14 -07001{{/* vim: set filetype=mustache: */}}
2{{/*
3Copyright 2019-present Open Networking Foundation
4
5Licensed under the Apache License, Version 2.0 (the "License");
6you may not use this file except in compliance with the License.
7You may obtain a copy of the License at
8
9http://www.apache.org/licenses/LICENSE-2.0
10
11Unless required by applicable law or agreed to in writing, software
12distributed under the License is distributed on an "AS IS" BASIS,
13WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14See the License for the specific language governing permissions and
15limitations under the License.
16*/}}
17
18{{- define "comac.onosTosca" -}}
19tosca_definitions_version: tosca_simple_yaml_1_0
20
21imports:
22 - custom_types/onosapp.yaml
23 - custom_types/onosservice.yaml
24 - custom_types/serviceinstanceattribute.yaml
25
26description: Configures services in COMAC
27
28topology_template:
29 node_templates:
30
31 service#onos:
32 type: tosca.nodes.ONOSService
33 properties:
34 name: onos
35 kind: data
36 rest_hostname: {{ .onosRestService | quote }}
37 rest_port: 8181
38
Woojoong Kim6db4c4d2019-10-03 10:22:07 -070039{{- if $.residentialService.enabled }}
Woojoong Kima053c4a2019-08-09 16:19:14 -070040 onos_app#openflow-base:
41 type: tosca.nodes.ONOSApp
42 properties:
43 name: openflow-base
44 app_id: org.onosproject.openflow-base
45 requirements:
46 - owner:
47 node: service#onos
48 relationship: tosca.relationships.BelongsToOne
49
50 onos_app#hostprovider:
51 type: tosca.nodes.ONOSApp
52 properties:
53 name: hostprovider
54 app_id: org.onosproject.hostprovider
55 requirements:
56 - owner:
57 node: service#onos
58 relationship: tosca.relationships.BelongsToOne
59
Woojoong Kimfdb269e2019-10-02 10:51:33 -070060 # FOR ATT-Workflow --
61 onos_app#aaa:
62 type: tosca.nodes.ONOSApp
63 properties:
64 name: aaa
65 app_id: org.opencord.aaa
66 url: {{ .aaaAppUrl }}
67 version: {{ .aaaAppVersion }}
68 dependencies: org.opencord.sadis
69 requirements:
70 - owner:
71 node: service#onos
72 relationship: tosca.relationships.BelongsToOne
73 # --
74
Woojoong Kima053c4a2019-08-09 16:19:14 -070075 onos_app#olt:
76 type: tosca.nodes.ONOSApp
77 properties:
78 name: olt
79 app_id: org.opencord.olt
80 url: {{ .oltAppUrl }}
81 version: {{ .oltAppVersion }}
82 dependencies: org.opencord.sadis
83 requirements:
84 - owner:
85 node: service#onos
86 relationship: tosca.relationships.BelongsToOne
87
88 onos_app#sadis:
89 type: tosca.nodes.ONOSApp
90 properties:
91 name: sadis
92 app_id: org.opencord.sadis
93 url: {{ .sadisAppUrl }}
94 version: {{ .sadisAppVersion }}
95 requirements:
96 - owner:
97 node: service#onos
98 relationship: tosca.relationships.BelongsToOne
99
100 onos_app#dhcpl2relay:
101 type: tosca.nodes.ONOSApp
102 properties:
103 name: dhcpl2relay
104 app_id: org.opencord.dhcpl2relay
105 url: {{ .dhcpl2relayAppUrl }}
106 version: {{ .dhcpl2relayAppVersion }}
107 dependencies: org.opencord.sadis
108 requirements:
109 - owner:
110 node: service#onos
111 relationship: tosca.relationships.BelongsToOne
112
113 onos_app#kafka:
114 type: tosca.nodes.ONOSApp
115 properties:
116 name: kafka
117 app_id: org.opencord.kafka
118 url: {{ .kafkaAppUrl }}
119 version: {{ .kafkaAppVersion }}
120 requirements:
121 - owner:
122 node: service#onos
123 relationship: tosca.relationships.BelongsToOne
124
125 # CORD-Configuration
126 kafka-config-attr:
127 type: tosca.nodes.ServiceInstanceAttribute
128 properties:
129 name: /onos/v1/network/configuration/apps/org.opencord.kafka
130 value: >
131 {
132 "kafka" : {
133 "bootstrapServers" : {{ .kafkaService | quote }}
134 }
135 }
136 requirements:
137 - service_instance:
138 node: onos_app#kafka
139 relationship: tosca.relationships.BelongsToOne
140
141 sadis-config-attr:
142 type: tosca.nodes.ServiceInstanceAttribute
143 properties:
144 name: /onos/v1/network/configuration/apps/org.opencord.sadis
145 value: >
146 {
147 "sadis" : {
148 "integration" : {
149 "cache" : {
150 "maxsize" : 1000,
151 "ttl": "PT300S"
152 },
153 "url" : "http://sadis-service:8000/subscriber/%s"
154 }
155 },
156 "bandwidthprofile":{
157 "integration":{
158 "url": "http://sadis-service:8000/bandwidthprofiles/%s",
159 "cache":{
160 "enabled":true,
161 "maxsize":40,
162 "ttl":"PT1m"
163 }
164 }
165 }
166 }
167 requirements:
168 - service_instance:
169 node: onos_app#sadis
170 relationship: tosca.relationships.BelongsToOne
Woojoong Kimfdb269e2019-10-02 10:51:33 -0700171
172 # FOR ATT-Workflow --
173 aaa-config-attr:
174 type: tosca.nodes.ServiceInstanceAttribute
175 properties:
176 name: /onos/v1/network/configuration/apps/org.opencord.aaa
177 value: >
178 {
179 "AAA" : {
180 "radiusConnectionType" : "socket",
181 "radiusHost" : "freeradius.voltha.svc.cluster.local",
182 "radiusServerPort" : "1812",
183 "radiusSecret" : "SECRET"
184 }
185 }
186 requirements:
187 - service_instance:
188 node: onos_app#aaa
189 relationship: tosca.relationships.BelongsToOne
190
191 olt-config-attr:
192 type: tosca.nodes.ServiceInstanceAttribute
193 properties:
194 name: /onos/v1/configuration/org.opencord.olt.impl.Olt?preset=true
195 value: >
196 {
197 "enableDhcpOnProvisioning" : true
198 }
199 requirements:
200 - service_instance:
201 node: onos_app#olt
202 relationship: tosca.relationships.BelongsToOne
203 # --
Woojoong Kima053c4a2019-08-09 16:19:14 -0700204{{- end }}
205
206 onos_app#segmentrouting:
207 type: tosca.nodes.ONOSApp
208 properties:
209 name: org.onosproject.segmentrouting
210 app_id: org.onosproject.segmentrouting
211 requirements:
212 - owner:
213 node: service#onos
214 relationship: tosca.relationships.BelongsToOne
215
216 onos_app#netcfghostprovider:
217 type: tosca.nodes.ONOSApp
218 properties:
219 name: org.onosproject.netcfghostprovider
220 app_id: org.onosproject.netcfghostprovider
221 requirements:
222 - owner:
223 node: service#onos
224 relationship: tosca.relationships.BelongsToOne
225
226 onos_app#openflow:
227 type: tosca.nodes.ONOSApp
228 properties:
229 name: org.onosproject.openflow
230 app_id: org.onosproject.openflow
231 requirements:
232 - owner:
233 node: service#onos
234 relationship: tosca.relationships.BelongsToOne
235{{- end -}}
236
237{{- define "comac.basicFixturesTosca" -}}
238tosca_definitions_version: tosca_simple_yaml_1_0
239description: Some basic fixtures
240imports:
241 - custom_types/networkparametertype.yaml
242 - custom_types/networktemplate.yaml
243topology_template:
244 node_templates:
245
246# -----------------------------------------------------------------------------
247# Network Parameter Types
248# -----------------------------------------------------------------------------
249 s_tag:
250 type: tosca.nodes.NetworkParameterType
251 properties:
252 name: s_tag
253 c_tag:
254 type: tosca.nodes.NetworkParameterType
255 properties:
256 name: c_tag
257 next_hop:
258 type: tosca.nodes.NetworkParameterType
259 properties:
260 name: next_hop
261 device:
262 type: tosca.nodes.NetworkParameterType
263 properties:
264 name: device
265 bridge:
266 type: tosca.nodes.NetworkParameterType
267 properties:
268 name: bridge
269 neutron_port_name:
270 type: tosca.nodes.NetworkParameterType
271 properties:
272 name: neutron_port_name
273
274# -----------------------------------------------------------------------------
275# Network Templates
276# -----------------------------------------------------------------------------
277 Private:
278 type: tosca.nodes.NetworkTemplate
279 properties:
280 name: Private
281 visibility: private
282 translation: none
283
284 Public shared IPv4:
285 type: tosca.nodes.NetworkTemplate
286 properties:
287 name: Public shared IPv4
288 visibility: private
289 translation: NAT
290 shared_network_name: nat-net
291
292 Public dedicated IPv4:
293 type: tosca.nodes.NetworkTemplate
294 properties:
295 name: Public dedicated IPv4
296 visibility: public
297 translation: none
298 shared_network_name: ext-net
299
300{{- end -}}
301
302{{- define "comac.serviceGraphTosca" -}}
303tosca_definitions_version: tosca_simple_yaml_1_0
304imports:
305 - custom_types/fabricservice.yaml
306 - custom_types/mcordsubscriberservice.yaml
307 - custom_types/onosservice.yaml
308 - custom_types/vrouterservice.yaml
Woojoong Kim13a5c992019-10-03 11:03:27 -0700309{{- if .Values.progran.enabled }}
310 - custom_types/progranservice.yaml
311{{- end }}
Woojoong Kim6db4c4d2019-10-03 10:22:07 -0700312{{- if .Values.residentialService.enabled }}
Woojoong Kima053c4a2019-08-09 16:19:14 -0700313 - custom_types/rcordservice.yaml
314 - custom_types/voltservice.yaml
315 - custom_types/fabriccrossconnectservice.yaml
Woojoong Kimfdb269e2019-10-02 10:51:33 -0700316 - custom_types/attworkflowdriverservice.yaml
Woojoong Kima053c4a2019-08-09 16:19:14 -0700317{{- end }}
318 - custom_types/servicegraphconstraint.yaml
319 - custom_types/servicedependency.yaml
320 - custom_types/service.yaml
321description: COMAC service graph
322topology_template:
323 node_templates:
324
325 service#onos:
326 type: tosca.nodes.ONOSService
327 properties:
328 name: onos
329 must-exist: true
330
331 service#fabric:
332 type: tosca.nodes.FabricService
333 properties:
334 name: fabric
335 must-exist: true
336
337 service#vrouter:
338 type: tosca.nodes.VRouterService
339 properties:
340 name: vrouter
341 must-exist: true
342
343 service#mcord:
344 type: tosca.nodes.MCordSubscriberService
345 properties:
346 name: mcord
347 must-exist: true
348
Woojoong Kim13a5c992019-10-03 11:03:27 -0700349{{ if .Values.progran.enabled }}
350 service#progran:
351 type: tosca.nodes.ProgranService
352 properties:
353 name: progran
354 must-exist: true
355{{ end }}
356
Woojoong Kim6db4c4d2019-10-03 10:22:07 -0700357{{- if .Values.residentialService.enabled }}
Woojoong Kima053c4a2019-08-09 16:19:14 -0700358 service#rcord:
359 type: tosca.nodes.RCORDService
360 properties:
361 name: rcord
362 must-exist: true
363
364 service#volt:
365 type: tosca.nodes.VOLTService
366 properties:
367 name: volt
368 must-exist: true
369
370 service#fabric-crossconnect:
371 type: tosca.nodes.FabricCrossconnectService
372 properties:
373 name: fabric-crossconnect
374 must-exist: true
Woojoong Kimfdb269e2019-10-02 10:51:33 -0700375
376 # FOR ATT-Workflow --
377 service#att-workflow-driver:
378 type: tosca.nodes.AttWorkflowDriverService
379 properties:
380 name: att-workflow-driver
381 must-exist: true
382 # --
Woojoong Kima053c4a2019-08-09 16:19:14 -0700383{{- end }}
384
385 service#omec-cp:
386 type: tosca.nodes.Service
387 properties:
388 name: omec-cp
389
390 service#omec-up:
391 type: tosca.nodes.Service
392 properties:
393 name: omec-up
394
395 service#cdn-local:
396 type: tosca.nodes.Service
397 properties:
398 name: cdn-local
399
400 service#cdn-remote:
401 type: tosca.nodes.Service
402 properties:
403 name: cdn-remote
404
405 service_dependency#onos-fabric_fabric:
406 type: tosca.nodes.ServiceDependency
407 properties:
408 connect_method: none
409 requirements:
410 - subscriber_service:
411 node: service#fabric
412 relationship: tosca.relationships.BelongsToOne
413 - provider_service:
414 node: service#onos
415 relationship: tosca.relationships.BelongsToOne
416
417 service_dependency#vrouter_fabric:
418 type: tosca.nodes.ServiceDependency
419 properties:
420 connect_method: none
421 requirements:
422 - subscriber_service:
423 node: service#vrouter
424 relationship: tosca.relationships.BelongsToOne
425 - provider_service:
426 node: service#fabric
427 relationship: tosca.relationships.BelongsToOne
428
Woojoong Kim6db4c4d2019-10-03 10:22:07 -0700429{{- if .Values.residentialService.enabled }}
Woojoong Kima053c4a2019-08-09 16:19:14 -0700430 service_dependency#rcord_volt:
431 type: tosca.nodes.ServiceDependency
432 properties:
433 connect_method: none
434 requirements:
435 - subscriber_service:
436 node: service#rcord
437 relationship: tosca.relationships.BelongsToOne
438 - provider_service:
439 node: service#volt
440 relationship: tosca.relationships.BelongsToOne
441
442 service_dependency#onos_volt:
443 type: tosca.nodes.ServiceDependency
444 properties:
445 connect_method: none
446 requirements:
447 - subscriber_service:
448 node: service#volt
449 relationship: tosca.relationships.BelongsToOne
450 - provider_service:
451 node: service#onos
452 relationship: tosca.relationships.BelongsToOne
453
454 service_dependency#volt_fabric-crossconnect:
455 type: tosca.nodes.ServiceDependency
456 properties:
457 connect_method: none
458 requirements:
459 - subscriber_service:
460 node: service#volt
461 relationship: tosca.relationships.BelongsToOne
462 - provider_service:
463 node: service#fabric-crossconnect
464 relationship: tosca.relationships.BelongsToOne
465
466 service_dependency#onos_fabric-crossconnect:
467 type: tosca.nodes.ServiceDependency
468 properties:
469 connect_method: none
470 requirements:
471 - subscriber_service:
472 node: service#fabric-crossconnect
473 relationship: tosca.relationships.BelongsToOne
474 - provider_service:
475 node: service#onos
476 relationship: tosca.relationships.BelongsToOne
Woojoong Kimfdb269e2019-10-02 10:51:33 -0700477
478 # FOR ATT-Workflow --
479 service_dependency#workflow_volt:
480 type: tosca.nodes.ServiceDependency
481 properties:
482 connect_method: none
483 requirements:
484 - subscriber_service:
485 node: service#att-workflow-driver
486 relationship: tosca.relationships.BelongsToOne
487 - provider_service:
488 node: service#volt
489 relationship: tosca.relationships.BelongsToOne
490 # --
Woojoong Kima053c4a2019-08-09 16:19:14 -0700491{{- end }}
492
Woojoong Kim13a5c992019-10-03 11:03:27 -0700493{{ if .Values.progran.enabled }}
494 service_dependency#mcord_progran:
495 type: tosca.nodes.ServiceDependency
496 properties:
497 connect_method: none
498 requirements:
499 - subscriber_service:
500 node: service#progran
501 relationship: tosca.relationships.BelongsToOne
502 - provider_service:
503 node: service#mcord
504 relationship: tosca.relationships.BelongsToOne
505
506 service_dependency#progran_epc_cp:
507 type: tosca.nodes.ServiceDependency
508 properties:
509 connect_method: none
510 requirements:
511 - subscriber_service:
512 node: service#omec-cp
513 relationship: tosca.relationships.BelongsToOne
514 - provider_service:
515 node: service#progran
516 relationship: tosca.relationships.BelongsToOne
517
518 service_dependency#progran_epc_up:
519 type: tosca.nodes.ServiceDependency
520 properties:
521 connect_method: none
522 requirements:
523 - subscriber_service:
524 node: service#omec-up
525 relationship: tosca.relationships.BelongsToOne
526 - provider_service:
527 node: service#progran
528 relationship: tosca.relationships.BelongsToOne
529
530{{ else }}
Woojoong Kima053c4a2019-08-09 16:19:14 -0700531 service_dependency#mcord_epc_cp:
532 type: tosca.nodes.ServiceDependency
533 properties:
534 connect_method: none
535 requirements:
536 - subscriber_service:
537 node: service#omec-cp
538 relationship: tosca.relationships.BelongsToOne
539 - provider_service:
540 node: service#mcord
541 relationship: tosca.relationships.BelongsToOne
542
543 service_dependency#mcord_epc_up:
544 type: tosca.nodes.ServiceDependency
545 properties:
546 connect_method: none
547 requirements:
548 - subscriber_service:
549 node: service#omec-up
550 relationship: tosca.relationships.BelongsToOne
551 - provider_service:
552 node: service#mcord
553 relationship: tosca.relationships.BelongsToOne
Woojoong Kim13a5c992019-10-03 11:03:27 -0700554{{ end }}
Woojoong Kima053c4a2019-08-09 16:19:14 -0700555
556 service_dependency#epc_cp_epc_up:
557 type: tosca.nodes.ServiceDependency
558 properties:
559 connect_method: none
560 requirements:
561 - subscriber_service:
562 node: service#omec-up
563 relationship: tosca.relationships.BelongsToOne
564 - provider_service:
565 node: service#omec-cp
566 relationship: tosca.relationships.BelongsToOne
567
568 service_dependency#epc_up_cdn_local:
569 type: tosca.nodes.ServiceDependency
570 properties:
571 connect_method: none
572 requirements:
573 - subscriber_service:
574 node: service#cdn-local
575 relationship: tosca.relationships.BelongsToOne
576 - provider_service:
577 node: service#omec-up
578 relationship: tosca.relationships.BelongsToOne
579
580 service_dependency#cdn_local_cdn_remote:
581 type: tosca.nodes.ServiceDependency
582 properties:
583 connect_method: none
584 requirements:
585 - subscriber_service:
586 node: service#cdn-remote
587 relationship: tosca.relationships.BelongsToOne
588 - provider_service:
589 node: service#cdn-local
590 relationship: tosca.relationships.BelongsToOne
Woojoong Kimfdb269e2019-10-02 10:51:33 -0700591
592 constraints:
593 type: tosca.nodes.ServiceGraphConstraint
594 properties:
Woojoong Kim13a5c992019-10-03 11:03:27 -0700595 constraints: '[["mcord", null, null, "rcord"], ["progran", null, "att-workflow-driver", "volt"], ["omec-cp", "omec-up", "onos", "fabric-crossconnect"], [null, "cdn-local", "fabric", null], [null, "cdn-remote", "vrouter", null]]'
Woojoong Kimfdb269e2019-10-02 10:51:33 -0700596{{- end -}}