| |
| {# |
| Copyright 2017-present Open Networking Foundation |
| |
| Licensed under the Apache License, Version 2.0 (the "License"); |
| you may not use this file except in compliance with the License. |
| You may obtain a copy of the License at |
| |
| http://www.apache.org/licenses/LICENSE-2.0 |
| |
| Unless required by applicable law or agreed to in writing, software |
| distributed under the License is distributed on an "AS IS" BASIS, |
| WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| See the License for the specific language governing permissions and |
| limitations under the License. |
| #} |
| |
| |
| tosca_definitions_version: tosca_simple_yaml_1_0 |
| |
| description: created by platform-install |
| |
| imports: |
| - custom_types/xos.yaml |
| - custom_types/slice.yaml |
| - custom_types/site.yaml |
| - custom_types/image.yaml |
| - custom_types/flavor.yaml |
| - custom_types/network.yaml |
| - custom_types/networktemplate.yaml |
| - custom_types/onosservice.yaml |
| - custom_types/networkslice.yaml |
| - custom_types/vspgwcservice.yaml |
| - custom_types/vspgwcvendor.yaml |
| - custom_types/vspgwuservice.yaml |
| - custom_types/vspgwuvendor.yaml |
| - custom_types/vmmeservice.yaml |
| - custom_types/vmmevendor.yaml |
| - custom_types/vhssservice.yaml |
| - custom_types/vhssvendor.yaml |
| - custom_types/hssdbservice.yaml |
| - custom_types/hssdbvendor.yaml |
| - custom_types/internetemulatorservice.yaml |
| - custom_types/sdncontrollerservice.yaml |
| - custom_types/sdncontrollervendor.yaml |
| - custom_types/vepcservice.yaml |
| - custom_types/servicedependency.yaml |
| - custom_types/mcordsubscriberservice.yaml |
| |
| topology_template: |
| node_templates: |
| |
| # site, image, fully created in deployment.yaml |
| {{ site_name }}: |
| type: tosca.nodes.Site |
| properties: |
| must-exist: true |
| name: {{ site_name }} |
| |
| # flavors |
| m1.small: |
| type: tosca.nodes.Flavor |
| properties: |
| name: m1.small |
| must-exist: true |
| m1.large: |
| type: tosca.nodes.Flavor |
| properties: |
| name: m1.large |
| must-exist: true |
| m1.medium: |
| type: tosca.nodes.Flavor |
| properties: |
| name: m1.medium |
| must-exist: true |
| m1.xlarge: |
| type: tosca.nodes.Flavor |
| properties: |
| name: m1.xlarge |
| must-exist: true |
| |
| # images |
| image-test: |
| type: tosca.nodes.Image |
| properties: |
| name: image-test |
| |
| image-mme: |
| type: tosca.nodes.Image |
| properties: |
| name: image-mme |
| |
| image-hss: |
| type: tosca.nodes.Image |
| properties: |
| name: image-hss |
| |
| image-hss-db: |
| type: tosca.nodes.Image |
| properties: |
| name: image-hss-db |
| |
| image-spgwc: |
| type: tosca.nodes.Image |
| properties: |
| name: image-spgwc |
| |
| image-spgwu: |
| type: tosca.nodes.Image |
| properties: |
| name: image-spgwu |
| |
| image-internetemulator: |
| type: tosca.nodes.Image |
| properties: |
| name: image-internetemulator |
| |
| # network templates |
| private_template: |
| type: tosca.nodes.NetworkTemplate |
| properties: |
| name: private_template |
| visibility: private |
| translation: none |
| vtn_kind: PRIVATE |
| |
| flat_template: |
| type: tosca.nodes.NetworkTemplate |
| properties: |
| name: flat_template |
| visibility: private |
| translation: none |
| vtn_kind: FLAT |
| |
| # management networks, fully created in management-net.yaml |
| management: |
| type: tosca.nodes.Network |
| properties: |
| must-exist: true |
| name: management |
| |
| {% if use_management_hosts %} |
| management_hosts: |
| type: tosca.nodes.Network |
| properties: |
| must-exist: true |
| name: management_hosts |
| {% endif %} |
| |
| # Other networks are created by vEPC service |
| |
| # ONOS_CORD, fully created in vtn.yaml |
| service#ONOS_CORD: |
| type: tosca.nodes.ONOSService |
| properties: |
| must-exist: true |
| name: ONOS_CORD |
| |
| # ONOS_Fabric, fully created in fabric.yaml |
| service#ONOS_Fabric: |
| type: tosca.nodes.ONOSService |
| properties: |
| must-exist: true |
| name: ONOS_Fabric |
| |
| # vMME Service |
| service#vmme: |
| type: tosca.nodes.VMMEService |
| properties: |
| name: vmme |
| public_key: {{ lookup('file', config_cord_profile_dir + '/key_import/mcord_rsa.pub') }} |
| private_key_fn: /opt/xos/services/vmme/keys/mcord_rsa |
| artifacts: |
| pubkey: /opt/cord_profile/key_import/mcord_rsa.pub |
| |
| {{ site_name }}_vmme: |
| description: vMME Service Slice |
| type: tosca.nodes.Slice |
| properties: |
| name: {{ site_name }}_vmme |
| default_isolation: vm |
| network: noauto |
| requirements: |
| - site: |
| node: mysite |
| relationship: tosca.relationships.BelongsToOne |
| - service: |
| node: service#vmme |
| relationship: tosca.relationships.BelongsToOne |
| - default_image: |
| node: image-mme |
| relationship: tosca.relationships.BelongsToOne |
| - default_flavor: |
| node: m1.large |
| relationship: tosca.relationships.BelongsToOne |
| |
| sprint_mme: |
| type: tosca.nodes.VMMEVendor |
| properties: |
| name: sprint_mme |
| requirements: |
| - image: |
| node: image-mme |
| relationship: tosca.relationships.BelongsToOne |
| - flavor: |
| node: m1.large |
| relationship: tosca.relationships.BelongsToOne |
| |
| #vSPGWC Service |
| service#vspgwc: |
| type: tosca.nodes.VSPGWCService |
| properties: |
| name: vspgwc |
| public_key: {{ lookup('file', config_cord_profile_dir + '/key_import/mcord_rsa.pub') }} |
| private_key_fn: /opt/xos/services/vspgwc/keys/mcord_rsa |
| artifacts: |
| pubkey: /opt/cord_profile/key_import/mcord_rsa.pub |
| |
| {{ site_name }}_vspgwc: |
| description: vSPGW-C slice |
| type: tosca.nodes.Slice |
| properties: |
| name: {{ site_name }}_vspgwc |
| default_isolation: vm |
| network: noauto |
| requirements: |
| - site: |
| node: mysite |
| relationship: tosca.relationships.BelongsToOne |
| - service: |
| node: service#vspgwc |
| relationship: tosca.relationships.BelongsToOne |
| - default_image: |
| node: image-spgwc |
| relationship: tosca.relationships.BelongsToOne |
| - default_flavor: |
| node: m1.large |
| relationship: tosca.relationships.BelongsToOne |
| |
| intel_vspgwc: |
| type: tosca.nodes.VSPGWCVendor |
| properties: |
| name: intel_vspgwc |
| requirements: |
| - image: |
| node: image-spgwc |
| relationship: tosca.relationships.BelongsToOne |
| - flavor: |
| node: m1.large |
| relationship: tosca.relationships.BelongsToOne |
| |
| |
| #vSPGWU Service |
| service#vspgwu: |
| type: tosca.nodes.VSPGWUService |
| properties: |
| name: vspgwu |
| public_key: {{ lookup('file', config_cord_profile_dir + '/key_import/mcord_rsa.pub') }} |
| private_key_fn: /opt/xos/services/vspgwu/keys/mcord_rsa |
| artifacts: |
| pubkey: /opt/cord_profile/key_import/mcord_rsa.pub |
| |
| {{ site_name }}_vspgwu: |
| description: vSPGW-U slice |
| type: tosca.nodes.Slice |
| properties: |
| name: {{ site_name }}_vspgwu |
| default_isolation: vm |
| network: noauto |
| requirements: |
| - site: |
| node: mysite |
| relationship: tosca.relationships.BelongsToOne |
| - service: |
| node: service#vspgwu |
| relationship: tosca.relationships.BelongsToOne |
| - default_image: |
| node: image-spgwu |
| relationship: tosca.relationships.BelongsToOne |
| - default_flavor: |
| node: m1.xlarge |
| relationship: tosca.relationships.BelongsToOne |
| |
| intel_vspgwu: |
| type: tosca.nodes.VSPGWUVendor |
| properties: |
| name: intel_vspgwu |
| requirements: |
| - image: |
| node: image-spgwu |
| relationship: tosca.relationships.BelongsToOne |
| - flavor: |
| node: m1.xlarge |
| relationship: tosca.relationships.BelongsToOne |
| |
| # vHSS service |
| service#vhss: |
| type: tosca.nodes.VHSSService |
| properties: |
| name: vhss |
| kind: vEPC |
| public_key: {{ lookup('file', config_cord_profile_dir + '/key_import/mcord_rsa.pub') }} |
| private_key_fn: /opt/xos/services/vhss/keys/mcord_rsa |
| artifacts: |
| pubkey: /opt/cord_profile/key_import/mcord_rsa.pub |
| |
| {{ site_name }}_vhss: |
| description: vHSS Service Slice |
| type: tosca.nodes.Slice |
| properties: |
| name: {{ site_name }}_vhss |
| default_isolation: vm |
| network: noauto |
| requirements: |
| - site: |
| node: mysite |
| relationship: tosca.relationships.BelongsToOne |
| - service: |
| node: service#vhss |
| relationship: tosca.relationships.BelongsToOne |
| - default_image: |
| node: image-hss |
| relationship: tosca.relationships.BelongsToOne |
| - default_flavor: |
| node: m1.large |
| relationship: tosca.relationships.BelongsToOne |
| |
| sprint_hss: |
| type: tosca.nodes.VHSSVendor |
| properties: |
| name: sprint_hss |
| requirements: |
| - image: |
| node: image-hss |
| relationship: tosca.relationships.BelongsToOne |
| - flavor: |
| node: m1.large |
| relationship: tosca.relationships.BelongsToOne |
| |
| # HSS_DB service |
| service#hssdb: |
| type: tosca.nodes.HSSDBService |
| properties: |
| name: hssdb |
| public_key: {{ lookup('file', config_cord_profile_dir + '/key_import/mcord_rsa.pub') }} |
| private_key_fn: /opt/xos/services/hssdb/keys/mcord_rsa |
| artifacts: |
| pubkey: /opt/cord_profile/key_import/mcord_rsa.pub |
| |
| {{ site_name }}_hssdb: |
| description: HSS-DB Service Slice |
| type: tosca.nodes.Slice |
| properties: |
| name: {{ site_name }}_hssdb |
| default_isolation: vm |
| network: noauto |
| requirements: |
| - site: |
| node: mysite |
| relationship: tosca.relationships.BelongsToOne |
| - service: |
| node: service#hssdb |
| relationship: tosca.relationships.BelongsToOne |
| - default_image: |
| node: image-hss-db |
| relationship: tosca.relationships.BelongsToOne |
| - default_flavor: |
| node: m1.large |
| relationship: tosca.relationships.BelongsToOne |
| |
| sprint_hssdb: |
| type: tosca.nodes.HSSDBVendor |
| properties: |
| name: sprint_hssdb |
| requirements: |
| - image: |
| node: image-hss-db |
| relationship: tosca.relationships.BelongsToOne |
| - flavor: |
| node: m1.large |
| relationship: tosca.relationships.BelongsToOne |
| |
| # InternetEmulator service |
| service#internetemulator: |
| type: tosca.nodes.InternetEmulatorService |
| properties: |
| name: internetemulator |
| public_key: {{ lookup('file', config_cord_profile_dir + '/key_import/mcord_rsa.pub') }} |
| private_key_fn: /opt/xos/services/internetemulator/keys/mcord_rsa |
| artifacts: |
| pubkey: /opt/cord_profile/key_import/mcord_rsa.pub |
| |
| {{ site_name }}_internetemulator: |
| description: Internetemulator Service Slice |
| type: tosca.nodes.Slice |
| properties: |
| name: {{ site_name }}_internetemulator |
| default_isolation: vm |
| network: noauto |
| requirements: |
| - site: |
| node: mysite |
| relationship: tosca.relationships.BelongsToOne |
| - service: |
| node: service#internetemulator |
| relationship: tosca.relationships.BelongsToOne |
| - default_image: |
| node: image-internetemulator |
| relationship: tosca.relationships.BelongsToOne |
| - default_flavor: |
| node: m1.small |
| relationship: tosca.relationships.BelongsToOne |
| |
| #SDN Controller Service |
| service#sdncontroller: |
| type: tosca.nodes.SDNControllerService |
| properties: |
| name: sdncontroller |
| public_key: {{ lookup('file', config_cord_profile_dir + '/key_import/mcord_rsa.pub') }} |
| private_key_fn: /opt/xos/services/vspgwu/keys/mcord_rsa |
| artifacts: |
| pubkey: /opt/cord_profile/key_import/mcord_rsa.pub |
| |
| {{ site_name }}_sdncontroller: |
| description: SDN controller slice |
| type: tosca.nodes.Slice |
| properties: |
| name: {{ site_name }}_sdncontroller |
| default_isolation: vm |
| network: noauto |
| requirements: |
| - site: |
| node: mysite |
| relationship: tosca.relationships.BelongsToOne |
| - service: |
| node: service#sdncontroller |
| relationship: tosca.relationships.BelongsToOne |
| - default_image: |
| node: image-test |
| relationship: tosca.relationships.BelongsToOne |
| - default_flavor: |
| node: m1.small |
| relationship: tosca.relationships.BelongsToOne |
| |
| intel_sdncontroller: |
| type: tosca.nodes.SDNControllerVendor |
| properties: |
| name: intel_sdncontroller |
| requirements: |
| - image: |
| node: image-test |
| relationship: tosca.relationships.BelongsToOne |
| - flavor: |
| node: m1.small |
| relationship: tosca.relationships.BelongsToOne |
| |
| # vEPC Service |
| service#vepc: |
| type: tosca.nodes.VEPCService |
| properties: |
| name: vepc |
| public_key: {{ lookup('file', config_cord_profile_dir + '/key_import/mcord_rsa.pub') }} |
| private_key_fn: /opt/xos/services/epc-service/keys/mcord_rsa |
| artifacts: |
| pubkey: /opt/cord_profile/key_import/mcord_rsa.pub |
| |
| # ServiceDependencies |
| vmme_vspgwc: |
| type: tosca.nodes.ServiceDependency |
| properties: |
| connect_method: None |
| requirements: |
| - subscriber_service: |
| node: service#vmme |
| relationship: tosca.relationships.BelongsToOne |
| - provider_service: |
| node: service#vspgwc |
| relationship: tosca.relationships.BelongsToOne |
| |
| vmme_vspgwu: |
| type: tosca.nodes.ServiceDependency |
| properties: |
| connect_method: None |
| requirements: |
| - subscriber_service: |
| node: service#vmme |
| relationship: tosca.relationships.BelongsToOne |
| - provider_service: |
| node: service#vspgwu |
| relationship: tosca.relationships.BelongsToOne |
| |
| vspgwc_vspgwu: |
| type: tosca.nodes.ServiceDependency |
| properties: |
| connect_method: None |
| requirements: |
| - subscriber_service: |
| node: service#vspgwc |
| relationship: tosca.relationships.BelongsToOne |
| - provider_service: |
| node: service#vspgwu |
| relationship: tosca.relationships.BelongsToOne |
| |
| vmme_vhss: |
| type: tosca.nodes.ServiceDependency |
| properties: |
| connect_method: None |
| requirements: |
| - subscriber_service: |
| node: service#vmme |
| relationship: tosca.relationships.BelongsToOne |
| - provider_service: |
| node: service#vhss |
| relationship: tosca.relationships.BelongsToOne |
| |
| vhss_hssdb: |
| type: tosca.nodes.ServiceDependency |
| properties: |
| connect_method: None |
| requirements: |
| - subscriber_service: |
| node: service#vhss |
| relationship: tosca.relationships.BelongsToOne |
| - provider_service: |
| node: service#hssdb |
| relationship: tosca.relationships.BelongsToOne |
| |
| # M-CORD Subscriber |
| service#mcord: |
| type: tosca.nodes.MCordSubscriberService |
| properties: |
| name: mcord |
| |
| # ServiceDependency M-CORD to vMME |
| mcord_vmme: |
| type: tosca.nodes.ServiceDependency |
| properties: |
| connect_method: None |
| requirements: |
| - subscriber_service: |
| node: service#vmme |
| relationship: tosca.relationships.BelongsToOne |
| - provider_service: |
| node: service#mcord |
| relationship: tosca.relationships.BelongsToOne |
| |
| # EPC networks |
| |
| {% for network in mcord_networks %} |
| {{ network['name'] }}: |
| type: tosca.nodes.Network |
| properties: |
| name: {{ network['name'] }} |
| subnet: {{ network['subnet'] }} |
| permit_all_slices: {{ network['permit_all_slices'] }} |
| requirements: |
| - template: |
| node: {{ network['template'] }} |
| relationship: tosca.relationships.BelongsToOne |
| - owner: |
| node: {{ site_name }}_{{ network['owner'] }} |
| relationship: tosca.relationships.BelongsToOne |
| |
| {% endfor %} |
| |
| # Network Slices for InternetEmulator, not created by EPC |
| |
| internetemulator_slice_management_network: |
| type: tosca.nodes.NetworkSlice |
| requirements: |
| - network: |
| node: management |
| relationship: tosca.relationships.BelongsToOne |
| - slice: |
| node: {{ site_name }}_internetemulator |
| relationship: tosca.relationships.BelongsToOne |
| |
| internetemulator_slice_sgi_network: |
| type: tosca.nodes.NetworkSlice |
| requirements: |
| - network: |
| node: sgi_network |
| relationship: tosca.relationships.BelongsToOne |
| - slice: |
| node: {{ site_name }}_internetemulator |
| relationship: tosca.relationships.BelongsToOne |