blob: 8bfacce4dd7e3e01b2b7fec3c58ac74b25273320 [file] [log] [blame]
Scott Baker50421662016-06-27 22:09:48 -07001tosca_definitions_version: tosca_simple_yaml_1_0
2
3description: Just enough Tosca to get the vSG slice running on the CORD POD
4
5imports:
6 - custom_types/xos.yaml
7
8topology_template:
9 node_templates:
10 # CORD Services
11 service#vtr:
12 type: tosca.nodes.Service
13 properties:
14 view_url: /admin/vtr/vtrservice/$id$/
15 kind: vTR
16 replaces: service_vtr
17
18 service#volt:
19 type: tosca.nodes.VOLTService
20 requirements:
21 - vsg_tenant:
22 node: service#vsg
23 relationship: tosca.relationships.TenantOfService
24 properties:
25 view_url: /admin/volt/voltservice/$id$/
26 kind: vOLT
27 replaces: service_volt
28 public_key: { get_artifact: [ SELF, pubkey, LOCAL_FILE] }
29 private_key_fn: /opt/xos/services/volt/keys/volt_rsa
30 artifacts:
31 pubkey: /opt/xos/services/volt/keys/volt_rsa.pub
32
33 addresses_vsg:
34 type: tosca.nodes.AddressPool
35 properties:
36 addresses: 10.168.0.0/24
37 gateway_ip: 10.168.0.1
38 gateway_mac: 02:42:0a:a8:00:01
39
40 addresses_exampleservice-public:
41 type: tosca.nodes.AddressPool
42 properties:
43 addresses: 10.168.1.0/24
44 gateway_ip: 10.168.1.1
45 gateway_mac: 02:42:0a:a8:00:01
46
47 service#vsg:
48 type: tosca.nodes.VSGService
49 requirements:
50 - vrouter_tenant:
51 node: service#vrouter
52 relationship: tosca.relationships.TenantOfService
53 properties:
54 view_url: /admin/vsg/vsgservice/$id$/
55 backend_network_label: hpc_client
56 public_key: { get_artifact: [ SELF, pubkey, LOCAL_FILE] }
57 private_key_fn: /opt/xos/services/vsg/keys/vsg_rsa
58# node_label: label_vsg
59 replaces: service_vsg
60 artifacts:
61 pubkey: /opt/xos/services/vsg/keys/vsg_rsa.pub
62
63 service#vrouter:
64 type: tosca.nodes.VRouterService
65 properties:
66 view_url: /admin/vrouter/vrouterservice/$id$/
67 replaces: service_vrouter
68 requirements:
69 - addresses_vsg:
70 node: addresses_vsg
71 relationship: tosca.relationships.ProvidesAddresses
72 - addresses_service1:
73 node: addresses_exampleservice-public
74 relationship: tosca.relationships.ProvidesAddresses
75
76
77 service#ONOS_CORD:
78 type: tosca.nodes.ONOSService
79 properties:
80 no-delete: true
81 no-create: true
82 no-update: true
83
84 service#ONOS_Fabric:
85 type: tosca.nodes.ONOSService
86 properties:
87 no-delete: true
88 no-create: true
89 no-update: true
90
Scott Baker1edb6972016-06-29 15:23:01 -070091 # The vOLT ONOS app is not yet fully integrated
92 #vOLT_ONOS_app:
93 # type: tosca.nodes.ONOSvOLTApp
94 # requirements:
95 # - onos_tenant:
96 # node: service#ONOS_CORD
97 # relationship: tosca.relationships.TenantOfService
98 # - volt_service:
99 # node: service#volt
100 # relationship: tosca.relationships.UsedByService
101 # properties:
102 # install_dependencies: onos-ext-notifier-1.0-SNAPSHOT.oar, onos-ext-volt-event-publisher-1.0-SNAPSHOT.oar
103 # dependencies: org.onosproject.openflow-base, org.onosproject.olt, org.ciena.onos.ext_notifier, org.ciena.onos.volt_event_publisher
104 # autogenerate: volt-network-cfg
Scott Baker50421662016-06-27 22:09:48 -0700105
106 vRouter_ONOS_app:
107 type: tosca.nodes.ONOSvRouterApp
108 requirements:
109 - onos_tenant:
110 node: service#ONOS_Fabric
111 relationship: tosca.relationships.TenantOfService
112 - vrouter_service:
113 node: service#vrouter
114 relationship: tosca.relationships.UsedByService
115 properties:
116 dependencies: org.onosproject.vrouter
117 autogenerate: vrouter-network-cfg
118
119 Private:
120 type: tosca.nodes.NetworkTemplate
121
122 management:
123 type: tosca.nodes.network.Network.XOS
124 properties:
125 no-create: true
126 no-delete: true
127 no-update: true
128
129 image#vsg-1.0:
130 type: tosca.nodes.Image
131
132 mysite:
133 type: tosca.nodes.Site
134
135 label_vsg:
136 type: tosca.nodes.NodeLabel
137
138 # Networks required by the CORD setup
139 mysite_vsg-access:
140 type: tosca.nodes.network.Network
141 properties:
142 ip_version: 4
143 requirements:
144 - network_template:
145 node: Private
146 relationship: tosca.relationships.UsesNetworkTemplate
147 - owner:
148 node: mysite_vsg
149 relationship: tosca.relationships.MemberOfSlice
150 - connection:
151 node: mysite_vsg
152 relationship: tosca.relationships.ConnectsToSlice
153
154 # CORD Slices
155 mysite_vsg:
156 description: vSG Controller Slice
157 type: tosca.nodes.Slice
158 properties:
159 network: noauto
160 requirements:
161 - vsg_service:
162 node: service#vsg
163 relationship: tosca.relationships.MemberOfService
164 - site:
165 node: mysite
166 relationship: tosca.relationships.MemberOfSite
167 - management:
168 node: management
169 relationship: tosca.relationships.ConnectsToNetwork
170 - image:
171 node: image#vsg-1.0
172 relationship: tosca.relationships.DefaultImage
173
174 # Let's add a user who can be administrator of the household
175 johndoe@myhouse.com:
176 type: tosca.nodes.User
177 properties:
178 password: letmein
179 firstname: john
180 lastname: doe
181 requirements:
182 - site:
183 node: mysite
184 relationship: tosca.relationships.MemberOfSite
185 - dependency:
186 node: mysite_vsg
187 relationship: tosca.relationships.DependsOn
188
189 # A subscriber
190 My House:
191 type: tosca.nodes.CORDSubscriber
192 properties:
193 service_specific_id: 123
194 firewall_enable: false
195 cdn_enable: false
196 url_filter_enable: false
197 url_filter_level: R
198 requirements:
199 - house_admin:
200 node: johndoe@myhouse.com
201 relationship: tosca.relationships.AdminPrivilege
202
203 Mom's PC:
204 type: tosca.nodes.CORDUser
205 properties:
206 mac: 01:02:03:04:05:06
207 level: PG_13
208 requirements:
209 - household:
210 node: My House
211 relationship: tosca.relationships.SubscriberDevice
212
213 Dad's PC:
214 type: tosca.nodes.CORDUser
215 properties:
216 mac: 90:E2:BA:82:F9:75
217 level: PG_13
218 requirements:
219 - household:
220 node: My House
221 relationship: tosca.relationships.SubscriberDevice
222
223 Jack's Laptop:
224 type: tosca.nodes.CORDUser
225 properties:
226 mac: 68:5B:35:9D:91:D5
227 level: PG_13
228 requirements:
229 - household:
230 node: My House
231 relationship: tosca.relationships.SubscriberDevice
232
233 Jill's Laptop:
234 type: tosca.nodes.CORDUser
235 properties:
236 mac: 34:36:3B:C9:B6:A6
237 level: PG_13
238 requirements:
239 - household:
240 node: My House
241 relationship: tosca.relationships.SubscriberDevice
242
243 My Volt:
244 type: tosca.nodes.VOLTTenant
245 properties:
246 service_specific_id: 123
247 s_tag: 222
248 c_tag: 111
249 requirements:
250 - provider_service:
251 node: service#volt
252 relationship: tosca.relationships.MemberOfService
253 - subscriber:
254 node: My House
255 relationship: tosca.relationships.BelongsToSubscriber
256 - dependency:
257 node: mysite_vsg
258 relationship: tosca.relationships.DependsOn