blob: 747027eeac21abe7c04f571b00690a0b1b80f261 [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 "mcord.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 "mcord.serviceGraphTosca" -}}
tosca_definitions_version: tosca_simple_yaml_1_0
imports:
- custom_types/internetemulatorservice.yaml
- custom_types/hssdbservice.yaml
- custom_types/mcordsubscriberservice.yaml
- custom_types/progranservice.yaml
- custom_types/sdncontrollerservice.yaml
- custom_types/vepcservice.yaml
- custom_types/vhssservice.yaml
- custom_types/vmmeservice.yaml
- custom_types/vspgwcservice.yaml
- custom_types/vspgwuservice.yaml
- custom_types/servicegraphconstraint.yaml
- custom_types/servicedependency.yaml
- custom_types/serviceinstancelink.yaml
description: Configures the base-openstack service graph
topology_template:
node_templates:
service#vmme:
type: tosca.nodes.VMMEService
properties:
name: vmme
must-exist: true
service#vspgwc:
type: tosca.nodes.VSPGWCService
properties:
name: vspgwc
must-exist: true
service#vspgwu:
type: tosca.nodes.VSPGWUService
properties:
name: vspgwu
must-exist: true
service#vhss:
type: tosca.nodes.VHSSService
properties:
name: vhss
must-exist: true
service#hssdb:
type: tosca.nodes.HSSDBService
properties:
name: hssdb
must-exist: true
service#internetemulator:
type: tosca.nodes.InternetEmulatorService
properties:
name: internetemulator
must-exist: true
service#sdncontroller:
type: tosca.nodes.SDNControllerService
properties:
name: sdncontroller
must-exist: true
service#vepc:
type: tosca.nodes.VEPCService
properties:
name: vepc
must-exist: true
service#progran:
type: tosca.nodes.ProgranService
properties:
name: progran
must-exist: true
service#mcord:
type: tosca.nodes.MCordSubscriberService
properties:
name: mcord
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
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
constraints:
type: tosca.nodes.ServiceGraphConstraint
properties:
constraints: '[ ["vepc", null, "mcord", null, null], [null, null, "progran", null, null], ["hssdb", "vhss", "vmme", null, null], [null, "vspgwc", "sdncontroller","vspgwu", null], [null, null, null, "internetemulator", null] ]'
{{- end -}}
{{- define "mcord.sliceTosca" -}}
tosca_definitions_version: tosca_simple_yaml_1_0
imports:
- custom_types/internetemulatorservice.yaml
- custom_types/hssdbservice.yaml
- custom_types/mcordsubscriberservice.yaml
- custom_types/progranservice.yaml
- custom_types/sdncontrollerservice.yaml
- custom_types/vepcservice.yaml
- custom_types/vhssservice.yaml
- custom_types/vmmeservice.yaml
- custom_types/vspgwcservice.yaml
- custom_types/vspgwuservice.yaml
- custom_types/servicegraphconstraint.yaml
- custom_types/servicedependency.yaml
- custom_types/serviceinstancelink.yaml
- custom_types/site.yaml
- custom_types/slice.yaml
- custom_types/flavor.yaml
- custom_types/image.yaml
description: Configures the M-CORD slices
topology_template:
node_templates:
{{ .Values.cordSiteName }}:
type: tosca.nodes.Site
properties:
name: {{ .Values.cordSiteName }}
must-exist: true
service#vmme:
type: tosca.nodes.VMMEService
properties:
name: vmme
must-exist: true
service#vspgwc:
type: tosca.nodes.VSPGWCService
properties:
name: vspgwc
must-exist: true
service#vspgwu:
type: tosca.nodes.VSPGWUService
properties:
name: vspgwu
must-exist: true
service#vhss:
type: tosca.nodes.VHSSService
properties:
name: vhss
must-exist: true
service#hssdb:
type: tosca.nodes.HSSDBService
properties:
name: hssdb
must-exist: true
service#internetemulator:
type: tosca.nodes.InternetEmulatorService
properties:
name: internetemulator
must-exist: true
service#sdncontroller:
type: tosca.nodes.SDNControllerService
properties:
name: sdncontroller
must-exist: true
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.xlarge:
type: tosca.nodes.Flavor
properties:
name: m1.xlarge
must-exist: true
image_mme:
type: tosca.nodes.Image
properties:
name: image_mme_{{ .Values.vmme.vnfImageVersion }}
must-exist: true
image_spgwc:
type: tosca.nodes.Image
properties:
name: image_spgwc_{{ .Values.vspgwc.vnfImageVersion }}
must-exist: true
image_spgwu:
type: tosca.nodes.Image
properties:
name: image_spgwu_{{ .Values.vspgwu.vnfImageVersion }}
must-exist: true
image_hss:
type: tosca.nodes.Image
properties:
name: image_hss_{{ .Values.vhss.vnfImageVersion }}
must-exist: true
image_hssdb:
type: tosca.nodes.Image
properties:
name: image_hssdb_{{ .Values.hssdb.vnfImageVersion }}
must-exist: true
image_internetemulator:
type: tosca.nodes.Image
properties:
name: image_internetemulator_{{ .Values.internetemulator.vnfImageVersion }}
must-exist: true
image_sdncontroller:
type: tosca.nodes.Image
properties:
name: image_sdncontroller_{{ .Values.sdncontroller.vnfImageVersion }}
must-exist: true
{{ .Values.cordSiteName }}_vmme:
description: vMME Service Slice
type: tosca.nodes.Slice
properties:
name: {{ .Values.cordSiteName }}_vmme
default_isolation: vm
network: noauto
requirements:
- site:
node: {{ .Values.cordSiteName }}
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
{{ .Values.cordSiteName }}_vspgwc:
description: vSPGW-C slice
type: tosca.nodes.Slice
properties:
name: {{ .Values.cordSiteName }}_vspgwc
default_isolation: vm
network: noauto
requirements:
- site:
node: {{ .Values.cordSiteName }}
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
{{ .Values.cordSiteName }}_vspgwu:
description: vSPGW-U slice
type: tosca.nodes.Slice
properties:
name: {{ .Values.cordSiteName }}_vspgwu
default_isolation: vm
network: noauto
requirements:
- site:
node: {{ .Values.cordSiteName }}
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
{{ .Values.cordSiteName }}_vhss:
description: vHSS Service Slice
type: tosca.nodes.Slice
properties:
name: {{ .Values.cordSiteName }}_vhss
default_isolation: vm
network: noauto
requirements:
- site:
node: {{ .Values.cordSiteName }}
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
{{ .Values.cordSiteName }}_hssdb:
description: HSS-DB Service Slice
type: tosca.nodes.Slice
properties:
name: {{ .Values.cordSiteName }}_hssdb
default_isolation: vm
network: noauto
requirements:
- site:
node: {{ .Values.cordSiteName }}
relationship: tosca.relationships.BelongsToOne
- service:
node: service#hssdb
relationship: tosca.relationships.BelongsToOne
- default_image:
node: image_hssdb
relationship: tosca.relationships.BelongsToOne
- default_flavor:
node: m1.large
relationship: tosca.relationships.BelongsToOne
{{ .Values.cordSiteName }}_internetemulator:
description: Internetemulator Service Slice
type: tosca.nodes.Slice
properties:
name: {{ .Values.cordSiteName }}_internetemulator
default_isolation: vm
network: noauto
requirements:
- site:
node: {{ .Values.cordSiteName }}
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
{{ .Values.cordSiteName }}_sdncontroller:
description: SDN controller slice
type: tosca.nodes.Slice
properties:
name: {{ .Values.cordSiteName }}_sdncontroller
default_isolation: vm
network: noauto
requirements:
- site:
node: {{ .Values.cordSiteName }}
relationship: tosca.relationships.BelongsToOne
- service:
node: service#sdncontroller
relationship: tosca.relationships.BelongsToOne
- default_image:
node: image_sdncontroller
relationship: tosca.relationships.BelongsToOne
- default_flavor:
node: m1.small
relationship: tosca.relationships.BelongsToOne
{{- end -}}
{{- define "mcord.networkTosca" -}}
tosca_definitions_version: tosca_simple_yaml_1_0
imports:
- custom_types/networktemplate.yaml
- custom_types/slice.yaml
- custom_types/networkslice.yaml
- custom_types/network.yaml
description: Configures the M-CORD network templates, vEPC will create the networks
topology_template:
node_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
# Network Slices for InternetEmulator, not created by EPC
management:
type: tosca.nodes.Network
properties:
name: management
must-exist: true
{{ .Values.cordSiteName }}_internetemulator:
type: tosca.nodes.Slice
properties:
name: {{ .Values.cordSiteName }}_internetemulator
must-exist: true
{{ .Values.cordSiteName }}_vspgwu:
type: tosca.nodes.Slice
properties:
name: {{ .Values.cordSiteName }}_vspgwu
must-exist: true
sgi_network:
type: tosca.nodes.Network
properties:
name: sgi_network
subnet: 115.0.0.0/24
permit_all_slices: true
requirements:
- template:
node: private_template
relationship: tosca.relationships.BelongsToOne
- owner:
node: {{ .Values.cordSiteName }}_vspgwu
relationship: tosca.relationships.BelongsToOne
internetemulator_slice_management_network:
type: tosca.nodes.NetworkSlice
requirements:
- network:
node: management
relationship: tosca.relationships.BelongsToOne
- slice:
node: {{ .Values.cordSiteName }}_internetemulator
relationship: tosca.relationships.BelongsToOne
internetemulator_slice_sgi_network:
type: tosca.nodes.NetworkSlice
requirements:
- network:
node: sgi_network
relationship: tosca.relationships.BelongsToOne
- slice:
node: {{ .Values.cordSiteName }}_internetemulator
relationship: tosca.relationships.BelongsToOne
{{- end -}}