blob: 1c04883c65f85a44801b59dd87912be56086b7cc [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:
Andy Baviere6478b22017-12-21 13:17:56 -070024 - custom_types/slice.yaml
25 - custom_types/site.yaml
26 - custom_types/image.yaml
27 - custom_types/flavor.yaml
28 - custom_types/network.yaml
Andy Bavier0d1131e2018-01-02 11:27:43 -070029 - custom_types/networktemplate.yaml
Andy Baviere6478b22017-12-21 13:17:56 -070030 - 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
Andy Bavier0d1131e2018-01-02 11:27:43 -070051# flavors
52
Andy Baviere6478b22017-12-21 13:17:56 -070053 m1.small:
54 type: tosca.nodes.Flavor
55 properties:
56 name: m1.small
57 must-exist: true
58 m1.large:
59 type: tosca.nodes.Flavor
60 properties:
61 name: m1.large
62 must-exist: true
63 m1.medium:
64 type: tosca.nodes.Flavor
65 properties:
66 name: m1.medium
67 must-exist: true
68 m1.xlarge:
69 type: tosca.nodes.Flavor
70 properties:
71 name: m1.xlarge
72 must-exist: true
73
Andy Bavier0d1131e2018-01-02 11:27:43 -070074# images
Andy Baviere6478b22017-12-21 13:17:56 -070075 image-venb:
76 type: tosca.nodes.Image
77 properties:
78 name: image-venb
79
80 image-spgwc:
81 type: tosca.nodes.Image
82 properties:
83 name: image-spgwc
84
85 image-spgwu:
86 type: tosca.nodes.Image
87 properties:
88 name: image-spgwu
89
Andy Bavier0d1131e2018-01-02 11:27:43 -070090# network templates
91 private_template:
92 type: tosca.nodes.NetworkTemplate
93 properties:
94 name: private_template
95 visibility: private
96 translation: none
97 vtn_kind: PRIVATE
98
99 flat_template:
100 type: tosca.nodes.NetworkTemplate
101 properties:
102 name: flat_template
103 visibility: private
104 translation: none
105 vtn_kind: FLAT
106
Andy Baviere6478b22017-12-21 13:17:56 -0700107# management networks, fully created in management-net.yaml
108 management:
109 type: tosca.nodes.Network
110 properties:
111 must-exist: true
112 name: management
113
114{% if use_management_hosts %}
115 management_hosts:
116 type: tosca.nodes.Network
117 properties:
118 must-exist: true
119 name: management_hosts
120{% endif %}
121
Andy Baviere6478b22017-12-21 13:17:56 -0700122# ONOS_CORD, fully created in vtn.yaml
123 service#ONOS_CORD:
124 type: tosca.nodes.ONOSService
125 properties:
126 must-exist: true
127 name: ONOS_CORD
128
129# ONOS_Fabric, fully created in fabric.yaml
130 service#ONOS_Fabric:
131 type: tosca.nodes.ONOSService
132 properties:
133 must-exist: true
134 name: ONOS_Fabric
135
136# vENB Service
137 service#venb:
138 type: tosca.nodes.VENBService
139 properties:
140 name: venb
141 public_key: {{ lookup('file', config_cord_profile_dir + '/key_import/mcord_rsa.pub') }}
142 private_key_fn: /opt/xos/services/venb/keys/mcord_rsa
143 artifacts:
144 pubkey: /opt/cord_profile/key_import/mcord_rsa.pub
145
146 {{ site_name }}_venb:
147 description: vENB Service Slice
148 type: tosca.nodes.Slice
149 properties:
150 name: {{ site_name }}_venb
151 default_isolation: vm
152 network: noauto
153 requirements:
154 - site:
155 node: mysite
156 relationship: tosca.relationships.BelongsToOne
157 - service:
158 node: service#venb
159 relationship: tosca.relationships.BelongsToOne
160 - default_image:
161 node: image-venb
162 relationship: tosca.relationships.BelongsToOne
163 - default_flavor:
164 node: m1.medium
165 relationship: tosca.relationships.BelongsToOne
166
167
168#vSPGWC Service
169 service#vspgwc:
170 type: tosca.nodes.VSPGWCService
171 properties:
172 name: vspgwc
173 public_key: {{ lookup('file', config_cord_profile_dir + '/key_import/mcord_rsa.pub') }}
174 private_key_fn: /opt/xos/services/vspgwc/keys/mcord_rsa
175 artifacts:
176 pubkey: /opt/cord_profile/key_import/mcord_rsa.pub
177
178 {{ site_name }}_vspgwc:
179 description: SDN controller slice
180 type: tosca.nodes.Slice
181 properties:
182 name: {{ site_name }}_vspgwc
183 default_isolation: vm
184 network: noauto
185 requirements:
186 - site:
187 node: mysite
188 relationship: tosca.relationships.BelongsToOne
189 - service:
190 node: service#vspgwc
191 relationship: tosca.relationships.BelongsToOne
192 - default_image:
193 node: image-spgwc
194 relationship: tosca.relationships.BelongsToOne
195 - default_flavor:
196 node: m1.large
197 relationship: tosca.relationships.BelongsToOne
198
199 intel_vspgwc:
200 type: tosca.nodes.VSPGWCVendor
201 properties:
202 name: intel_vspgwc
203 requirements:
204 - image:
205 node: image-spgwc
206 relationship: tosca.relationships.BelongsToOne
207 - flavor:
208 node: m1.large
209 relationship: tosca.relationships.BelongsToOne
210
211
212#vSPGWU Service
213 service#vspgwu:
214 type: tosca.nodes.VSPGWUService
215 properties:
216 name: vspgwu
217 public_key: {{ lookup('file', config_cord_profile_dir + '/key_import/mcord_rsa.pub') }}
218 private_key_fn: /opt/xos/services/vspgwu/keys/mcord_rsa
219 artifacts:
220 pubkey: /opt/cord_profile/key_import/mcord_rsa.pub
221
222 {{ site_name }}_vspgwu:
223 description: SDN controller slice
224 type: tosca.nodes.Slice
225 properties:
226 name: {{ site_name }}_vspgwu
227 default_isolation: vm
228 network: noauto
229 requirements:
230 - site:
231 node: mysite
232 relationship: tosca.relationships.BelongsToOne
233 - service:
234 node: service#vspgwu
235 relationship: tosca.relationships.BelongsToOne
236 - default_image:
237 node: image-spgwu
238 relationship: tosca.relationships.BelongsToOne
239 - default_flavor:
240 node: m1.xlarge
241 relationship: tosca.relationships.BelongsToOne
242
243 intel_vspgwu:
244 type: tosca.nodes.VSPGWUVendor
245 properties:
246 name: intel_vspgwu
247 requirements:
248 - image:
249 node: image-spgwu
250 relationship: tosca.relationships.BelongsToOne
251 - flavor:
252 node: m1.xlarge
253 relationship: tosca.relationships.BelongsToOne
254
255# vEPC Service
256 service#vepc:
257 type: tosca.nodes.VEPCService
258 properties:
259 name: vepc
260 public_key: {{ lookup('file', config_cord_profile_dir + '/key_import/mcord_rsa.pub') }}
261 private_key_fn: /opt/xos/services/venb/keys/mcord_rsa
262 artifacts:
263 pubkey: /opt/cord_profile/key_import/mcord_rsa.pub
264
265
266# ServiceDependencies
267 venb_vspgwc:
268 type: tosca.nodes.ServiceDependency
269 properties:
270 connect_method: None
271 requirements:
272 - subscriber_service:
273 node: service#venb
274 relationship: tosca.relationships.BelongsToOne
275 - provider_service:
276 node: service#vspgwc
277 relationship: tosca.relationships.BelongsToOne
278
279 venb_vspgwu:
280 type: tosca.nodes.ServiceDependency
281 properties:
282 connect_method: None
283 requirements:
284 - subscriber_service:
285 node: service#venb
286 relationship: tosca.relationships.BelongsToOne
287 - provider_service:
288 node: service#vspgwu
289 relationship: tosca.relationships.BelongsToOne
290
291 vspgwc_vspgwu:
292 type: tosca.nodes.ServiceDependency
293 properties:
294 connect_method: None
295 requirements:
296 - subscriber_service:
297 node: service#vspgwc
298 relationship: tosca.relationships.BelongsToOne
299 - provider_service:
300 node: service#vspgwu
301 relationship: tosca.relationships.BelongsToOne
302
303# M-CORD Subscriber
304 service#mcord:
305 type: tosca.nodes.MCordSubscriberService
306 properties:
307 name: mcord
308
309 # ServiceDependency M-CORD to vENB
310 mcord_venb:
311 type: tosca.nodes.ServiceDependency
312 properties:
313 connect_method: None
314 requirements:
315 - subscriber_service:
316 node: service#venb
317 relationship: tosca.relationships.BelongsToOne
318 - provider_service:
319 node: service#mcord
320 relationship: tosca.relationships.BelongsToOne
Andy Bavier96701282018-01-22 20:41:25 -0800321
322# EPC networks
323
324{% for network in mcord_networks %}
325 {{ network['name'] }}:
326 type: tosca.nodes.Network
327 properties:
328 name: {{ network['name'] }}
329 subnet: {{ network['subnet'] }}
330 permit_all_slices: {{ network['permit_all_slices'] }}
331 requirements:
332 - template:
333 node: {{ network['template'] }}
334 relationship: tosca.relationships.BelongsToOne
335 - owner:
336 node: {{ site_name }}_{{ network['owner'] }}
337 relationship: tosca.relationships.BelongsToOne
338
339{% endfor %}