blob: 28ec7debde3a1a3fbcfb716e796ff5cef017dff7 [file] [log] [blame]
{{/* vim: set filetype=mustache: */}}
{{/*
Copyright 2018-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.
*/}}
{{- define "base-openstack.fixtureTosca" -}}
tosca_definitions_version: tosca_simple_yaml_1_0
imports:
- custom_types/deployment.yaml
- custom_types/site.yaml
- custom_types/networktemplate.yaml
- custom_types/network.yaml
- custom_types/networkslice.yaml
- custom_types/sitedeployment.yaml
description: set up site and deployment and link them
topology_template:
node_templates:
{{ .Values.cordSiteName }}:
type: tosca.nodes.Site
properties:
name: {{ .Values.cordSiteName }}
site_url: http://mysite.opencord.us/
hosts_nodes: true
{{ .Values.cordDeploymentName }}:
type: tosca.nodes.Deployment
properties:
name: {{ .Values.cordDeploymentName }}
{{- end -}}
{{- define "base-openstack.serviceGraphTosca" -}}
tosca_definitions_version: tosca_simple_yaml_1_0
imports:
- custom_types/onosapp.yaml
- custom_types/onosservice.yaml
- custom_types/servicedependency.yaml
- custom_types/servicegraphconstraint.yaml
- custom_types/servicedependency.yaml
- custom_types/serviceinstance.yaml
- custom_types/serviceinstancelink.yaml
- custom_types/vtnservice.yaml
description: Configures the base-openstack service graph
topology_template:
node_templates:
service#vtn:
type: tosca.nodes.VTNService
properties:
name: vtn
must-exist: true
resync: false
service#ONOS_CORD:
type: tosca.nodes.ONOSService
properties:
name: ONOS_CORD
must-exist: true
# NOTE this is defined in the onos-service TOSCA
onos_app#vtn:
type: tosca.nodes.ONOSApp
properties:
name: vtn
must-exist: true
# NOTE this is defined in the vtn-service TOSCA
vtn_service_instance:
type: tosca.nodes.ServiceInstance
properties:
name: VTN config
must-exist: true
onos_app#vtn_VTN_Service:
type: tosca.nodes.ServiceInstanceLink
requirements:
- provider_service_instance:
node: onos_app#vtn
relationship: tosca.relationships.BelongsToOne
- subscriber_service:
node: service#vtn
relationship: tosca.relationships.BelongsToOne
link#vtn_to_vtn-config:
type: tosca.nodes.ServiceInstanceLink
requirements:
- subscriber_service_instance:
node: vtn_service_instance
relationship: tosca.relationships.BelongsToOne
- provider_service_instance:
node: onos_app#vtn
relationship: tosca.relationships.BelongsToOne
service_dependency#onos-cord_vtn:
type: tosca.nodes.ServiceDependency
properties:
connect_method: None
requirements:
- subscriber_service:
node: service#ONOS_CORD
relationship: tosca.relationships.BelongsToOne
- provider_service:
node: service#vtn
relationship: tosca.relationships.BelongsToOne
{{- end -}}
{{- define "base-openstack.testTosca" -}}
tosca_definitions_version: tosca_simple_yaml_1_0
imports:
- custom_types/flavor.yaml
- custom_types/image.yaml
- custom_types/site.yaml
- custom_types/network.yaml
- custom_types/networkslice.yaml
- custom_types/slice.yaml
description: for testing basic openstack functionality
topology_template:
node_templates:
Ubuntu-14.04:
type: tosca.nodes.Image
properties:
name: "Ubuntu 14.04 64-bit"
disk_format: QCOW2
container_format: BARE
path: https://github.com/opencord/platform-install/releases/download/vms/trusty-server-cloudimg-amd64-disk1.img.20170201
{{ .Values.cordSiteName }}:
type: tosca.nodes.Site
properties:
name: {{ .Values.cordSiteName }}
must-exist: true
# Define a test slice
{{ .Values.cordSiteName }}_test:
description: Test Slice
type: tosca.nodes.Slice
properties:
# network: noauto
name: {{ .Values.cordSiteName }}_test
requirements:
- site:
node: {{ .Values.cordSiteName }}
relationship: tosca.relationships.BelongsToOne
- default_image:
node: Ubuntu-14.04
relationship: tosca.relationships.BelongsToOne
management:
type: tosca.nodes.Network
properties:
name: management
must-exist: true
# Connect test slice to management net
networkslice#management_to_{{ .Values.cordSiteName }}_test:
type: tosca.nodes.NetworkSlice
requirements:
- network:
node: management
relationship: tosca.relationships.BelongsToOne
- slice:
node: {{ .Values.cordSiteName }}_test
relationship: tosca.relationships.BelongsToOne
{{- end -}}
{{- define "base-openstack.computeNodeTosca" -}}
tosca_definitions_version: tosca_simple_yaml_1_0
imports:
- custom_types/deployment.yaml
- custom_types/node.yaml
- custom_types/site.yaml
- custom_types/sitedeployment.yaml
description: Adds OpenStack compute nodes
topology_template:
node_templates:
# Site/Deployment, fully defined in deployment.yaml
site:
type: tosca.nodes.Site
properties:
name: {{ .Values.cordSiteName }}
must-exist: true
deployment:
type: tosca.nodes.Deployment
properties:
name: {{ .Values.cordDeploymentName }}
must-exist: true
site_deployment:
type: tosca.nodes.SiteDeployment
requirements:
- site:
node: site
relationship: tosca.relationships.BelongsToOne
- deployment:
node: deployment
relationship: tosca.relationships.BelongsToOne
# OpenStack compute nodes
{{- range .Values.computeNodes }}
{{ .name }}:
type: tosca.nodes.Node
properties:
name: {{ .name }}
bridgeId: {{ .bridgeId }}
dataPlaneIntf: {{ .dataPlaneIntf }}
dataPlaneIp: {{ .dataPlaneIp }}
requirements:
- site_deployment:
node: site_deployment
relationship: tosca.relationships.BelongsToOne
{{- end }}
{{- end -}}