blob: eb7f151461a1866eb9acac5d0887b5ac0b247b9d [file] [log] [blame]
Andy Baviera40e82b2018-05-07 17:00:36 -07001{{/* vim: set filetype=mustache: */}}
2{{/*
3Copyright 2018-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{{- define "mcord.fixtureTosca" -}}
18tosca_definitions_version: tosca_simple_yaml_1_0
19
20imports:
21 - custom_types/deployment.yaml
22 - custom_types/site.yaml
Andy Baviera40e82b2018-05-07 17:00:36 -070023
24description: set up site and deployment and link them
25
26topology_template:
27 node_templates:
28
29 {{ .Values.cordSiteName }}:
30 type: tosca.nodes.Site
31 properties:
32 name: {{ .Values.cordSiteName }}
33 site_url: http://mysite.opencord.us/
34 hosts_nodes: true
35
36 {{ .Values.cordDeploymentName }}:
37 type: tosca.nodes.Deployment
38 properties:
39 name: {{ .Values.cordDeploymentName }}
40{{- end -}}
41
Matteo Scandolo3f2426b2019-01-18 13:46:26 -080042{{- define "mcord.onosTosca" -}}
43tosca_definitions_version: tosca_simple_yaml_1_0
44
45imports:
46 - custom_types/onosapp.yaml
47 - custom_types/onosservice.yaml
48 - custom_types/serviceinstanceattribute.yaml
49
50description: Configures the VOLTHA ONOS service
51
52topology_template:
53 node_templates:
54
55 service#onos:
56 type: tosca.nodes.ONOSService
57 properties:
58 name: onos
59 kind: data
60 rest_hostname: {{ .onosRestService | quote }}
61 rest_port: 8181
62
63 onos_app#segmentrouting:
64 type: tosca.nodes.ONOSApp
65 properties:
66 name: org.onosproject.segmentrouting
67 app_id: org.onosproject.segmentrouting
68 requirements:
69 - owner:
70 node: service#onos
71 relationship: tosca.relationships.BelongsToOne
72
73 onos_app#netcfghostprovider:
74 type: tosca.nodes.ONOSApp
75 properties:
76 name: org.onosproject.netcfghostprovider
77 app_id: org.onosproject.netcfghostprovider
78 requirements:
79 - owner:
80 node: service#onos
81 relationship: tosca.relationships.BelongsToOne
82
83 onos_app#openflow:
84 type: tosca.nodes.ONOSApp
85 properties:
86 name: org.onosproject.openflow
87 app_id: org.onosproject.openflow
88 requirements:
89 - owner:
90 node: service#onos
91 relationship: tosca.relationships.BelongsToOne
92{{- end -}}
93
Andy Baviera40e82b2018-05-07 17:00:36 -070094{{- define "mcord.serviceGraphTosca" -}}
95tosca_definitions_version: tosca_simple_yaml_1_0
96
97imports:
Matteo Scandolo3f2426b2019-01-18 13:46:26 -080098 - custom_types/fabricservice.yaml
Andy Baviera40e82b2018-05-07 17:00:36 -070099 - custom_types/mcordsubscriberservice.yaml
Matteo Scandolo3f2426b2019-01-18 13:46:26 -0800100 - custom_types/onosservice.yaml
Andy Baviera40e82b2018-05-07 17:00:36 -0700101 - custom_types/progranservice.yaml
Matteo Scandoloa9ac2b82019-01-29 16:55:35 -0800102 - custom_types/vrouterservice.yaml
Andy Baviera40e82b2018-05-07 17:00:36 -0700103 - custom_types/servicegraphconstraint.yaml
104 - custom_types/servicedependency.yaml
Matteo Scandolo2b08edc2019-01-25 15:03:37 -0800105 - custom_types/service.yaml
Andy Baviera40e82b2018-05-07 17:00:36 -0700106
Matteo Scandolo2b08edc2019-01-25 15:03:37 -0800107description: Configures the M-CORD service graph
Andy Baviera40e82b2018-05-07 17:00:36 -0700108
109topology_template:
110 node_templates:
111
Andy Baviera40e82b2018-05-07 17:00:36 -0700112 service#progran:
113 type: tosca.nodes.ProgranService
114 properties:
115 name: progran
116 must-exist: true
117
Matteo Scandoloa9ac2b82019-01-29 16:55:35 -0800118 service#vrouter:
119 type: tosca.nodes.VRouterService
120 properties:
121 name: vrouter
122 must-exist: true
123
Andy Baviera40e82b2018-05-07 17:00:36 -0700124 service#mcord:
125 type: tosca.nodes.MCordSubscriberService
126 properties:
127 name: mcord
Matteo Scandolo3f2426b2019-01-18 13:46:26 -0800128 must-exist: true
Andy Baviera40e82b2018-05-07 17:00:36 -0700129
Matteo Scandolo3f2426b2019-01-18 13:46:26 -0800130 service#onos:
131 type: tosca.nodes.ONOSService
132 properties:
133 name: onos
134 must-exist: true
135
136 service#fabric:
137 type: tosca.nodes.FabricService
138 properties:
139 name: fabric
140 must-exist: true
141
Matteo Scandolo2b08edc2019-01-25 15:03:37 -0800142 service#epc-local:
143 type: tosca.nodes.Service
144 properties:
145 name: epc-local
146
147 service#epc-remote:
148 type: tosca.nodes.Service
149 properties:
150 name: epc-remote
151
Matteo Scandoloc889afb2019-02-15 10:42:00 -0800152 service#cdn-local:
153 type: tosca.nodes.Service
154 properties:
155 name: cdn-local
156
157 service#cdn-remote:
158 type: tosca.nodes.Service
159 properties:
160 name: cdn-remote
161
162 service_dependency#epc_local_cdn_local:
163 type: tosca.nodes.ServiceDependency
164 properties:
165 connect_method: none
166 requirements:
167 - subscriber_service:
168 node: service#epc-local
169 relationship: tosca.relationships.BelongsToOne
170 - provider_service:
171 node: service#cdn-local
172 relationship: tosca.relationships.BelongsToOne
173
174 service_dependency#cdn_local_cdn_remote:
175 type: tosca.nodes.ServiceDependency
176 properties:
177 connect_method: none
178 requirements:
179 - subscriber_service:
180 node: service#cdn-local
181 relationship: tosca.relationships.BelongsToOne
182 - provider_service:
183 node: service#cdn-remote
184 relationship: tosca.relationships.BelongsToOne
185
186 service_dependency#mcord_progran:
Andy Baviera40e82b2018-05-07 17:00:36 -0700187 type: tosca.nodes.ServiceDependency
188 properties:
Scott Baker1d408032018-08-29 08:34:49 -0700189 connect_method: none
Andy Baviera40e82b2018-05-07 17:00:36 -0700190 requirements:
191 - subscriber_service:
Matteo Scandolo3f2426b2019-01-18 13:46:26 -0800192 node: service#progran
Andy Baviera40e82b2018-05-07 17:00:36 -0700193 relationship: tosca.relationships.BelongsToOne
194 - provider_service:
195 node: service#mcord
196 relationship: tosca.relationships.BelongsToOne
197
Matteo Scandoloc889afb2019-02-15 10:42:00 -0800198 service_dependency#progran_epc_local:
Matteo Scandolo2b08edc2019-01-25 15:03:37 -0800199 type: tosca.nodes.ServiceDependency
200 properties:
201 connect_method: none
202 requirements:
203 - subscriber_service:
204 node: service#epc-local
205 relationship: tosca.relationships.BelongsToOne
206 - provider_service:
207 node: service#progran
208 relationship: tosca.relationships.BelongsToOne
209
Matteo Scandoloc889afb2019-02-15 10:42:00 -0800210 service_dependency#epc_local_epc_remote:
Matteo Scandolo2b08edc2019-01-25 15:03:37 -0800211 type: tosca.nodes.ServiceDependency
212 properties:
213 connect_method: none
214 requirements:
215 - subscriber_service:
216 node: service#epc-remote
217 relationship: tosca.relationships.BelongsToOne
218 - provider_service:
219 node: service#epc-local
220 relationship: tosca.relationships.BelongsToOne
221
Matteo Scandolo3f2426b2019-01-18 13:46:26 -0800222 service_dependency#onos-fabric_fabric:
223 type: tosca.nodes.ServiceDependency
224 properties:
225 connect_method: none
226 requirements:
227 - subscriber_service:
228 node: service#fabric
229 relationship: tosca.relationships.BelongsToOne
230 - provider_service:
231 node: service#onos
232 relationship: tosca.relationships.BelongsToOne
233
Matteo Scandoloa9ac2b82019-01-29 16:55:35 -0800234 service_dependency#vrouter_fabric:
235 type: tosca.nodes.ServiceDependency
236 properties:
237 connect_method: none
238 requirements:
239 - subscriber_service:
240 node: service#vrouter
241 relationship: tosca.relationships.BelongsToOne
242 - provider_service:
243 node: service#fabric
244 relationship: tosca.relationships.BelongsToOne
245
Andy Baviera40e82b2018-05-07 17:00:36 -0700246 constraints:
247 type: tosca.nodes.ServiceGraphConstraint
248 properties:
Matteo Scandolo2b08edc2019-01-25 15:03:37 -0800249{{- if .Values.seba.enabled }}
250 constraints: '[ ["mcord", null, "onos"], ["progran", null, "fabric"], ["epc-local", null, null] ["epc-remote", null, null] ]'
251{{ else }}
Matteo Scandoloc889afb2019-02-15 10:42:00 -0800252 constraints: '[ ["mcord", null, "rcord", null], ["progran", null, "volt", "att-workflow-driver"], ["epc-local", "cdn-local", "fabric-crossconnect", "onos"], ["epc-remote", "cdn-remote", "vrouter", "fabric"] ]'
Matteo Scandolo2b08edc2019-01-25 15:03:37 -0800253{{- end -}}
Andy Baviera40e82b2018-05-07 17:00:36 -0700254{{- end -}}