blob: e0f4b367b88edb02cb41804b2214481e4783b65d [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, 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/networkslice.yaml
- custom_types/sdncontrollerservice.yaml
- custom_types/sdncontrollervendor.yaml
- custom_types/sdncontrollerserviceinstance.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
trusty-server-multi-nic:
type: tosca.nodes.Image
properties:
name: trusty-server-multi-nic
must-exist: true
# 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 %}
# sbi_network is for connectivity between VMs, fully created in sbi-net.yaml
sbi_network:
type: tosca.nodes.Network
properties:
must-exist: true
name: sbi_network
# nbi_network is for connectivity between VMs, fully created in nbi-net.yaml
nbi_network:
type: tosca.nodes.Network
properties:
must-exist: true
name: nbi_network
# CORD Services
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/sdncontroller/keys/mcord_rsa
artifacts:
pubkey: /opt/cord_profile/key_import/mcord_rsa.pub
# CORD Slices
{{ 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: trusty-server-multi-nic
relationship: tosca.relationships.BelongsToOne
- default_flavor:
node: m1.small
relationship: tosca.relationships.BelongsToOne
# CORD Service Instances
intel_sdncontroller:
type: tosca.nodes.SDNControllerVendor
properties:
name: intel_sdncontroller
requirements:
- image:
node: trusty-server-multi-nic
relationship: tosca.relationships.BelongsToOne
- flavor:
node: m1.small
relationship: tosca.relationships.BelongsToOne
serviceinstance#sdncontroller_instance:
type: tosca.nodes.SDNControllerServiceInstance
properties:
name: sdncontroller_instance1
requirements:
- sdncontroller_vendor:
node: intel_sdncontroller
relationship: tosca.relationships.BelongsToOne
- owner:
node: service#sdncontroller
relationship: tosca.relationships.BelongsToOne
# CORD NetworkSlices
sdncontroller_slice_management_network:
type: tosca.nodes.NetworkSlice
requirements:
- network:
node: management
relationship: tosca.relationships.BelongsToOne
- slice:
node: {{ site_name }}_sdncontroller
relationship: tosca.relationships.BelongsToOne
sdncontroller_slice_sbi_network:
type: tosca.nodes.NetworkSlice
requirements:
- network:
node: sbi_network
relationship: tosca.relationships.BelongsToOne
- slice:
node: {{ site_name }}_sdncontroller
relationship: tosca.relationships.BelongsToOne
sdncontroller_slice_nbi_network:
type: tosca.nodes.NetworkSlice
requirements:
- network:
node: nbi_network
relationship: tosca.relationships.BelongsToOne
- slice:
node: {{ site_name }}_sdncontroller
relationship: tosca.relationships.BelongsToOne