blob: c16cf661beeb4c3d7c44e822e975d8ab81683a1e [file] [log] [blame]
Andy Bavierc0aa0b92018-04-23 11:28:38 -07001---
2# Copyright 2018-present Open Networking Foundation
3#
4# Licensed under the Apache License, Version 2.0 (the "License");
5# you may not use this file except in compliance with the License.
6# You may obtain a copy of the License at
7#
8# http://www.apache.org/licenses/LICENSE-2.0
9#
10# Unless required by applicable law or agreed to in writing, software
11# distributed under the License is distributed on an "AS IS" BASIS,
12# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13# See the License for the specific language governing permissions and
14# limitations under the License.
15
16# Default values for the base-openstack profile.
17# This is a YAML-formatted file.
18# Declare variables to be passed into your templates.
19
20replicaCount: 1
21
22nameOverride: ""
23fullnameOverride: ""
24
25imagePullPolicy: 'IfNotPresent'
26
27httpieImage: "clue/httpie:latest"
28
29xosAdminUser: &adminuser "admin@opencord.org"
30xosAdminPassword: &adminpass "letmein"
31
32# TOSCA recipes for the tosca-loader
33toscaRecipes:
34 openstack:
35 tosca_definitions_version: tosca_simple_yaml_1_0
36
37 imports:
38 - custom_types/controller.yaml
39 - custom_types/controllersite.yaml
40 - custom_types/deployment.yaml
41 - custom_types/flavor.yaml
42 - custom_types/image.yaml
43 - custom_types/site.yaml
44 - custom_types/networktemplate.yaml
45 - custom_types/network.yaml
46 - custom_types/networkslice.yaml
47 - custom_types/slice.yaml
48 - custom_types/sitedeployment.yaml
49
50 description: openstack extensions to deployment
51
52 topology_template:
53 node_templates:
54
55 # Images and flavors
56 Ubuntu-14.04:
57 type: tosca.nodes.Image
58 properties:
59 name: "Ubuntu 14.04 64-bit"
60 disk_format: QCOW2
61 container_format: BARE
62 path: https://github.com/opencord/platform-install/releases/download/vms/trusty-server-cloudimg-amd64-disk1.img.20170201
63
64 m1.tiny:
65 type: tosca.nodes.Flavor
66 properties:
67 name: m1.tiny
68
69 m1.small:
70 type: tosca.nodes.Flavor
71 properties:
72 name: m1.small
73
74 m1.medium:
75 type: tosca.nodes.Flavor
76 properties:
77 name: m1.medium
78
79 m1.large:
80 type: tosca.nodes.Flavor
81 properties:
82 name: m1.large
83
84 m1.xlarge:
85 type: tosca.nodes.Flavor
86 properties:
87 name: m1.xlarge
88
89 MyDeployment:
90 type: tosca.nodes.Deployment
91 properties:
92 name: MyDeployment
93
94 # OpenStack Controller
95 mysite_MyDeployment_openstack:
96 type: tosca.nodes.Controller
97 requirements:
98 - deployment:
99 node: MyDeployment
100 relationship: tosca.relationships.BelongsToOne
101 properties:
102 name: mysite_MyDeployment_openstack
103 backend_type: OpenStack
104 version: Newton
105 auth_url: http://keystone.openstack.svc.cluster.local/v3
106 admin_user: admin
107 admin_password: password
108 admin_tenant: admin
109 domain: Default
110
111 # Site - adds openstack controller to site defined in deployment.yaml
112 mysite:
113 type: tosca.nodes.Site
114 properties:
115 name: mysite
116 must-exist: true
117 site_url: http://mysite.opencloud.us/
118 hosts_nodes: true
119
120 mysite_deployment_MyDeployment:
121 type: tosca.nodes.SiteDeployment
122 requirements:
123 - site:
124 node: mysite
125 relationship: tosca.relationships.BelongsToOne
126 - deployment:
127 node: MyDeployment
128 relationship: tosca.relationships.BelongsToOne
129 - controller:
130 node: mysite_MyDeployment_openstack
131 relationship: tosca.relationships.BelongsToOne
132
133 mysite_openstack_controller:
134 type: tosca.nodes.ControllerSite
135 requirements:
136 - site:
137 node: mysite
138 relationship: tosca.relationships.BelongsToOne
139 - controller:
140 node: mysite_MyDeployment_openstack
141 relationship: tosca.relationships.BelongsToOne
142
143 # For creating a test VM
144 mysite_test:
145 description: Test Slice
146 type: tosca.nodes.Slice
147 properties:
148 # network: noauto
149 name: mysite_test
150 requirements:
151 - site:
152 node: mysite
153 relationship: tosca.relationships.BelongsToOne
154 - default_image:
155 node: Ubuntu-14.04
156 relationship: tosca.relationships.BelongsToOne
157
158 # For private networks (e.g., per-slice)
159 private_template:
160 type: tosca.nodes.NetworkTemplate
161 properties:
162 name: Private
163 visibility: private
164 translation: none
165 vtn_kind: PRIVATE
166
167 # management (vtn: MANAGEMENT_LOCAL) network
168 management_template:
169 type: tosca.nodes.NetworkTemplate
170 properties:
171 name: management_template
172 visibility: private
173 translation: none
174 vtn_kind: MANAGEMENT_LOCAL
175
176 management:
177 type: tosca.nodes.Network
178 properties:
179 name: management
180 # ip_version: 4
181 subnet: 172.27.0.0/24
182 permit_all_slices: true
183 requirements:
184 - template:
185 node: management_template
186 relationship: tosca.relationships.BelongsToOne
187 - owner:
188 node: slice#mysite_management
189 relationship: tosca.relationships.BelongsToOne
190
191 # Slice to own management networks
192 slice#mysite_management:
193 description: This slice exists solely to own the management network(s)
194 type: tosca.nodes.Slice
195 properties:
196 network: noauto
197 name: mysite_management
198 requirements:
199 - site:
200 node: mysite
201 relationship: tosca.relationships.BelongsToOne
202
203 # Connect mysite_test to management net
204 networkslice#management_to_mysite_test:
205 type: tosca.nodes.NetworkSlice
206 requirements:
207 - network:
208 node: management
209 relationship: tosca.relationships.BelongsToOne
210 - slice:
211 node: mysite_test
212 relationship: tosca.relationships.BelongsToOne
213 openstackCompute:
214 tosca_definitions_version: tosca_simple_yaml_1_0
215
216 imports:
217 - custom_types/deployment.yaml
218 - custom_types/node.yaml
219 - custom_types/site.yaml
220 - custom_types/sitedeployment.yaml
221
222 description: Adds OpenStack compute nodes
223
224 topology_template:
225 node_templates:
226
227 # Site/Deployment, fully defined in deployment.yaml
228 mysite:
229 type: tosca.nodes.Site
230 properties:
231 name: mysite
232 must-exist: true
233
234 MyDeployment:
235 type: tosca.nodes.Deployment
236 properties:
237 name: MyDeployment
238 must-exist: true
239
240 mysite_MyDeployment:
241 type: tosca.nodes.SiteDeployment
242 requirements:
243 - site:
244 node: mysite
245 relationship: tosca.relationships.BelongsToOne
246 - deployment:
247 node: MyDeployment
248 relationship: tosca.relationships.BelongsToOne
249
250 # OpenStack compute nodes
251
252 head1:
253 type: tosca.nodes.Node
254 properties:
255 name: head1
256 bridgeId: of:00000000abcdef01
257 dataPlaneIntf: fabricbridge
258 dataPlaneIp: 10.6.1.1/24
259 requirements:
260 - site_deployment:
261 node: mysite_MyDeployment
262 relationship: tosca.relationships.BelongsToOne
263
264 compute1:
265 type: tosca.nodes.Node
266 properties:
267 name: compute1
268 bridgeId: of:00000000abcdef02
269 dataPlaneIntf: fabricbond
270 dataPlaneIp: 10.6.1.17/24
271 requirements:
272 - site_deployment:
273 node: mysite_MyDeployment
274 relationship: tosca.relationships.BelongsToOne
275
276 compute2:
277 type: tosca.nodes.Node
278 properties:
279 name: compute2
280 bridgeId: of:00000000abcdef03
281 dataPlaneIntf: fabricbond
282 dataPlaneIp: 10.6.1.18/24
283 requirements:
284 - site_deployment:
285 node: mysite_MyDeployment
286 relationship: tosca.relationships.BelongsToOne
287
288 vtnService:
289 tosca_definitions_version: tosca_simple_yaml_1_0
290
291 imports:
292 - custom_types/onosapp.yaml
293 - custom_types/onosservice.yaml
294 - custom_types/serviceinstanceattribute.yaml
295 - custom_types/serviceinstancelink.yaml
296 - custom_types/vtnservice.yaml
297
298 description: Configures the VTN ONOS service
299
300 topology_template:
301 node_templates:
302
303 service#ONOS_CORD:
304 type: tosca.nodes.ONOSService
305 properties:
306 name: ONOS_CORD
307 kind: platform
308 no_container: true
309 rest_hostname: onos-cord-ui
310 rest_port: 8181
311
312 service#vtn:
313 type: tosca.nodes.VTNService
314 properties:
315 name: vtn
316 kind: platform
317 view_url: /admin/vtn/vtnservice/$id$/
318 privateGatewayMac: 00:00:00:00:00:01
319 localManagementIp: 172.27.0.1/24
320 ovsdbPort: 6641
321 sshUser: vagrant
322 sshKeyFile: /root/node_key
323 sshPort: 22
324 xosEndpoint: xos-chameleon:9101
325 xosUser: *adminuser
326 xosPassword: *adminpass
327 vtnAPIVersion: 2
328 controllerPort: onos-cord-openflow:6653
329 resync: false
330
331 VTN_ONOS_app:
332 type: tosca.nodes.ONOSApp
333 requirements:
334 - owner:
335 node: service#ONOS_CORD
336 relationship: tosca.relationships.BelongsToOne
337 properties:
338 name: VTN_ONOS_app
339 install_dependencies: https://repo.maven.apache.org/maven2/org/opencord/cord-config/1.3.1/cord-config-1.3.1.oar, https://repo.maven.apache.org/maven2/org/opencord/vtn/1.5.0/vtn-1.5.0.oar
340 dependencies: org.onosproject.drivers, org.onosproject.drivers.ovsdb, org.onosproject.openflow-base, org.onosproject.ovsdb-base, org.onosproject.dhcp
341
342 VTN_ONOS_app_autogenerate:
343 type: tosca.nodes.ServiceInstanceAttribute
344 requirements:
345 - service_instance:
346 node: VTN_ONOS_app
347 relationship: tosca.relationships.BelongsToOne
348 properties:
349 name: autogenerate
350 value: vtn-network-cfg
351
352 VTN_ONOS_app_VTN_Service:
353 type: tosca.nodes.ServiceInstanceLink
354 requirements:
355 - provider_service_instance:
356 node: VTN_ONOS_app
357 relationship: tosca.relationships.BelongsToOne
358 - subscriber_service:
359 node: service#vtn
360 relationship: tosca.relationships.BelongsToOne