blob: 4cd0fc22d65388bc2b5a43b596d746b3792d7aa5 [file] [log] [blame]
Andy Baviere6478b22017-12-21 13:17:56 -07001
2{#
3Copyright 2017-present Open Networking Foundation
4
5Licensed under the Apache License, Version 2.0 (the "License");
6you may not use this file except in compliance with the License.
7You may obtain a copy of the License at
8
9http://www.apache.org/licenses/LICENSE-2.0
10
11Unless required by applicable law or agreed to in writing, software
12distributed under the License is distributed on an "AS IS" BASIS,
13WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14See the License for the specific language governing permissions and
15limitations under the License.
16#}
17
18
19tosca_definitions_version: tosca_simple_yaml_1_0
20
21description: created by platform-install, need to add M-CORD services later
22
23imports:
24 - custom_types/xos.yaml
25 - custom_types/slice.yaml
26 - custom_types/site.yaml
27 - custom_types/image.yaml
28 - custom_types/flavor.yaml
29 - custom_types/network.yaml
30 - custom_types/onosservice.yaml
31 - custom_types/networkslice.yaml
32 - custom_types/venbservice.yaml
33 - custom_types/vspgwcservice.yaml
34 - custom_types/vspgwcvendor.yaml
35 - custom_types/vspgwuservice.yaml
36 - custom_types/vspgwuvendor.yaml
37 - custom_types/vepcservice.yaml
38 - custom_types/servicedependency.yaml
39 - custom_types/mcordsubscriberservice.yaml
40
41topology_template:
42 node_templates:
43
44# site, image, fully created in deployment.yaml
45 {{ site_name }}:
46 type: tosca.nodes.Site
47 properties:
48 must-exist: true
49 name: {{ site_name }}
50
51 m1.small:
52 type: tosca.nodes.Flavor
53 properties:
54 name: m1.small
55 must-exist: true
56 m1.large:
57 type: tosca.nodes.Flavor
58 properties:
59 name: m1.large
60 must-exist: true
61 m1.medium:
62 type: tosca.nodes.Flavor
63 properties:
64 name: m1.medium
65 must-exist: true
66 m1.xlarge:
67 type: tosca.nodes.Flavor
68 properties:
69 name: m1.xlarge
70 must-exist: true
71
72 image-venb:
73 type: tosca.nodes.Image
74 properties:
75 name: image-venb
76
77 image-spgwc:
78 type: tosca.nodes.Image
79 properties:
80 name: image-spgwc
81
82 image-spgwu:
83 type: tosca.nodes.Image
84 properties:
85 name: image-spgwu
86
87# management networks, fully created in management-net.yaml
88 management:
89 type: tosca.nodes.Network
90 properties:
91 must-exist: true
92 name: management
93
94{% if use_management_hosts %}
95 management_hosts:
96 type: tosca.nodes.Network
97 properties:
98 must-exist: true
99 name: management_hosts
100{% endif %}
101
102# s1u_network is for connectivity between VMs, fully created in s1u-net.yaml
103 s1u_network:
104 type: tosca.nodes.Network
105 properties:
106 must-exist: true
107 name: s1u_network
108# s11_network is for connectivity between VMs, fully created in s11-net.yaml
109 s11_network:
110 type: tosca.nodes.Network
111 properties:
112 must-exist: true
113 name: s11_network
114# nbi_network is for connectivity between VMs, fully created in nbi-net.yaml
115 nbi_network:
116 type: tosca.nodes.Network
117 properties:
118 must-exist: true
119 name: nbi_network
120# sbi_network is for connectivity between VMs, fully created in sbi-net.yaml
121 sbi_network:
122 type: tosca.nodes.Network
123 properties:
124 must-exist: true
125 name: sbi_network
126# sgi_network is for connectivity between VMs, fully created in sgi-net.yaml
127 sgi_network:
128 type: tosca.nodes.Network
129 properties:
130 must-exist: true
131 name: sgi_network
132# spgw_network is for connectivity between VMs, fully created in spgw-net.yaml
133 spgw_network:
134 type: tosca.nodes.Network
135 properties:
136 must-exist: true
137 name: spgw_network
138# flat_network is for connectivity between VM inside cord and server outside, fully created in flat-net.yaml
139 flat_network:
140 type: tosca.nodes.Network
141 properties:
142 must-exist: true
143 name: flat_network
144
145# ONOS_CORD, fully created in vtn.yaml
146 service#ONOS_CORD:
147 type: tosca.nodes.ONOSService
148 properties:
149 must-exist: true
150 name: ONOS_CORD
151
152# ONOS_Fabric, fully created in fabric.yaml
153 service#ONOS_Fabric:
154 type: tosca.nodes.ONOSService
155 properties:
156 must-exist: true
157 name: ONOS_Fabric
158
159# vENB Service
160 service#venb:
161 type: tosca.nodes.VENBService
162 properties:
163 name: venb
164 public_key: {{ lookup('file', config_cord_profile_dir + '/key_import/mcord_rsa.pub') }}
165 private_key_fn: /opt/xos/services/venb/keys/mcord_rsa
166 artifacts:
167 pubkey: /opt/cord_profile/key_import/mcord_rsa.pub
168
169 {{ site_name }}_venb:
170 description: vENB Service Slice
171 type: tosca.nodes.Slice
172 properties:
173 name: {{ site_name }}_venb
174 default_isolation: vm
175 network: noauto
176 requirements:
177 - site:
178 node: mysite
179 relationship: tosca.relationships.BelongsToOne
180 - service:
181 node: service#venb
182 relationship: tosca.relationships.BelongsToOne
183 - default_image:
184 node: image-venb
185 relationship: tosca.relationships.BelongsToOne
186 - default_flavor:
187 node: m1.medium
188 relationship: tosca.relationships.BelongsToOne
189
190
191#vSPGWC Service
192 service#vspgwc:
193 type: tosca.nodes.VSPGWCService
194 properties:
195 name: vspgwc
196 public_key: {{ lookup('file', config_cord_profile_dir + '/key_import/mcord_rsa.pub') }}
197 private_key_fn: /opt/xos/services/vspgwc/keys/mcord_rsa
198 artifacts:
199 pubkey: /opt/cord_profile/key_import/mcord_rsa.pub
200
201 {{ site_name }}_vspgwc:
202 description: SDN controller slice
203 type: tosca.nodes.Slice
204 properties:
205 name: {{ site_name }}_vspgwc
206 default_isolation: vm
207 network: noauto
208 requirements:
209 - site:
210 node: mysite
211 relationship: tosca.relationships.BelongsToOne
212 - service:
213 node: service#vspgwc
214 relationship: tosca.relationships.BelongsToOne
215 - default_image:
216 node: image-spgwc
217 relationship: tosca.relationships.BelongsToOne
218 - default_flavor:
219 node: m1.large
220 relationship: tosca.relationships.BelongsToOne
221
222 intel_vspgwc:
223 type: tosca.nodes.VSPGWCVendor
224 properties:
225 name: intel_vspgwc
226 requirements:
227 - image:
228 node: image-spgwc
229 relationship: tosca.relationships.BelongsToOne
230 - flavor:
231 node: m1.large
232 relationship: tosca.relationships.BelongsToOne
233
234
235#vSPGWU Service
236 service#vspgwu:
237 type: tosca.nodes.VSPGWUService
238 properties:
239 name: vspgwu
240 public_key: {{ lookup('file', config_cord_profile_dir + '/key_import/mcord_rsa.pub') }}
241 private_key_fn: /opt/xos/services/vspgwu/keys/mcord_rsa
242 artifacts:
243 pubkey: /opt/cord_profile/key_import/mcord_rsa.pub
244
245 {{ site_name }}_vspgwu:
246 description: SDN controller slice
247 type: tosca.nodes.Slice
248 properties:
249 name: {{ site_name }}_vspgwu
250 default_isolation: vm
251 network: noauto
252 requirements:
253 - site:
254 node: mysite
255 relationship: tosca.relationships.BelongsToOne
256 - service:
257 node: service#vspgwu
258 relationship: tosca.relationships.BelongsToOne
259 - default_image:
260 node: image-spgwu
261 relationship: tosca.relationships.BelongsToOne
262 - default_flavor:
263 node: m1.xlarge
264 relationship: tosca.relationships.BelongsToOne
265
266 intel_vspgwu:
267 type: tosca.nodes.VSPGWUVendor
268 properties:
269 name: intel_vspgwu
270 requirements:
271 - image:
272 node: image-spgwu
273 relationship: tosca.relationships.BelongsToOne
274 - flavor:
275 node: m1.xlarge
276 relationship: tosca.relationships.BelongsToOne
277
278# vEPC Service
279 service#vepc:
280 type: tosca.nodes.VEPCService
281 properties:
282 name: vepc
283 public_key: {{ lookup('file', config_cord_profile_dir + '/key_import/mcord_rsa.pub') }}
284 private_key_fn: /opt/xos/services/venb/keys/mcord_rsa
285 artifacts:
286 pubkey: /opt/cord_profile/key_import/mcord_rsa.pub
287
288
289# ServiceDependencies
290 venb_vspgwc:
291 type: tosca.nodes.ServiceDependency
292 properties:
293 connect_method: None
294 requirements:
295 - subscriber_service:
296 node: service#venb
297 relationship: tosca.relationships.BelongsToOne
298 - provider_service:
299 node: service#vspgwc
300 relationship: tosca.relationships.BelongsToOne
301
302 venb_vspgwu:
303 type: tosca.nodes.ServiceDependency
304 properties:
305 connect_method: None
306 requirements:
307 - subscriber_service:
308 node: service#venb
309 relationship: tosca.relationships.BelongsToOne
310 - provider_service:
311 node: service#vspgwu
312 relationship: tosca.relationships.BelongsToOne
313
314 vspgwc_vspgwu:
315 type: tosca.nodes.ServiceDependency
316 properties:
317 connect_method: None
318 requirements:
319 - subscriber_service:
320 node: service#vspgwc
321 relationship: tosca.relationships.BelongsToOne
322 - provider_service:
323 node: service#vspgwu
324 relationship: tosca.relationships.BelongsToOne
325
326# M-CORD Subscriber
327 service#mcord:
328 type: tosca.nodes.MCordSubscriberService
329 properties:
330 name: mcord
331
332 # ServiceDependency M-CORD to vENB
333 mcord_venb:
334 type: tosca.nodes.ServiceDependency
335 properties:
336 connect_method: None
337 requirements:
338 - subscriber_service:
339 node: service#venb
340 relationship: tosca.relationships.BelongsToOne
341 - provider_service:
342 node: service#mcord
343 relationship: tosca.relationships.BelongsToOne