blob: 49b459481d7d73c5ae4136e69767b772e334a29f [file] [log] [blame]
Matteo Scandolo36390782019-01-24 15:00:07 -08001# Copyright 2017-present Open Networking Foundation
2#
3# Licensed under the Apache License, Version 2.0 (the "License");
4# you may not use this file except in compliance with the License.
5# You may obtain a copy of the License at
6#
7# http://www.apache.org/licenses/LICENSE-2.0
8#
9# Unless required by applicable law or agreed to in writing, software
10# distributed under the License is distributed on an "AS IS" BASIS,
11# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12# See the License for the specific language governing permissions and
13# limitations under the License.
14
15# curl -H "xos-username: admin@opencord.org" -H "xos-password: letmein" -X POST --data-binary @onf-mcord-pod1-fabric.yaml http://10.90.0.131:30007/run
16
17tosca_definitions_version: tosca_simple_yaml_1_0
18imports:
19 - custom_types/switch.yaml
20 - custom_types/switchport.yaml
21 - custom_types/portinterface.yaml
22 - custom_types/fabricipaddress.yaml
Matteo Scandolod0e5ab02019-02-04 09:07:41 -080023 - custom_types/site.yaml
24 - custom_types/deployment.yaml
25 - custom_types/sitedeployment.yaml
26 - custom_types/node.yaml
27 - custom_types/vrouterservice.yaml
28 - custom_types/vrouterserviceinstance.yaml
Matteo Scandolo36390782019-01-24 15:00:07 -080029
30description: Configures the ONF SEBA POD with AT&T workflow
31
32topology_template:
33 node_templates:
Matteo Scandolo4c4cafc2019-01-29 17:17:39 -080034
35 # Site deployment
36 mySite:
37 type: tosca.nodes.Site
38 properties:
39 name: mysite
40 login_base: opencord
41 abbreviated_name: ms
42 site_url: http://opencord.org/
43 hosts_nodes: true
44
45 myDeployment:
46 type: tosca.nodes.Deployment
47 properties:
48 name: mydeployment
49
50 site_deployment:
51 type: tosca.nodes.SiteDeployment
52 requirements:
53 - site:
54 node: mySite
55 relationship: tosca.relationships.BelongsToOne
56 - deployment:
57 node: myDeployment
58 relationship: tosca.relationships.BelongsToOne
59
60 # compute nodes
61 node#node1:
62 type: tosca.nodes.Node
63 properties:
64 dataPlaneIntf: eth2
65 dataPlaneIp: 118.0.0.201
66 name: node1
67 requirements:
68 - site_deployment:
69 node: site_deployment
70 relationship: tosca.relationships.BelongsToOne
71
72 node#node2:
73 type: tosca.nodes.Node
74 properties:
75 dataPlaneIntf: eth2
76 dataPlaneIp: 118.0.0.202
77 name: node2
78 requirements:
79 - site_deployment:
80 node: site_deployment
81 relationship: tosca.relationships.BelongsToOne
82
83 node#node3:
84 type: tosca.nodes.Node
85 properties:
86 dataPlaneIntf: eth2
87 dataPlaneIp: 118.0.0.203
88 name: node3
89 requirements:
90 - site_deployment:
91 node: site_deployment
92 relationship: tosca.relationships.BelongsToOne
Matteo Scandolocc827892019-02-14 16:49:43 -080093 service#vrouter:
94 type: tosca.nodes.VRouterService
95 properties:
96 name: vrouter
97 must-exist: true
Matteo Scandolo4c4cafc2019-01-29 17:17:39 -080098
99 vroutersi#calico:
100 type: tosca.nodes.VRouterServiceInstance
101 properties:
102 name: calico
Matteo Scandolocc827892019-02-14 16:49:43 -0800103 requirements:
104 - owner:
105 node: service#vrouter
106 relationship: tosca.relationships.BelongsToOne
Matteo Scandolo4c4cafc2019-01-29 17:17:39 -0800107
Matteo Scandolo36390782019-01-24 15:00:07 -0800108 # Fabric configuration
109 switch#leaf_1:
110 type: tosca.nodes.Switch
111 properties:
112 driver: ofdpa3
113 ipv4Loopback: 192.168.0.204
114 ipv4NodeSid: 214
115 isEdgeRouter: true
116 name: Agg Switch
117 ofId: of:0000000000000001
118 routerMac: 54:87:de:ad:be:ef
119
120 # Node1 Port
121 port#node_1_port:
122 type: tosca.nodes.SwitchPort
123 properties:
Matteo Scandolod0e5ab02019-02-04 09:07:41 -0800124 portId: 33
Matteo Scandolo36390782019-01-24 15:00:07 -0800125 requirements:
126 - switch:
127 node: switch#leaf_1
128 relationship: tosca.relationships.BelongsToOne
129
Matteo Scandolo36390782019-01-24 15:00:07 -0800130 interface#port_1_interface:
131 type: tosca.nodes.PortInterface
132 properties:
133 vlanUntagged: 20
Matteo Scandolo36390782019-01-24 15:00:07 -0800134 name: node_1
135 requirements:
136 - port:
137 node: port#node_1_port
138 relationship: tosca.relationships.BelongsToOne
139
Matteo Scandolo36390782019-01-24 15:00:07 -0800140 ip#port_1_ip_1:
141 type: tosca.nodes.FabricIpAddress
142 properties:
Matteo Scandoloa3ec88a2019-01-24 16:10:11 -0800143 ip: 13.1.1.0/24
Matteo Scandolo36390782019-01-24 15:00:07 -0800144 description: node_1_ip_1
145 requirements:
146 - interface:
147 node: interface#port_1_interface
148 relationship: tosca.relationships.BelongsToOne
Matteo Scandolo2a960fa2019-01-24 15:08:46 -0800149
150 ip#port_1_ip_2:
151 type: tosca.nodes.FabricIpAddress
152 properties:
153 ip: 119.0.0.254/24
154 description: node_1_ip_2
155 requirements:
156 - interface:
157 node: interface#port_1_interface
158 relationship: tosca.relationships.BelongsToOne
159
Matteo Scandolod0e5ab02019-02-04 09:07:41 -0800160 ip#port_1_ip_3:
161 type: tosca.nodes.FabricIpAddress
162 properties:
163 ip: 116.0.0.254/24
164 description: node_1_ip_3
165 requirements:
166 - interface:
167 node: interface#port_1_interface
168 relationship: tosca.relationships.BelongsToOne
169
Matteo Scandolo2a960fa2019-01-24 15:08:46 -0800170 # Node2 Port
171 port#node_2_port:
172 type: tosca.nodes.SwitchPort
173 properties:
Matteo Scandolod0e5ab02019-02-04 09:07:41 -0800174 portId: 34
Matteo Scandolo2a960fa2019-01-24 15:08:46 -0800175 requirements:
176 - switch:
177 node: switch#leaf_1
178 relationship: tosca.relationships.BelongsToOne
179
180 interface#port_2_interface:
181 type: tosca.nodes.PortInterface
182 properties:
183 vlanUntagged: 20
184 name: node_2
185 requirements:
186 - port:
187 node: port#node_2_port
188 relationship: tosca.relationships.BelongsToOne
189
190 ip#port_2_ip_1:
191 type: tosca.nodes.FabricIpAddress
192 properties:
Matteo Scandoloa3ec88a2019-01-24 16:10:11 -0800193 ip: 13.1.1.0/24
Matteo Scandolo2a960fa2019-01-24 15:08:46 -0800194 description: node_2_ip_1
195 requirements:
196 - interface:
197 node: interface#port_2_interface
198 relationship: tosca.relationships.BelongsToOne
199
200 ip#port_2_ip_2:
201 type: tosca.nodes.FabricIpAddress
202 properties:
203 ip: 119.0.0.254/24
204 description: node_2_ip_2
205 requirements:
206 - interface:
207 node: interface#port_2_interface
208 relationship: tosca.relationships.BelongsToOne
209
Matteo Scandolod0e5ab02019-02-04 09:07:41 -0800210 ip#port_2_ip_3:
211 type: tosca.nodes.FabricIpAddress
212 properties:
213 ip: 116.0.0.254/24
214 description: node_2_ip_3
215 requirements:
216 - interface:
217 node: interface#port_2_interface
218 relationship: tosca.relationships.BelongsToOne
219
Matteo Scandolo2a960fa2019-01-24 15:08:46 -0800220 # Node3 Port
221 port#node_3_port:
222 type: tosca.nodes.SwitchPort
223 properties:
Matteo Scandolod0e5ab02019-02-04 09:07:41 -0800224 portId: 35
Matteo Scandolo2a960fa2019-01-24 15:08:46 -0800225 requirements:
226 - switch:
227 node: switch#leaf_1
228 relationship: tosca.relationships.BelongsToOne
229
230 interface#port_3_interface:
231 type: tosca.nodes.PortInterface
232 properties:
233 vlanUntagged: 20
234 name: node_3
235 requirements:
236 - port:
237 node: port#node_3_port
238 relationship: tosca.relationships.BelongsToOne
239
240 ip#port_3_ip_1:
241 type: tosca.nodes.FabricIpAddress
242 properties:
Matteo Scandoloa3ec88a2019-01-24 16:10:11 -0800243 ip: 13.1.1.0/24
Matteo Scandolo2a960fa2019-01-24 15:08:46 -0800244 description: node_3_ip_1
245 requirements:
246 - interface:
247 node: interface#port_3_interface
248 relationship: tosca.relationships.BelongsToOne
249
250 ip#port_3_ip_2:
251 type: tosca.nodes.FabricIpAddress
252 properties:
253 ip: 119.0.0.254/24
254 description: node_3_ip_2
255 requirements:
256 - interface:
257 node: interface#port_3_interface
258 relationship: tosca.relationships.BelongsToOne
Matteo Scandolod0e5ab02019-02-04 09:07:41 -0800259
260 ip#port_3_ip_3:
261 type: tosca.nodes.FabricIpAddress
262 properties:
263 ip: 116.0.0.254/24
264 description: node_3_ip_2
265 requirements:
266 - interface:
267 node: interface#port_3_interface
268 relationship: tosca.relationships.BelongsToOne