| |
| {# |
| 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, need to add M-CORD services later |
| |
| 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/venbservice.yaml |
| - custom_types/vspgwcservice.yaml |
| - custom_types/vspgwcvendor.yaml |
| - custom_types/vspgwuservice.yaml |
| - custom_types/vspgwuvendor.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-venb: |
| type: tosca.nodes.Image |
| properties: |
| name: image-venb |
| |
| image-spgwc: |
| type: tosca.nodes.Image |
| properties: |
| name: image-spgwc |
| |
| image-spgwu: |
| type: tosca.nodes.Image |
| properties: |
| name: image-spgwu |
| |
| # 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 %} |
| |
| # 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 |
| |
| # vENB Service |
| service#venb: |
| type: tosca.nodes.VENBService |
| properties: |
| name: venb |
| public_key: {{ lookup('file', config_cord_profile_dir + '/key_import/mcord_rsa.pub') }} |
| private_key_fn: /opt/xos/services/venb/keys/mcord_rsa |
| artifacts: |
| pubkey: /opt/cord_profile/key_import/mcord_rsa.pub |
| |
| {{ site_name }}_venb: |
| description: vENB Service Slice |
| type: tosca.nodes.Slice |
| properties: |
| name: {{ site_name }}_venb |
| default_isolation: vm |
| network: noauto |
| requirements: |
| - site: |
| node: mysite |
| relationship: tosca.relationships.BelongsToOne |
| - service: |
| node: service#venb |
| relationship: tosca.relationships.BelongsToOne |
| - default_image: |
| node: image-venb |
| relationship: tosca.relationships.BelongsToOne |
| - default_flavor: |
| node: m1.medium |
| 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: SDN controller 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: SDN controller 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 |
| |
| # 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/venb/keys/mcord_rsa |
| artifacts: |
| pubkey: /opt/cord_profile/key_import/mcord_rsa.pub |
| |
| |
| # ServiceDependencies |
| venb_vspgwc: |
| type: tosca.nodes.ServiceDependency |
| properties: |
| connect_method: None |
| requirements: |
| - subscriber_service: |
| node: service#venb |
| relationship: tosca.relationships.BelongsToOne |
| - provider_service: |
| node: service#vspgwc |
| relationship: tosca.relationships.BelongsToOne |
| |
| venb_vspgwu: |
| type: tosca.nodes.ServiceDependency |
| properties: |
| connect_method: None |
| requirements: |
| - subscriber_service: |
| node: service#venb |
| 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 |
| |
| # M-CORD Subscriber |
| service#mcord: |
| type: tosca.nodes.MCordSubscriberService |
| properties: |
| name: mcord |
| |
| # ServiceDependency M-CORD to vENB |
| mcord_venb: |
| type: tosca.nodes.ServiceDependency |
| properties: |
| connect_method: None |
| requirements: |
| - subscriber_service: |
| node: service#venb |
| 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 %} |