blob: 7106eb41f6133715a426150e9eca44255434c230 [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 Bavier0d1131e2018-01-02 11:27:43 -0700123# Other networks are created by vEPC service
Andy Baviere6478b22017-12-21 13:17:56 -0700124
125# ONOS_CORD, fully created in vtn.yaml
126 service#ONOS_CORD:
127 type: tosca.nodes.ONOSService
128 properties:
129 must-exist: true
130 name: ONOS_CORD
131
132# ONOS_Fabric, fully created in fabric.yaml
133 service#ONOS_Fabric:
134 type: tosca.nodes.ONOSService
135 properties:
136 must-exist: true
137 name: ONOS_Fabric
138
139# vENB Service
140 service#venb:
141 type: tosca.nodes.VENBService
142 properties:
143 name: venb
144 public_key: {{ lookup('file', config_cord_profile_dir + '/key_import/mcord_rsa.pub') }}
145 private_key_fn: /opt/xos/services/venb/keys/mcord_rsa
146 artifacts:
147 pubkey: /opt/cord_profile/key_import/mcord_rsa.pub
148
149 {{ site_name }}_venb:
150 description: vENB Service Slice
151 type: tosca.nodes.Slice
152 properties:
153 name: {{ site_name }}_venb
154 default_isolation: vm
155 network: noauto
156 requirements:
157 - site:
158 node: mysite
159 relationship: tosca.relationships.BelongsToOne
160 - service:
161 node: service#venb
162 relationship: tosca.relationships.BelongsToOne
163 - default_image:
164 node: image-venb
165 relationship: tosca.relationships.BelongsToOne
166 - default_flavor:
167 node: m1.medium
168 relationship: tosca.relationships.BelongsToOne
169
170
171#vSPGWC Service
172 service#vspgwc:
173 type: tosca.nodes.VSPGWCService
174 properties:
175 name: vspgwc
176 public_key: {{ lookup('file', config_cord_profile_dir + '/key_import/mcord_rsa.pub') }}
177 private_key_fn: /opt/xos/services/vspgwc/keys/mcord_rsa
178 artifacts:
179 pubkey: /opt/cord_profile/key_import/mcord_rsa.pub
180
181 {{ site_name }}_vspgwc:
182 description: SDN controller slice
183 type: tosca.nodes.Slice
184 properties:
185 name: {{ site_name }}_vspgwc
186 default_isolation: vm
187 network: noauto
188 requirements:
189 - site:
190 node: mysite
191 relationship: tosca.relationships.BelongsToOne
192 - service:
193 node: service#vspgwc
194 relationship: tosca.relationships.BelongsToOne
195 - default_image:
196 node: image-spgwc
197 relationship: tosca.relationships.BelongsToOne
198 - default_flavor:
199 node: m1.large
200 relationship: tosca.relationships.BelongsToOne
201
202 intel_vspgwc:
203 type: tosca.nodes.VSPGWCVendor
204 properties:
205 name: intel_vspgwc
206 requirements:
207 - image:
208 node: image-spgwc
209 relationship: tosca.relationships.BelongsToOne
210 - flavor:
211 node: m1.large
212 relationship: tosca.relationships.BelongsToOne
213
214
215#vSPGWU Service
216 service#vspgwu:
217 type: tosca.nodes.VSPGWUService
218 properties:
219 name: vspgwu
220 public_key: {{ lookup('file', config_cord_profile_dir + '/key_import/mcord_rsa.pub') }}
221 private_key_fn: /opt/xos/services/vspgwu/keys/mcord_rsa
222 artifacts:
223 pubkey: /opt/cord_profile/key_import/mcord_rsa.pub
224
225 {{ site_name }}_vspgwu:
226 description: SDN controller slice
227 type: tosca.nodes.Slice
228 properties:
229 name: {{ site_name }}_vspgwu
230 default_isolation: vm
231 network: noauto
232 requirements:
233 - site:
234 node: mysite
235 relationship: tosca.relationships.BelongsToOne
236 - service:
237 node: service#vspgwu
238 relationship: tosca.relationships.BelongsToOne
239 - default_image:
240 node: image-spgwu
241 relationship: tosca.relationships.BelongsToOne
242 - default_flavor:
243 node: m1.xlarge
244 relationship: tosca.relationships.BelongsToOne
245
246 intel_vspgwu:
247 type: tosca.nodes.VSPGWUVendor
248 properties:
249 name: intel_vspgwu
250 requirements:
251 - image:
252 node: image-spgwu
253 relationship: tosca.relationships.BelongsToOne
254 - flavor:
255 node: m1.xlarge
256 relationship: tosca.relationships.BelongsToOne
257
258# vEPC Service
259 service#vepc:
260 type: tosca.nodes.VEPCService
261 properties:
262 name: vepc
263 public_key: {{ lookup('file', config_cord_profile_dir + '/key_import/mcord_rsa.pub') }}
264 private_key_fn: /opt/xos/services/venb/keys/mcord_rsa
265 artifacts:
266 pubkey: /opt/cord_profile/key_import/mcord_rsa.pub
267
268
269# ServiceDependencies
270 venb_vspgwc:
271 type: tosca.nodes.ServiceDependency
272 properties:
273 connect_method: None
274 requirements:
275 - subscriber_service:
276 node: service#venb
277 relationship: tosca.relationships.BelongsToOne
278 - provider_service:
279 node: service#vspgwc
280 relationship: tosca.relationships.BelongsToOne
281
282 venb_vspgwu:
283 type: tosca.nodes.ServiceDependency
284 properties:
285 connect_method: None
286 requirements:
287 - subscriber_service:
288 node: service#venb
289 relationship: tosca.relationships.BelongsToOne
290 - provider_service:
291 node: service#vspgwu
292 relationship: tosca.relationships.BelongsToOne
293
294 vspgwc_vspgwu:
295 type: tosca.nodes.ServiceDependency
296 properties:
297 connect_method: None
298 requirements:
299 - subscriber_service:
300 node: service#vspgwc
301 relationship: tosca.relationships.BelongsToOne
302 - provider_service:
303 node: service#vspgwu
304 relationship: tosca.relationships.BelongsToOne
305
306# M-CORD Subscriber
307 service#mcord:
308 type: tosca.nodes.MCordSubscriberService
309 properties:
310 name: mcord
311
312 # ServiceDependency M-CORD to vENB
313 mcord_venb:
314 type: tosca.nodes.ServiceDependency
315 properties:
316 connect_method: None
317 requirements:
318 - subscriber_service:
319 node: service#venb
320 relationship: tosca.relationships.BelongsToOne
321 - provider_service:
322 node: service#mcord
323 relationship: tosca.relationships.BelongsToOne