blob: 5ed124bef1bf044f930c932945747f5c9b9cc823 [file] [log] [blame]
# Copyright 2017-2023 Open Networking Foundation (ONF) and the ONF Contributors
#
# 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.
# curl -H "xos-username: admin@opencord.org" -H "xos-password: letmein" -X POST --data-binary @mcord-barcelona-fabric.yaml http://192.168.69.1:30007/run
tosca_definitions_version: tosca_simple_yaml_1_0
imports:
- custom_types/switch.yaml
- custom_types/switchport.yaml
- custom_types/portinterface.yaml
- custom_types/fabricipaddress.yaml
- custom_types/site.yaml
- custom_types/deployment.yaml
- custom_types/sitedeployment.yaml
- custom_types/node.yaml
- custom_types/vrouterservice.yaml
- custom_types/vrouterserviceinstance.yaml
description: Configures the ONF SEBA POD with AT&T workflow
topology_template:
node_templates:
# Site deployment
mySite:
type: tosca.nodes.Site
properties:
name: mysite
login_base: opencord
abbreviated_name: ms
site_url: http://opencord.org/
hosts_nodes: true
myDeployment:
type: tosca.nodes.Deployment
properties:
name: mydeployment
site_deployment:
type: tosca.nodes.SiteDeployment
requirements:
- site:
node: mySite
relationship: tosca.relationships.BelongsToOne
- deployment:
node: myDeployment
relationship: tosca.relationships.BelongsToOne
# compute nodes
node#node1:
type: tosca.nodes.Node
properties:
dataPlaneIntf: eth2
dataPlaneIp: 118.0.0.201
name: node1
requirements:
- site_deployment:
node: site_deployment
relationship: tosca.relationships.BelongsToOne
node#node2:
type: tosca.nodes.Node
properties:
dataPlaneIntf: eth2
dataPlaneIp: 118.0.0.202
name: node2
requirements:
- site_deployment:
node: site_deployment
relationship: tosca.relationships.BelongsToOne
node#node3:
type: tosca.nodes.Node
properties:
dataPlaneIntf: eth2
dataPlaneIp: 118.0.0.203
name: node3
requirements:
- site_deployment:
node: site_deployment
relationship: tosca.relationships.BelongsToOne
# static routes
service#vrouter:
type: tosca.nodes.VRouterService
properties:
name: vrouter
must-exist: true
vroutersi#calico:
type: tosca.nodes.VRouterServiceInstance
properties:
name: calico
requirements:
- owner:
node: service#vrouter
relationship: tosca.relationships.BelongsToOne
# Fabric configuration
switch#leaf_1:
type: tosca.nodes.Switch
properties:
driver: ofdpa3
ipv4Loopback: 192.168.0.204
ipv4NodeSid: 214
isEdgeRouter: true
name: Agg Switch
ofId: of:0000000000000001
routerMac: 54:87:de:ad:be:ef
# Node1 Port
port#node_1_port:
type: tosca.nodes.SwitchPort
properties:
portId: 33
requirements:
- switch:
node: switch#leaf_1
relationship: tosca.relationships.BelongsToOne
interface#port_1_interface:
type: tosca.nodes.PortInterface
properties:
vlanUntagged: 20
name: node_1
requirements:
- port:
node: port#node_1_port
relationship: tosca.relationships.BelongsToOne
ip#port_1_ip_1:
type: tosca.nodes.FabricIpAddress
properties:
ip: 13.1.1.0/24
description: node_1_ip_1
requirements:
- interface:
node: interface#port_1_interface
relationship: tosca.relationships.BelongsToOne
ip#port_1_ip_2:
type: tosca.nodes.FabricIpAddress
properties:
ip: 119.0.0.254/24
description: node_1_ip_2
requirements:
- interface:
node: interface#port_1_interface
relationship: tosca.relationships.BelongsToOne
ip#port_1_ip_3:
type: tosca.nodes.FabricIpAddress
properties:
ip: 116.0.0.254/24
description: node_1_ip_3
requirements:
- interface:
node: interface#port_1_interface
relationship: tosca.relationships.BelongsToOne
# Node2 Port
port#node_2_port:
type: tosca.nodes.SwitchPort
properties:
portId: 34
requirements:
- switch:
node: switch#leaf_1
relationship: tosca.relationships.BelongsToOne
interface#port_2_interface:
type: tosca.nodes.PortInterface
properties:
vlanUntagged: 20
name: node_2
requirements:
- port:
node: port#node_2_port
relationship: tosca.relationships.BelongsToOne
ip#port_2_ip_1:
type: tosca.nodes.FabricIpAddress
properties:
ip: 13.1.1.0/24
description: node_2_ip_1
requirements:
- interface:
node: interface#port_2_interface
relationship: tosca.relationships.BelongsToOne
ip#port_2_ip_2:
type: tosca.nodes.FabricIpAddress
properties:
ip: 119.0.0.254/24
description: node_2_ip_2
requirements:
- interface:
node: interface#port_2_interface
relationship: tosca.relationships.BelongsToOne
ip#port_2_ip_3:
type: tosca.nodes.FabricIpAddress
properties:
ip: 116.0.0.254/24
description: node_2_ip_3
requirements:
- interface:
node: interface#port_2_interface
relationship: tosca.relationships.BelongsToOne
# Node3 Port
port#node_3_port:
type: tosca.nodes.SwitchPort
properties:
portId: 35
requirements:
- switch:
node: switch#leaf_1
relationship: tosca.relationships.BelongsToOne
interface#port_3_interface:
type: tosca.nodes.PortInterface
properties:
vlanUntagged: 20
name: node_3
requirements:
- port:
node: port#node_3_port
relationship: tosca.relationships.BelongsToOne
ip#port_3_ip_1:
type: tosca.nodes.FabricIpAddress
properties:
ip: 13.1.1.0/24
description: node_3_ip_1
requirements:
- interface:
node: interface#port_3_interface
relationship: tosca.relationships.BelongsToOne
ip#port_3_ip_2:
type: tosca.nodes.FabricIpAddress
properties:
ip: 119.0.0.254/24
description: node_3_ip_2
requirements:
- interface:
node: interface#port_3_interface
relationship: tosca.relationships.BelongsToOne
ip#port_3_ip_3:
type: tosca.nodes.FabricIpAddress
properties:
ip: 116.0.0.254/24
description: node_3_ip_2
requirements:
- interface:
node: interface#port_3_interface
relationship: tosca.relationships.BelongsToOne
# eNodeB - rru Port
port#rru_port:
type: tosca.nodes.SwitchPort
properties:
portId: 37
requirements:
- switch:
node: switch#leaf_1
relationship: tosca.relationships.BelongsToOne
interface#port_1_interface:
type: tosca.nodes.PortInterface
properties:
vlanUntagged: 20
name: rru
requirements:
- port:
node: port#rru_port
relationship: tosca.relationships.BelongsToOne
ip#port_1_ip_1:
type: tosca.nodes.FabricIpAddress
properties:
ip: 13.1.1.0/24
description: rru_ip_1
requirements:
- interface:
node: interface#port_1_interface
relationship: tosca.relationships.BelongsToOne
ip#port_1_ip_2:
type: tosca.nodes.FabricIpAddress
properties:
ip: 119.0.0.254/24
description: rru_ip_2
requirements:
- interface:
node: interface#port_1_interface
relationship: tosca.relationships.BelongsToOne
ip#port_1_ip_3:
type: tosca.nodes.FabricIpAddress
properties:
ip: 116.0.0.254/24
description: rru_ip_3
requirements:
- interface:
node: interface#port_1_interface
relationship: tosca.relationships.BelongsToOne