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