blob: cc02e325c7bf1a0ffca8825eb8645532dbb27626 [file] [log] [blame]
---
# 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.
# Default values for the base-openstack profile.
# This is a YAML-formatted file.
# Declare variables to be passed into your templates.
replicaCount: 1
nameOverride: ""
fullnameOverride: ""
imagePullPolicy: 'Always'
httpieImage: "clue/httpie:latest"
xosAdminUser: &adminuser "admin@opencord.org"
xosAdminPassword: &adminpass "letmein"
# TOSCA recipes for the tosca-loader
toscaRecipes:
openstack:
tosca_definitions_version: tosca_simple_yaml_1_0
imports:
- custom_types/controller.yaml
- custom_types/controllersite.yaml
- custom_types/deployment.yaml
- custom_types/flavor.yaml
- custom_types/image.yaml
- custom_types/site.yaml
- custom_types/networktemplate.yaml
- custom_types/network.yaml
- custom_types/networkslice.yaml
- custom_types/slice.yaml
- custom_types/sitedeployment.yaml
description: openstack extensions to deployment
topology_template:
node_templates:
# Images and flavors
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
m1.tiny:
type: tosca.nodes.Flavor
properties:
name: m1.tiny
m1.small:
type: tosca.nodes.Flavor
properties:
name: m1.small
m1.medium:
type: tosca.nodes.Flavor
properties:
name: m1.medium
m1.large:
type: tosca.nodes.Flavor
properties:
name: m1.large
m1.xlarge:
type: tosca.nodes.Flavor
properties:
name: m1.xlarge
MyDeployment:
type: tosca.nodes.Deployment
properties:
name: MyDeployment
# OpenStack Controller
mysite_MyDeployment_openstack:
type: tosca.nodes.Controller
requirements:
- deployment:
node: MyDeployment
relationship: tosca.relationships.BelongsToOne
properties:
name: mysite_MyDeployment_openstack
backend_type: OpenStack
version: Newton
auth_url: http://keystone.openstack.svc.cluster.local/v3
admin_user: admin
admin_password: password
admin_tenant: admin
domain: Default
# Site - adds openstack controller to site defined in deployment.yaml
mysite:
type: tosca.nodes.Site
properties:
name: mysite
must-exist: true
site_url: http://mysite.opencloud.us/
hosts_nodes: true
mysite_deployment_MyDeployment:
type: tosca.nodes.SiteDeployment
requirements:
- site:
node: mysite
relationship: tosca.relationships.BelongsToOne
- deployment:
node: MyDeployment
relationship: tosca.relationships.BelongsToOne
- controller:
node: mysite_MyDeployment_openstack
relationship: tosca.relationships.BelongsToOne
mysite_openstack_controller:
type: tosca.nodes.ControllerSite
requirements:
- site:
node: mysite
relationship: tosca.relationships.BelongsToOne
- controller:
node: mysite_MyDeployment_openstack
relationship: tosca.relationships.BelongsToOne
# For creating a test VM
mysite_test:
description: Test Slice
type: tosca.nodes.Slice
properties:
# network: noauto
name: mysite_test
requirements:
- site:
node: mysite
relationship: tosca.relationships.BelongsToOne
- default_image:
node: Ubuntu-14.04
relationship: tosca.relationships.BelongsToOne
# For private networks (e.g., per-slice)
private_template:
type: tosca.nodes.NetworkTemplate
properties:
name: Private
visibility: private
translation: none
vtn_kind: PRIVATE
# management (vtn: MANAGEMENT_LOCAL) network
management_template:
type: tosca.nodes.NetworkTemplate
properties:
name: management_template
visibility: private
translation: none
vtn_kind: MANAGEMENT_LOCAL
management:
type: tosca.nodes.Network
properties:
name: management
# ip_version: 4
subnet: 172.27.0.0/24
permit_all_slices: true
requirements:
- template:
node: management_template
relationship: tosca.relationships.BelongsToOne
- owner:
node: slice#mysite_management
relationship: tosca.relationships.BelongsToOne
# Slice to own management networks
slice#mysite_management:
description: This slice exists solely to own the management network(s)
type: tosca.nodes.Slice
properties:
network: noauto
name: mysite_management
requirements:
- site:
node: mysite
relationship: tosca.relationships.BelongsToOne
# Connect mysite_test to management net
networkslice#management_to_mysite_test:
type: tosca.nodes.NetworkSlice
requirements:
- network:
node: management
relationship: tosca.relationships.BelongsToOne
- slice:
node: mysite_test
relationship: tosca.relationships.BelongsToOne
openstackCompute:
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
mysite:
type: tosca.nodes.Site
properties:
name: mysite
must-exist: true
MyDeployment:
type: tosca.nodes.Deployment
properties:
name: MyDeployment
must-exist: true
mysite_MyDeployment:
type: tosca.nodes.SiteDeployment
requirements:
- site:
node: mysite
relationship: tosca.relationships.BelongsToOne
- deployment:
node: MyDeployment
relationship: tosca.relationships.BelongsToOne
# OpenStack compute nodes
head1:
type: tosca.nodes.Node
properties:
name: head1
bridgeId: of:00000000abcdef01
dataPlaneIntf: fabricbridge
dataPlaneIp: 10.6.1.1/24
requirements:
- site_deployment:
node: mysite_MyDeployment
relationship: tosca.relationships.BelongsToOne
compute1:
type: tosca.nodes.Node
properties:
name: compute1
bridgeId: of:00000000abcdef02
dataPlaneIntf: fabricbond
dataPlaneIp: 10.6.1.17/24
requirements:
- site_deployment:
node: mysite_MyDeployment
relationship: tosca.relationships.BelongsToOne
compute2:
type: tosca.nodes.Node
properties:
name: compute2
bridgeId: of:00000000abcdef03
dataPlaneIntf: fabricbond
dataPlaneIp: 10.6.1.18/24
requirements:
- site_deployment:
node: mysite_MyDeployment
relationship: tosca.relationships.BelongsToOne
vtnService:
tosca_definitions_version: tosca_simple_yaml_1_0
imports:
- custom_types/onosapp.yaml
- custom_types/onosservice.yaml
- custom_types/serviceinstanceattribute.yaml
- custom_types/serviceinstancelink.yaml
- custom_types/vtnservice.yaml
description: Configures the VTN ONOS service
topology_template:
node_templates:
service#ONOS_CORD:
type: tosca.nodes.ONOSService
properties:
name: ONOS_CORD
kind: platform
no_container: true
rest_hostname: onos-cord-ui
rest_port: 8181
service#vtn:
type: tosca.nodes.VTNService
properties:
name: vtn
kind: platform
view_url: /admin/vtn/vtnservice/$id$/
privateGatewayMac: 00:00:00:00:00:01
localManagementIp: 172.27.0.1/24
ovsdbPort: 6641
sshUser: vagrant
sshKeyFile: /root/node_key
sshPort: 22
xosEndpoint: xos-chameleon:9101
xosUser: *adminuser
xosPassword: *adminpass
vtnAPIVersion: 2
controllerPort: onos-cord-openflow:6653
resync: false
VTN_ONOS_app:
type: tosca.nodes.ONOSApp
requirements:
- owner:
node: service#ONOS_CORD
relationship: tosca.relationships.BelongsToOne
properties:
name: VTN_ONOS_app
install_dependencies: https://repo.maven.apache.org/maven2/org/opencord/cord-config/1.3.1/cord-config-1.3.1.oar, https://repo.maven.apache.org/maven2/org/opencord/vtn/1.5.0/vtn-1.5.0.oar
dependencies: org.onosproject.drivers, org.onosproject.drivers.ovsdb, org.onosproject.openflow-base, org.onosproject.ovsdb-base, org.onosproject.dhcp
VTN_ONOS_app_autogenerate:
type: tosca.nodes.ServiceInstanceAttribute
requirements:
- service_instance:
node: VTN_ONOS_app
relationship: tosca.relationships.BelongsToOne
properties:
name: autogenerate
value: vtn-network-cfg
VTN_ONOS_app_VTN_Service:
type: tosca.nodes.ServiceInstanceLink
requirements:
- provider_service_instance:
node: VTN_ONOS_app
relationship: tosca.relationships.BelongsToOne
- subscriber_service:
node: service#vtn
relationship: tosca.relationships.BelongsToOne