blob: 62fce704f23efee3384b8114806ed59e5baf3f43 [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 Scandolo3f2426b2019-01-18 13:46:26 -0800152 mcord_progran:
Andy Baviera40e82b2018-05-07 17:00:36 -0700153 type: tosca.nodes.ServiceDependency
154 properties:
Scott Baker1d408032018-08-29 08:34:49 -0700155 connect_method: none
Andy Baviera40e82b2018-05-07 17:00:36 -0700156 requirements:
157 - subscriber_service:
Matteo Scandolo3f2426b2019-01-18 13:46:26 -0800158 node: service#progran
Andy Baviera40e82b2018-05-07 17:00:36 -0700159 relationship: tosca.relationships.BelongsToOne
160 - provider_service:
161 node: service#mcord
162 relationship: tosca.relationships.BelongsToOne
163
Matteo Scandolo2b08edc2019-01-25 15:03:37 -0800164 progran_epc_local:
165 type: tosca.nodes.ServiceDependency
166 properties:
167 connect_method: none
168 requirements:
169 - subscriber_service:
170 node: service#epc-local
171 relationship: tosca.relationships.BelongsToOne
172 - provider_service:
173 node: service#progran
174 relationship: tosca.relationships.BelongsToOne
175
176 epc_local_epc_remote:
177 type: tosca.nodes.ServiceDependency
178 properties:
179 connect_method: none
180 requirements:
181 - subscriber_service:
182 node: service#epc-remote
183 relationship: tosca.relationships.BelongsToOne
184 - provider_service:
185 node: service#epc-local
186 relationship: tosca.relationships.BelongsToOne
187
Matteo Scandolo3f2426b2019-01-18 13:46:26 -0800188 service_dependency#onos-fabric_fabric:
189 type: tosca.nodes.ServiceDependency
190 properties:
191 connect_method: none
192 requirements:
193 - subscriber_service:
194 node: service#fabric
195 relationship: tosca.relationships.BelongsToOne
196 - provider_service:
197 node: service#onos
198 relationship: tosca.relationships.BelongsToOne
199
Matteo Scandoloa9ac2b82019-01-29 16:55:35 -0800200 service_dependency#vrouter_fabric:
201 type: tosca.nodes.ServiceDependency
202 properties:
203 connect_method: none
204 requirements:
205 - subscriber_service:
206 node: service#vrouter
207 relationship: tosca.relationships.BelongsToOne
208 - provider_service:
209 node: service#fabric
210 relationship: tosca.relationships.BelongsToOne
211
Andy Baviera40e82b2018-05-07 17:00:36 -0700212 constraints:
213 type: tosca.nodes.ServiceGraphConstraint
214 properties:
Matteo Scandolo2b08edc2019-01-25 15:03:37 -0800215{{- if .Values.seba.enabled }}
216 constraints: '[ ["mcord", null, "onos"], ["progran", null, "fabric"], ["epc-local", null, null] ["epc-remote", null, null] ]'
217{{ else }}
Matteo Scandoloa9ac2b82019-01-29 16:55:35 -0800218 constraints: '[ ["mcord", "rcord", null], ["progran", "volt", "att-workflow-driver"], ["epc-local", "fabric-crossconnect", "onos"], ["epc-remote", "vrouter", "fabric"] ]'
Matteo Scandolo2b08edc2019-01-25 15:03:37 -0800219{{- end -}}
Andy Baviera40e82b2018-05-07 17:00:36 -0700220{{- end -}}
221