blob: dae78a8bd93b44f1b7c9d2d7e1ff9e550f0190fc [file] [log] [blame]
Zack Williams2c010532018-01-18 10:22:57 -07001---
Andy Baviere6478b22017-12-21 13:17:56 -07002{#
3Copyright 2017-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
Andy Baviere6478b22017-12-21 13:17:56 -070018tosca_definitions_version: tosca_simple_yaml_1_0
19
Zack Williams2c010532018-01-18 10:22:57 -070020description: created by mcord profile
Andy Baviere6478b22017-12-21 13:17:56 -070021
22imports:
Andy Baviere6478b22017-12-21 13:17:56 -070023 - custom_types/slice.yaml
24 - custom_types/site.yaml
25 - custom_types/image.yaml
26 - custom_types/flavor.yaml
27 - custom_types/network.yaml
Andy Bavier0d1131e2018-01-02 11:27:43 -070028 - custom_types/networktemplate.yaml
Andy Baviere6478b22017-12-21 13:17:56 -070029 - custom_types/onosservice.yaml
30 - custom_types/networkslice.yaml
31 - custom_types/vspgwcservice.yaml
32 - custom_types/vspgwcvendor.yaml
33 - custom_types/vspgwuservice.yaml
34 - custom_types/vspgwuvendor.yaml
35 - custom_types/vmmeservice.yaml
36 - custom_types/vmmevendor.yaml
Andy Bavier0d1131e2018-01-02 11:27:43 -070037 - custom_types/vhssservice.yaml
38 - custom_types/vhssvendor.yaml
Woojoong Kim6586fe82018-01-09 13:10:03 -080039 - custom_types/hssdbservice.yaml
40 - custom_types/hssdbvendor.yaml
JianHaoea1948b2018-01-18 20:14:01 +080041 - custom_types/internetemulatorservice.yaml
Andy Bavier0d1131e2018-01-02 11:27:43 -070042 - custom_types/sdncontrollerservice.yaml
43 - custom_types/sdncontrollervendor.yaml
Andy Baviere6478b22017-12-21 13:17:56 -070044 - custom_types/vepcservice.yaml
45 - custom_types/servicedependency.yaml
46 - custom_types/mcordsubscriberservice.yaml
Matteo Scandolo0fd48b42018-01-26 11:03:37 -080047 - custom_types/progranservice.yaml
Andy Baviere6478b22017-12-21 13:17:56 -070048
49topology_template:
50 node_templates:
51
52# site, image, fully created in deployment.yaml
53 {{ site_name }}:
54 type: tosca.nodes.Site
55 properties:
56 must-exist: true
57 name: {{ site_name }}
58
Andy Bavier0d1131e2018-01-02 11:27:43 -070059# flavors
Andy Baviere6478b22017-12-21 13:17:56 -070060 m1.small:
61 type: tosca.nodes.Flavor
62 properties:
63 name: m1.small
64 must-exist: true
65 m1.large:
66 type: tosca.nodes.Flavor
67 properties:
68 name: m1.large
69 must-exist: true
70 m1.medium:
71 type: tosca.nodes.Flavor
72 properties:
73 name: m1.medium
74 must-exist: true
75 m1.xlarge:
76 type: tosca.nodes.Flavor
77 properties:
78 name: m1.xlarge
79 must-exist: true
80
Andy Bavier0d1131e2018-01-02 11:27:43 -070081# images
Andy Baviere6478b22017-12-21 13:17:56 -070082 image-test:
83 type: tosca.nodes.Image
84 properties:
85 name: image-test
86
Andy Bavier0db4faf2018-01-17 16:20:16 -070087 image-mme:
88 type: tosca.nodes.Image
89 properties:
90 name: image-mme
91
92 image-hss:
93 type: tosca.nodes.Image
94 properties:
95 name: image-hss
96
97 image-hss-db:
98 type: tosca.nodes.Image
99 properties:
100 name: image-hss-db
101
Andy Baviere6478b22017-12-21 13:17:56 -0700102 image-spgwc:
103 type: tosca.nodes.Image
104 properties:
105 name: image-spgwc
106
107 image-spgwu:
108 type: tosca.nodes.Image
109 properties:
110 name: image-spgwu
111
JianHaoea1948b2018-01-18 20:14:01 +0800112 image-internetemulator:
113 type: tosca.nodes.Image
114 properties:
115 name: image-internetemulator
116
Andy Bavier0d1131e2018-01-02 11:27:43 -0700117# network templates
118 private_template:
119 type: tosca.nodes.NetworkTemplate
120 properties:
121 name: private_template
122 visibility: private
123 translation: none
124 vtn_kind: PRIVATE
125
126 flat_template:
127 type: tosca.nodes.NetworkTemplate
128 properties:
129 name: flat_template
130 visibility: private
131 translation: none
132 vtn_kind: FLAT
133
Andy Baviere6478b22017-12-21 13:17:56 -0700134# management networks, fully created in management-net.yaml
135 management:
136 type: tosca.nodes.Network
137 properties:
138 must-exist: true
139 name: management
140
Zack Williams2c010532018-01-18 10:22:57 -0700141{% if use_vtn_net_management_host %}
142 management_host:
Andy Baviere6478b22017-12-21 13:17:56 -0700143 type: tosca.nodes.Network
144 properties:
Zack Williams2c010532018-01-18 10:22:57 -0700145 name: management_host
Andy Baviere6478b22017-12-21 13:17:56 -0700146 must-exist: true
Andy Baviere6478b22017-12-21 13:17:56 -0700147{% endif %}
148
Andy Bavier0d1131e2018-01-02 11:27:43 -0700149# Other networks are created by vEPC service
Andy Baviere6478b22017-12-21 13:17:56 -0700150
151# ONOS_CORD, fully created in vtn.yaml
152 service#ONOS_CORD:
153 type: tosca.nodes.ONOSService
154 properties:
155 must-exist: true
156 name: ONOS_CORD
157
158# ONOS_Fabric, fully created in fabric.yaml
159 service#ONOS_Fabric:
160 type: tosca.nodes.ONOSService
161 properties:
162 must-exist: true
163 name: ONOS_Fabric
164
165# vMME Service
166 service#vmme:
167 type: tosca.nodes.VMMEService
168 properties:
169 name: vmme
170 public_key: {{ lookup('file', config_cord_profile_dir + '/key_import/mcord_rsa.pub') }}
171 private_key_fn: /opt/xos/services/vmme/keys/mcord_rsa
172 artifacts:
173 pubkey: /opt/cord_profile/key_import/mcord_rsa.pub
174
175 {{ site_name }}_vmme:
176 description: vMME Service Slice
177 type: tosca.nodes.Slice
178 properties:
179 name: {{ site_name }}_vmme
180 default_isolation: vm
181 network: noauto
182 requirements:
183 - site:
184 node: mysite
185 relationship: tosca.relationships.BelongsToOne
186 - service:
187 node: service#vmme
188 relationship: tosca.relationships.BelongsToOne
189 - default_image:
Andy Bavier0db4faf2018-01-17 16:20:16 -0700190 node: image-mme
Andy Baviere6478b22017-12-21 13:17:56 -0700191 relationship: tosca.relationships.BelongsToOne
192 - default_flavor:
Andy Bavier0db4faf2018-01-17 16:20:16 -0700193 node: m1.large
Andy Baviere6478b22017-12-21 13:17:56 -0700194 relationship: tosca.relationships.BelongsToOne
195
196 sprint_mme:
197 type: tosca.nodes.VMMEVendor
198 properties:
199 name: sprint_mme
200 requirements:
201 - image:
Andy Bavier0db4faf2018-01-17 16:20:16 -0700202 node: image-mme
Andy Baviere6478b22017-12-21 13:17:56 -0700203 relationship: tosca.relationships.BelongsToOne
204 - flavor:
Andy Bavier0db4faf2018-01-17 16:20:16 -0700205 node: m1.large
Andy Baviere6478b22017-12-21 13:17:56 -0700206 relationship: tosca.relationships.BelongsToOne
207
208#vSPGWC Service
209 service#vspgwc:
210 type: tosca.nodes.VSPGWCService
211 properties:
212 name: vspgwc
213 public_key: {{ lookup('file', config_cord_profile_dir + '/key_import/mcord_rsa.pub') }}
214 private_key_fn: /opt/xos/services/vspgwc/keys/mcord_rsa
215 artifacts:
216 pubkey: /opt/cord_profile/key_import/mcord_rsa.pub
217
218 {{ site_name }}_vspgwc:
Andy Bavier0d1131e2018-01-02 11:27:43 -0700219 description: vSPGW-C slice
Andy Baviere6478b22017-12-21 13:17:56 -0700220 type: tosca.nodes.Slice
221 properties:
222 name: {{ site_name }}_vspgwc
223 default_isolation: vm
224 network: noauto
225 requirements:
226 - site:
227 node: mysite
228 relationship: tosca.relationships.BelongsToOne
229 - service:
230 node: service#vspgwc
231 relationship: tosca.relationships.BelongsToOne
232 - default_image:
233 node: image-spgwc
234 relationship: tosca.relationships.BelongsToOne
235 - default_flavor:
236 node: m1.large
237 relationship: tosca.relationships.BelongsToOne
238
239 intel_vspgwc:
240 type: tosca.nodes.VSPGWCVendor
241 properties:
242 name: intel_vspgwc
243 requirements:
244 - image:
245 node: image-spgwc
246 relationship: tosca.relationships.BelongsToOne
247 - flavor:
248 node: m1.large
249 relationship: tosca.relationships.BelongsToOne
250
251
252#vSPGWU Service
253 service#vspgwu:
254 type: tosca.nodes.VSPGWUService
255 properties:
256 name: vspgwu
257 public_key: {{ lookup('file', config_cord_profile_dir + '/key_import/mcord_rsa.pub') }}
258 private_key_fn: /opt/xos/services/vspgwu/keys/mcord_rsa
259 artifacts:
260 pubkey: /opt/cord_profile/key_import/mcord_rsa.pub
261
262 {{ site_name }}_vspgwu:
Andy Bavier0d1131e2018-01-02 11:27:43 -0700263 description: vSPGW-U slice
Andy Baviere6478b22017-12-21 13:17:56 -0700264 type: tosca.nodes.Slice
265 properties:
266 name: {{ site_name }}_vspgwu
267 default_isolation: vm
268 network: noauto
269 requirements:
270 - site:
271 node: mysite
272 relationship: tosca.relationships.BelongsToOne
273 - service:
274 node: service#vspgwu
275 relationship: tosca.relationships.BelongsToOne
276 - default_image:
277 node: image-spgwu
278 relationship: tosca.relationships.BelongsToOne
279 - default_flavor:
280 node: m1.xlarge
281 relationship: tosca.relationships.BelongsToOne
282
283 intel_vspgwu:
284 type: tosca.nodes.VSPGWUVendor
285 properties:
286 name: intel_vspgwu
287 requirements:
288 - image:
289 node: image-spgwu
290 relationship: tosca.relationships.BelongsToOne
291 - flavor:
292 node: m1.xlarge
293 relationship: tosca.relationships.BelongsToOne
294
Andy Bavier0d1131e2018-01-02 11:27:43 -0700295# vHSS service
296 service#vhss:
297 type: tosca.nodes.VHSSService
298 properties:
299 name: vhss
300 kind: vEPC
301 public_key: {{ lookup('file', config_cord_profile_dir + '/key_import/mcord_rsa.pub') }}
302 private_key_fn: /opt/xos/services/vhss/keys/mcord_rsa
303 artifacts:
304 pubkey: /opt/cord_profile/key_import/mcord_rsa.pub
305
306 {{ site_name }}_vhss:
307 description: vHSS Service Slice
308 type: tosca.nodes.Slice
309 properties:
310 name: {{ site_name }}_vhss
311 default_isolation: vm
312 network: noauto
313 requirements:
314 - site:
315 node: mysite
316 relationship: tosca.relationships.BelongsToOne
317 - service:
318 node: service#vhss
319 relationship: tosca.relationships.BelongsToOne
320 - default_image:
Andy Bavier0db4faf2018-01-17 16:20:16 -0700321 node: image-hss
Andy Bavier0d1131e2018-01-02 11:27:43 -0700322 relationship: tosca.relationships.BelongsToOne
323 - default_flavor:
Andy Bavier0db4faf2018-01-17 16:20:16 -0700324 node: m1.large
Andy Bavier0d1131e2018-01-02 11:27:43 -0700325 relationship: tosca.relationships.BelongsToOne
326
327 sprint_hss:
328 type: tosca.nodes.VHSSVendor
329 properties:
330 name: sprint_hss
331 requirements:
332 - image:
Andy Bavier0db4faf2018-01-17 16:20:16 -0700333 node: image-hss
Andy Bavier0d1131e2018-01-02 11:27:43 -0700334 relationship: tosca.relationships.BelongsToOne
335 - flavor:
Andy Bavier0db4faf2018-01-17 16:20:16 -0700336 node: m1.large
Andy Bavier0d1131e2018-01-02 11:27:43 -0700337 relationship: tosca.relationships.BelongsToOne
338
Woojoong Kim6586fe82018-01-09 13:10:03 -0800339# HSS_DB service
340 service#hssdb:
341 type: tosca.nodes.HSSDBService
342 properties:
343 name: hssdb
344 public_key: {{ lookup('file', config_cord_profile_dir + '/key_import/mcord_rsa.pub') }}
345 private_key_fn: /opt/xos/services/hssdb/keys/mcord_rsa
346 artifacts:
347 pubkey: /opt/cord_profile/key_import/mcord_rsa.pub
348
349 {{ site_name }}_hssdb:
350 description: HSS-DB Service Slice
351 type: tosca.nodes.Slice
352 properties:
353 name: {{ site_name }}_hssdb
354 default_isolation: vm
355 network: noauto
356 requirements:
357 - site:
358 node: mysite
359 relationship: tosca.relationships.BelongsToOne
360 - service:
361 node: service#hssdb
362 relationship: tosca.relationships.BelongsToOne
363 - default_image:
Andy Bavier0db4faf2018-01-17 16:20:16 -0700364 node: image-hss-db
Woojoong Kim6586fe82018-01-09 13:10:03 -0800365 relationship: tosca.relationships.BelongsToOne
366 - default_flavor:
Andy Bavier0db4faf2018-01-17 16:20:16 -0700367 node: m1.large
Woojoong Kim6586fe82018-01-09 13:10:03 -0800368 relationship: tosca.relationships.BelongsToOne
369
370 sprint_hssdb:
371 type: tosca.nodes.HSSDBVendor
372 properties:
373 name: sprint_hssdb
374 requirements:
375 - image:
Andy Bavier0db4faf2018-01-17 16:20:16 -0700376 node: image-hss-db
Woojoong Kim6586fe82018-01-09 13:10:03 -0800377 relationship: tosca.relationships.BelongsToOne
378 - flavor:
Andy Bavier0db4faf2018-01-17 16:20:16 -0700379 node: m1.large
Woojoong Kim6586fe82018-01-09 13:10:03 -0800380 relationship: tosca.relationships.BelongsToOne
381
JianHaoea1948b2018-01-18 20:14:01 +0800382# InternetEmulator service
383 service#internetemulator:
384 type: tosca.nodes.InternetEmulatorService
385 properties:
386 name: internetemulator
387 public_key: {{ lookup('file', config_cord_profile_dir + '/key_import/mcord_rsa.pub') }}
388 private_key_fn: /opt/xos/services/internetemulator/keys/mcord_rsa
389 artifacts:
390 pubkey: /opt/cord_profile/key_import/mcord_rsa.pub
391
392 {{ site_name }}_internetemulator:
393 description: Internetemulator Service Slice
394 type: tosca.nodes.Slice
395 properties:
396 name: {{ site_name }}_internetemulator
397 default_isolation: vm
398 network: noauto
399 requirements:
400 - site:
401 node: mysite
402 relationship: tosca.relationships.BelongsToOne
403 - service:
404 node: service#internetemulator
405 relationship: tosca.relationships.BelongsToOne
406 - default_image:
407 node: image-internetemulator
408 relationship: tosca.relationships.BelongsToOne
409 - default_flavor:
410 node: m1.small
411 relationship: tosca.relationships.BelongsToOne
412
Andy Bavier0d1131e2018-01-02 11:27:43 -0700413#SDN Controller Service
414 service#sdncontroller:
415 type: tosca.nodes.SDNControllerService
416 properties:
417 name: sdncontroller
418 public_key: {{ lookup('file', config_cord_profile_dir + '/key_import/mcord_rsa.pub') }}
419 private_key_fn: /opt/xos/services/vspgwu/keys/mcord_rsa
420 artifacts:
421 pubkey: /opt/cord_profile/key_import/mcord_rsa.pub
422
423 {{ site_name }}_sdncontroller:
424 description: SDN controller slice
425 type: tosca.nodes.Slice
426 properties:
427 name: {{ site_name }}_sdncontroller
428 default_isolation: vm
429 network: noauto
430 requirements:
431 - site:
432 node: mysite
433 relationship: tosca.relationships.BelongsToOne
434 - service:
435 node: service#sdncontroller
436 relationship: tosca.relationships.BelongsToOne
437 - default_image:
438 node: image-test
439 relationship: tosca.relationships.BelongsToOne
440 - default_flavor:
441 node: m1.small
442 relationship: tosca.relationships.BelongsToOne
443
444 intel_sdncontroller:
445 type: tosca.nodes.SDNControllerVendor
446 properties:
447 name: intel_sdncontroller
448 requirements:
449 - image:
450 node: image-test
451 relationship: tosca.relationships.BelongsToOne
452 - flavor:
453 node: m1.small
454 relationship: tosca.relationships.BelongsToOne
455
Andy Baviere6478b22017-12-21 13:17:56 -0700456# vEPC Service
457 service#vepc:
458 type: tosca.nodes.VEPCService
459 properties:
460 name: vepc
461 public_key: {{ lookup('file', config_cord_profile_dir + '/key_import/mcord_rsa.pub') }}
462 private_key_fn: /opt/xos/services/epc-service/keys/mcord_rsa
463 artifacts:
464 pubkey: /opt/cord_profile/key_import/mcord_rsa.pub
465
Matteo Scandolo0fd48b42018-01-26 11:03:37 -0800466# Progran Service
467 service#progran:
468 type: tosca.nodes.ProgranService
469 properties:
470 name: progran
471 public_key: {{ lookup('file', config_cord_profile_dir + '/key_import/mcord_rsa.pub') }}
472 private_key_fn: /opt/xos/services/epc-service/keys/mcord_rsa
473 artifacts:
474 pubkey: /opt/cord_profile/key_import/mcord_rsa.pub
475
Andy Baviere6478b22017-12-21 13:17:56 -0700476# ServiceDependencies
477 vmme_vspgwc:
478 type: tosca.nodes.ServiceDependency
479 properties:
480 connect_method: None
481 requirements:
482 - subscriber_service:
483 node: service#vmme
484 relationship: tosca.relationships.BelongsToOne
485 - provider_service:
486 node: service#vspgwc
487 relationship: tosca.relationships.BelongsToOne
488
489 vmme_vspgwu:
490 type: tosca.nodes.ServiceDependency
491 properties:
492 connect_method: None
493 requirements:
494 - subscriber_service:
495 node: service#vmme
496 relationship: tosca.relationships.BelongsToOne
497 - provider_service:
498 node: service#vspgwu
499 relationship: tosca.relationships.BelongsToOne
500
501 vspgwc_vspgwu:
502 type: tosca.nodes.ServiceDependency
503 properties:
504 connect_method: None
505 requirements:
506 - subscriber_service:
507 node: service#vspgwc
508 relationship: tosca.relationships.BelongsToOne
509 - provider_service:
510 node: service#vspgwu
511 relationship: tosca.relationships.BelongsToOne
512
Andy Bavier0d1131e2018-01-02 11:27:43 -0700513 vmme_vhss:
514 type: tosca.nodes.ServiceDependency
515 properties:
516 connect_method: None
517 requirements:
518 - subscriber_service:
519 node: service#vmme
520 relationship: tosca.relationships.BelongsToOne
521 - provider_service:
522 node: service#vhss
523 relationship: tosca.relationships.BelongsToOne
524
Woojoong Kim6586fe82018-01-09 13:10:03 -0800525 vhss_hssdb:
526 type: tosca.nodes.ServiceDependency
527 properties:
528 connect_method: None
529 requirements:
530 - subscriber_service:
531 node: service#vhss
532 relationship: tosca.relationships.BelongsToOne
533 - provider_service:
534 node: service#hssdb
535 relationship: tosca.relationships.BelongsToOne
536
Andy Baviere6478b22017-12-21 13:17:56 -0700537# M-CORD Subscriber
538 service#mcord:
539 type: tosca.nodes.MCordSubscriberService
540 properties:
541 name: mcord
542
Andy Bavier0d1131e2018-01-02 11:27:43 -0700543 # ServiceDependency M-CORD to vMME
Andy Baviere6478b22017-12-21 13:17:56 -0700544 mcord_vmme:
545 type: tosca.nodes.ServiceDependency
546 properties:
547 connect_method: None
548 requirements:
549 - subscriber_service:
550 node: service#vmme
551 relationship: tosca.relationships.BelongsToOne
552 - provider_service:
553 node: service#mcord
554 relationship: tosca.relationships.BelongsToOne
Andy Bavier96701282018-01-22 20:41:25 -0800555
556# EPC networks
557
558{% for network in mcord_networks %}
559 {{ network['name'] }}:
560 type: tosca.nodes.Network
561 properties:
562 name: {{ network['name'] }}
563 subnet: {{ network['subnet'] }}
564 permit_all_slices: {{ network['permit_all_slices'] }}
565 requirements:
566 - template:
567 node: {{ network['template'] }}
568 relationship: tosca.relationships.BelongsToOne
569 - owner:
570 node: {{ site_name }}_{{ network['owner'] }}
571 relationship: tosca.relationships.BelongsToOne
572
573{% endfor %}
574
575# Network Slices for InternetEmulator, not created by EPC
576
577 internetemulator_slice_management_network:
578 type: tosca.nodes.NetworkSlice
579 requirements:
580 - network:
581 node: management
582 relationship: tosca.relationships.BelongsToOne
583 - slice:
584 node: {{ site_name }}_internetemulator
585 relationship: tosca.relationships.BelongsToOne
586
587 internetemulator_slice_sgi_network:
588 type: tosca.nodes.NetworkSlice
589 requirements:
590 - network:
591 node: sgi_network
592 relationship: tosca.relationships.BelongsToOne
593 - slice:
594 node: {{ site_name }}_internetemulator
595 relationship: tosca.relationships.BelongsToOne