blob: 3d797d2e2756eba2a1be4c3c1833a890c0bbe3df [file] [log] [blame]
Joey Armstrong003e83e2023-01-09 20:23:48 -05001# Copyright 2017-2023 Open Networking Foundation (ONF) and the ONF Contributors
Woojoong Kim589cb252020-04-09 12:57:54 -07002#
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 @aether-production-fabric.yaml http://192.168.69.1: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
23 - custom_types/site.yaml
24 - custom_types/node.yaml
25 - custom_types/vrouterservice.yaml
26 - custom_types/vrouterserviceinstance.yaml
27
28description: Configures the ONF Aether Production Fabric
29
30topology_template:
31 node_templates:
32
33 # Site deployment
34 mySite:
35 type: tosca.nodes.Site
36 properties:
37 name: mysite
38 login_base: opencord
39 abbreviated_name: ms
40 site_url: http://opencord.org/
41 hosts_nodes: true
42
43 # compute nodes
44 node#node1:
45 type: tosca.nodes.Node
46 properties:
47 dataPlaneIntf: eth2
48 dataPlaneIp: 192.168.251.20
49 name: node1
50
51 node#node2:
52 type: tosca.nodes.Node
53 properties:
54 dataPlaneIntf: eth2
55 dataPlaneIp: 192.168.251.21
56 name: node2
57
58 node#node3:
59 type: tosca.nodes.Node
60 properties:
61 dataPlaneIntf: eth2
62 dataPlaneIp: 192.168.251.22
63 name: node3
64
65 # static routes
66 service#vrouter:
67 type: tosca.nodes.VRouterService
68 properties:
69 name: vrouter
70 must-exist: true
71
72 vroutersi#calico:
73 type: tosca.nodes.VRouterServiceInstance
74 properties:
75 name: calico
76 requirements:
77 - owner:
78 node: service#vrouter
79 relationship: tosca.relationships.BelongsToOne
80
81 # Fabric configuration
82 switch#leaf_1:
83 type: tosca.nodes.Switch
84 properties:
85 driver: ofdpa3
86 ipv4Loopback: 192.168.0.204
87 ipv4NodeSid: 214
88 isEdgeRouter: true
89 name: Agg Switch
90 ofId: of:0000000000000001
91 routerMac: 54:87:de:ad:be:ef
92
93 # Node1 Port
94 port#node_1_port:
95 type: tosca.nodes.SwitchPort
96 properties:
97 portId: 37
98 requirements:
99 - switch:
100 node: switch#leaf_1
101 relationship: tosca.relationships.BelongsToOne
102
103 interface#port_1_interface:
104 type: tosca.nodes.PortInterface
105 properties:
106 vlanUntagged: 20
107 name: node_1
108 requirements:
109 - port:
110 node: port#node_1_port
111 relationship: tosca.relationships.BelongsToOne
112
113 ip#port_1_sgi_net:
114 type: tosca.nodes.FabricIpAddress
115 properties:
116 ip: 192.168.250.0/24
117 description: node_1_sgi_net
118 requirements:
119 - interface:
120 node: interface#port_1_interface
121 relationship: tosca.relationships.BelongsToOne
122
123 ip#port_1_s1u_net:
124 type: tosca.nodes.FabricIpAddress
125 properties:
126 ip: 192.168.252.0/24
127 description: node_1_s1u_net
128 requirements:
129 - interface:
130 node: interface#port_1_interface
131 relationship: tosca.relationships.BelongsToOne
132
133 ip#port_1_rru_net:
134 type: tosca.nodes.FabricIpAddress
135 properties:
136 ip: 192.168.251.0/24
137 description: node_1_rru_net
138 requirements:
139 - interface:
140 node: interface#port_1_interface
141 relationship: tosca.relationships.BelongsToOne
142
143 # Node2 Port
144 port#node_2_port:
145 type: tosca.nodes.SwitchPort
146 properties:
147 portId: 40
148 requirements:
149 - switch:
150 node: switch#leaf_1
151 relationship: tosca.relationships.BelongsToOne
152
153 interface#port_2_interface:
154 type: tosca.nodes.PortInterface
155 properties:
156 vlanUntagged: 20
157 name: node_2
158 requirements:
159 - port:
160 node: port#node_2_port
161 relationship: tosca.relationships.BelongsToOne
162
163 ip#port_2_sgi_net:
164 type: tosca.nodes.FabricIpAddress
165 properties:
166 ip: 192.168.250.0/24
167 description: node_2_sgi_net
168 requirements:
169 - interface:
170 node: interface#port_2_interface
171 relationship: tosca.relationships.BelongsToOne
172
173 ip#port_2_s1u_net:
174 type: tosca.nodes.FabricIpAddress
175 properties:
176 ip: 192.168.252.0/24
177 description: node_2_s1u_net
178 requirements:
179 - interface:
180 node: interface#port_2_interface
181 relationship: tosca.relationships.BelongsToOne
182
183 ip#port_2_rru_net:
184 type: tosca.nodes.FabricIpAddress
185 properties:
186 ip: 192.168.251.0/24
187 description: node_2_rru_net
188 requirements:
189 - interface:
190 node: interface#port_2_interface
191 relationship: tosca.relationships.BelongsToOne
192
193 # Node3 Port
194 port#node_3_port:
195 type: tosca.nodes.SwitchPort
196 properties:
197 portId: 38
198 requirements:
199 - switch:
200 node: switch#leaf_1
201 relationship: tosca.relationships.BelongsToOne
202
203 interface#port_3_interface:
204 type: tosca.nodes.PortInterface
205 properties:
206 vlanUntagged: 20
207 name: node_3
208 requirements:
209 - port:
210 node: port#node_3_port
211 relationship: tosca.relationships.BelongsToOne
212
213 ip#port_3_sgi_net:
214 type: tosca.nodes.FabricIpAddress
215 properties:
216 ip: 192.168.250.0/24
217 description: node_3_sgi_net
218 requirements:
219 - interface:
220 node: interface#port_3_interface
221 relationship: tosca.relationships.BelongsToOne
222
223 ip#port_3_s1u_net:
224 type: tosca.nodes.FabricIpAddress
225 properties:
226 ip: 192.168.252.0/24
227 description: node_3_s1u_net
228 requirements:
229 - interface:
230 node: interface#port_3_interface
231 relationship: tosca.relationships.BelongsToOne
232
233 ip#port_3_rru_net:
234 type: tosca.nodes.FabricIpAddress
235 properties:
236 ip: 192.168.0.251/24
237 description: node_3_rru_net
238 requirements:
239 - interface:
240 node: interface#port_3_interface
241 relationship: tosca.relationships.BelongsToOne
242
243 # RRU Port
244 port#rru_port:
245 type: tosca.nodes.SwitchPort
246 properties:
247 portId: 39
248 requirements:
249 - switch:
250 node: switch#leaf_1
251 relationship: tosca.relationships.BelongsToOne
252
253 interface#rru_interface:
254 type: tosca.nodes.PortInterface
255 properties:
256 vlanUntagged: 20
257 name: rru
258 requirements:
259 - port:
260 node: port#rru_port
261 relationship: tosca.relationships.BelongsToOne
262
263 ip#port_rru_sgi_net:
264 type: tosca.nodes.FabricIpAddress
265 properties:
266 ip: 192.168.250.0/24
267 description: rru_sgi_net
268 requirements:
269 - interface:
270 node: interface#rru_interface
271 relationship: tosca.relationships.BelongsToOne
272
273 ip#port_rru_s1u_net:
274 type: tosca.nodes.FabricIpAddress
275 properties:
276 ip: 192.168.252.0/24
277 description: rru_s1u_net
278 requirements:
279 - interface:
280 node: interface#rru_interface
281 relationship: tosca.relationships.BelongsToOne
282
283 ip#port_rru_net:
284 type: tosca.nodes.FabricIpAddress
285 properties:
286 ip: 192.168.251.0/24
287 description: rru_net
288 requirements:
289 - interface:
290 node: interface#rru_interface
291 relationship: tosca.relationships.BelongsToOne