blob: 609d9ca26561bb7e2b9ec2c9b0e171ce926cbd2c [file] [log] [blame]
{#
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
- custom_types/progranservice.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
# Progran Service
service#progran:
type: tosca.nodes.ProgranService
properties:
name: progran
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