blob: 99fab61dde261b62dd4106b2ccbbf481b438410c [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/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/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 }}
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
image-test:
type: tosca.nodes.Image
properties:
name: image-test
image-spgwc:
type: tosca.nodes.Image
properties:
name: image-spgwc
image-spgwu:
type: tosca.nodes.Image
properties:
name: image-spgwu
# 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 %}
# flat_network_s1mme is for connectivity between VMs, fully created in flat-net-s1mme.yaml
flat_network_s1mme:
type: tosca.nodes.Network
properties:
must-exist: true
name: flat_network_s1mme
# flat_network_s1u is for connectivity between VMs, fully created in flat-net-s1u.yaml
flat_network_s1u:
type: tosca.nodes.Network
properties:
must-exist: true
name: flat_network_s1u
# s11_network is for connectivity between VMs, fully created in s11-net.yaml
s11_network:
type: tosca.nodes.Network
properties:
must-exist: true
name: s11_network
# sgi_network is for connectivity between VMs, fully created in sgi-net.yaml
sgi_network:
type: tosca.nodes.Network
properties:
must-exist: true
name: sgi_network
# spgw_network is for connectivity between VMs, fully created in spgw-net.yaml
spgw_network:
type: tosca.nodes.Network
properties:
must-exist: true
name: spgw_network
# 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-test
relationship: tosca.relationships.BelongsToOne
- default_flavor:
node: m1.medium
relationship: tosca.relationships.BelongsToOne
sprint_mme:
type: tosca.nodes.VMMEVendor
properties:
name: sprint_mme
requirements:
- image:
node: image-test
relationship: tosca.relationships.BelongsToOne
- 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/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
# M-CORD Subscriber
service#mcord:
type: tosca.nodes.MCordSubscriberService
properties:
name: mcord
# ServiceDependency M-CORD to vENB
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