summaryrefslogtreecommitdiffstats
path: root/docs/refspec/open-o/sdn-nsd/enterprise2DC_template.yaml
diff options
context:
space:
mode:
Diffstat (limited to 'docs/refspec/open-o/sdn-nsd/enterprise2DC_template.yaml')
-rw-r--r--docs/refspec/open-o/sdn-nsd/enterprise2DC_template.yaml252
1 files changed, 252 insertions, 0 deletions
diff --git a/docs/refspec/open-o/sdn-nsd/enterprise2DC_template.yaml b/docs/refspec/open-o/sdn-nsd/enterprise2DC_template.yaml
new file mode 100644
index 0000000..c5d8714
--- /dev/null
+++ b/docs/refspec/open-o/sdn-nsd/enterprise2DC_template.yaml
@@ -0,0 +1,252 @@
+# Copyright 2017 Huawei Technologies Co., Ltd.
+#
+# 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.
+
+###############################################################################
+##### overlay_enterprise to dc ####
+###############################################################################
+tosca_definitions_version: tosca_simple_yaml_1_0
+description: creates overlay connection from Enterprise to DC
+imports:
+ - Definitions/enterprise2DC_type_definition.yaml
+
+###############################################################################
+
+metadata:
+ id: enterprise2Dc
+ template_name: enterprise2DC
+ version: 0.1
+ vendor: sdno
+ template_author: Huawei
+
+
+####################################### TOPOLOGY ##############################
+topology_template:
+ inputs:
+ vpnName:
+ type: string
+ description: Name of Overlayvpn
+ vpnDescription:
+ type: string
+ description: description of Overlayvpn
+ siteName:
+ type: string
+ description: Name of Site
+ siteCidr:
+ type: string
+ description: enterprise site cidr
+ subnetVlan:
+ type: integer
+ description: Vlan value of Subnet
+ siteVni:
+ type: integer
+ description: VxLAN ID connect site to vCPE
+ vpcName:
+ type: string
+ description: in format of domain/project/router, should keep consistent with NFVO
+ vpcSubnetName:
+ type: string
+ description: name of subnet in VPC, should keep consistent with NFVO
+ vpcSubnetCidr:
+ type: string
+ description: vpc cidr
+ vpcVni:
+ type: integer
+ description: vpc subnet vxlanID, should keep consistent with NFVO
+ vpnType:
+ type: string
+ description: vpn connection type between vCPE and vpc.
+ constraints:
+ - valid_values: ['IpSec','VxLAN','MPLS_VPN']
+ default: IpSec
+ dcGwIp:
+ type: string
+ description: mgrIp of dcGW
+ dcFwIp:
+ type: string
+ description: mgrIp of dc Firewall
+ dcLbIp:
+ type: string
+ description: mgrIp of dc Load Balancer
+
+# *****************************************************************************
+# node templates
+# *****************************************************************************
+
+ node_templates:
+
+ # Nodes
+ thinCpe:
+ type: sdno.node.Node
+ properties:
+ siteName: {get_input: siteName}
+ id: '0'
+
+ vCpe:
+ type: sdno.node.Node
+ properties:
+ siteName: {get_input: siteName}
+ id: '0'
+
+ dcFw:
+ type: sdno.node.Node
+ properties:
+ ipAddress: {get_input: dcFwIp}
+ id: '0'
+
+ dcLb:
+ type: sdno.node.Node
+ properties:
+ ipAddress: {get_input: dcLbIp}
+ id: '0'
+
+ dcGw:
+ type: sdno.node.Node
+ properties:
+ ipAddress: {get_input: dcGwIp}
+ id: '0'
+
+ # do we need another node for dc endpoint? original template had vpc as node as well
+
+ # Connectivity Service
+
+ enterprise2Dc:
+ type: sdno.node.ConnectivityService.Enterprise2Dc
+ requirements:
+ - endPoint: thinCpeServiceEndpoint
+ - endPoint: dcServiceEndpoint
+ - realizes: siteSubnet
+ - realizes: vpn
+ - realizes: vpcSubnet
+ - realizes: sfc
+
+ thinCpeServiceEndpoint:
+ type: sdno.node.ServiceEndPoint.ThinCpe
+ requirements:
+ - node: thinCpe
+ dcServiceEndpoint:
+ type: sdno.node.ServiceEndPoint.DcEndpoint
+ requirements:
+ #- node: vpc or something else
+ - node: dcGw
+
+ # *****************************************************************************
+ # VPC Node Templates (VpcSubnet and Vpc)
+ # *****************************************************************************
+
+ vpcSubnet:
+ type: sdno.node.Connection.VpcSubnet
+ properties:
+ cidr: {get_input: vpcSubnetCidr}
+ name: {get_input: vpcSubnetName}
+ vni: {get_input: vpcVni}
+ requirements:
+ - realizes: vpc
+
+ vpc:
+ type: sdno.node.Connection.Vpc
+ properties:
+ name: {get_input: vpcName}
+
+ # *****************************************************************************
+ # Site Node Templates (Subnet, Vlan, Site with thinCPE and cCPE)
+ # *****************************************************************************
+
+ siteSubnet:
+ type: sdno.node.Connection.SiteSubnet
+ properties:
+ vni: {get_input: siteVni}
+ cidrBlock: {get_input: siteCidr}
+ name: {concat: ['siteSubnet_' , {get_input: vpcName}]}
+ requirements:
+ - realizes: vlan
+
+ vlan:
+ type: sdno.node.Connection.Vlan
+ properties:
+ vlanId: {get_input: subnetVlan}
+ name: {concat: ['vlan_' , {get_input: vpcName}]}
+ requirements:
+ - realizes: site
+
+ thinCpeConnectionEndPoint:
+ type: sdno.node.ConnectionEndPoint.ThinCpe
+ requirements:
+ - realizes: site
+ - node: thinCpe
+
+ vCpeConnectionEndPoint:
+ type: sdno.node.ConnectionEndPoint.VCpe
+ requirements:
+ - realizes: site
+ - node: vCpe
+
+ site:
+ type: sdno.node.Connection.Site
+ properties:
+ name: {get_input: siteName}
+ siteDescriptor: {get_input: vpnType}
+ requirements:
+ - endPoint: vCpeConnectionEndPoint
+ - endPoint: thinCpeConnectionEndPoint
+
+
+ # *****************************************************************************
+ # VPN Node Templates (Vpn, VpnConnection with siteGW and vpcGW)
+ # Order of requests: vpn, siteGW, vpcGW, vpnConnection
+ # *****************************************************************************
+
+ vpn:
+ type: sdno.node.Connection.Vpn
+ properties:
+ name: {get_input: vpnName}
+ description: {get_input: vpnDescription}
+ vpnDescriptor: {get_input: vpnType}
+ requirements:
+ - realizes: vpnConnection
+
+
+ siteGateway:
+ type: sdno.node.ConnectionEndPoint.SiteGateway
+ properties:
+ name: {concat: ['siteGateway_' , {get_input: vpcName}]}
+
+ vpcGateway:
+ type: sdno.node.ConnectionEndPoint.VpcGateway
+ properties:
+ name: {concat: ['vpcGateway_' , {get_input: vpcName}]}
+
+ vpnConnection:
+ type: sdno.node.Connection.VpnConnection
+ properties:
+ name: {concat: ['vpnConnection_' , {get_input: vpcName}]}
+ requirements:
+ - endPoint: siteGateway
+ - endPoint: vpcGateway
+
+
+ # *****************************************************************************
+ # SFC Node Template
+ # *****************************************************************************
+
+ sfc:
+ type: sdno.node.Connection.Sfc
+ properties:
+ servicePathHops:
+ - {hopNumber: 1, sfiId: {get_attribute: [dcFw, id] }, sfgId: "", name: 'dcFw'}
+ - {hopNumber: 2, sfiId: {get_attribute: [dcLb, id] }, sfgId: "", name: 'dcLb'}
+ scfNeId: {get_attribute: [dcGw, id]}
+ name: {concat: ['sfc_' , {get_input: vpcName}]}
+
+ substitution_mappings:
+ node_type: tosca.nodes.sdno.NS.overlayvpn \ No newline at end of file