blob: 8bfacce4dd7e3e01b2b7fec3c58ac74b25273320 [file] [log] [blame]
Andy Bavier6e1602e2016-02-17 14:14:11 -05001tosca_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
Scott Baker961b7d52016-05-03 16:49:28 -070011 service#vtr:
Scott Baker0f589992016-03-07 20:32:29 -080012 type: tosca.nodes.Service
13 properties:
14 view_url: /admin/vtr/vtrservice/$id$/
15 kind: vTR
Scott Baker961b7d52016-05-03 16:49:28 -070016 replaces: service_vtr
Scott Baker0f589992016-03-07 20:32:29 -080017
Scott Baker961b7d52016-05-03 16:49:28 -070018 service#volt:
Scott Bakerc248abf2016-05-23 21:50:59 -070019 type: tosca.nodes.VOLTService
Andy Bavier6e1602e2016-02-17 14:14:11 -050020 requirements:
21 - vsg_tenant:
Scott Baker961b7d52016-05-03 16:49:28 -070022 node: service#vsg
Andy Bavier6e1602e2016-02-17 14:14:11 -050023 relationship: tosca.relationships.TenantOfService
24 properties:
Scott Bakerd89d5812016-06-23 14:08:26 -070025 view_url: /admin/volt/voltservice/$id$/
Andy Bavier6e1602e2016-02-17 14:14:11 -050026 kind: vOLT
Scott Baker961b7d52016-05-03 16:49:28 -070027 replaces: service_volt
Scott Baker6db81e12016-06-13 13:56:14 -070028 public_key: { get_artifact: [ SELF, pubkey, LOCAL_FILE] }
Scott Baker57f5fdf2016-06-13 19:53:21 -070029 private_key_fn: /opt/xos/services/volt/keys/volt_rsa
Scott Baker6db81e12016-06-13 13:56:14 -070030 artifacts:
Scott Baker57f5fdf2016-06-13 19:53:21 -070031 pubkey: /opt/xos/services/volt/keys/volt_rsa.pub
Andy Bavier6e1602e2016-02-17 14:14:11 -050032
Scott Baker8a660112016-04-13 09:12:19 -070033 addresses_vsg:
Andy Bavier6e1602e2016-02-17 14:14:11 -050034 type: tosca.nodes.AddressPool
35 properties:
Andy Baviera6a7c0b2016-03-02 14:22:10 -050036 addresses: 10.168.0.0/24
Scott Baker8a660112016-04-13 09:12:19 -070037 gateway_ip: 10.168.0.1
38 gateway_mac: 02:42:0a:a8:00:01
39
Scott Baker97ca9102016-04-13 16:56:39 -070040 addresses_exampleservice-public:
Scott Baker8a660112016-04-13 09:12:19 -070041 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
Andy Bavier6e1602e2016-02-17 14:14:11 -050046
Scott Baker961b7d52016-05-03 16:49:28 -070047 service#vsg:
Andy Bavier6e1602e2016-02-17 14:14:11 -050048 type: tosca.nodes.VSGService
49 requirements:
Scott Baker6b3c9b32016-04-13 11:25:52 -070050 - vrouter_tenant:
Scott Baker961b7d52016-05-03 16:49:28 -070051 node: service#vrouter
Andy Bavier6e1602e2016-02-17 14:14:11 -050052 relationship: tosca.relationships.TenantOfService
53 properties:
Scott Bakerd89d5812016-06-23 14:08:26 -070054 view_url: /admin/vsg/vsgservice/$id$/
Andy Bavier6e1602e2016-02-17 14:14:11 -050055 backend_network_label: hpc_client
56 public_key: { get_artifact: [ SELF, pubkey, LOCAL_FILE] }
Scott Baker6db81e12016-06-13 13:56:14 -070057 private_key_fn: /opt/xos/services/vsg/keys/vsg_rsa
Scott Baker4b9d40d2016-03-04 12:10:13 -080058# node_label: label_vsg
Scott Baker961b7d52016-05-03 16:49:28 -070059 replaces: service_vsg
Andy Bavier6e1602e2016-02-17 14:14:11 -050060 artifacts:
Scott Baker6db81e12016-06-13 13:56:14 -070061 pubkey: /opt/xos/services/vsg/keys/vsg_rsa.pub
Andy Bavier6e1602e2016-02-17 14:14:11 -050062
Scott Baker961b7d52016-05-03 16:49:28 -070063 service#vrouter:
Scott Baker8a660112016-04-13 09:12:19 -070064 type: tosca.nodes.VRouterService
Andy Bavier6e1602e2016-02-17 14:14:11 -050065 properties:
Scott Bakera5f95b32016-04-14 16:06:23 -070066 view_url: /admin/vrouter/vrouterservice/$id$/
Scott Baker961b7d52016-05-03 16:49:28 -070067 replaces: service_vrouter
Scott Baker8a660112016-04-13 09:12:19 -070068 requirements:
Scott Baker6b3c9b32016-04-13 11:25:52 -070069 - addresses_vsg:
Scott Baker8a660112016-04-13 09:12:19 -070070 node: addresses_vsg
71 relationship: tosca.relationships.ProvidesAddresses
Scott Baker6b3c9b32016-04-13 11:25:52 -070072 - addresses_service1:
Scott Baker97ca9102016-04-13 16:56:39 -070073 node: addresses_exampleservice-public
Scott Baker8a660112016-04-13 09:12:19 -070074 relationship: tosca.relationships.ProvidesAddresses
Andy Bavier6e1602e2016-02-17 14:14:11 -050075
Andy Bavier7b043b22016-05-27 10:55:47 -040076
77 service#ONOS_CORD:
78 type: tosca.nodes.ONOSService
Andy Bavier6a5af0b2016-05-27 12:59:04 -040079 properties:
80 no-delete: true
81 no-create: true
82 no-update: true
Andy Bavier7b043b22016-05-27 10:55:47 -040083
Andy Bavier3cf86dc2016-06-10 17:31:05 -040084 service#ONOS_Fabric:
85 type: tosca.nodes.ONOSService
86 properties:
87 no-delete: true
88 no-create: true
89 no-update: true
90
Andy Bavieraf8bf9f2016-06-29 11:11:31 -040091 # 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
Andy Bavier7b043b22016-05-27 10:55:47 -0400105
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
Andy Bavier6e1602e2016-02-17 14:14:11 -0500119 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
Scott Baker4c6a1392016-05-19 17:55:17 -0700129 image#vsg-1.0:
130 type: tosca.nodes.Image
131
Andy Bavier6e1602e2016-02-17 14:14:11 -0500132 mysite:
133 type: tosca.nodes.Site
134
Scott Bakerc4d78da2016-03-04 10:44:41 -0800135 label_vsg:
136 type: tosca.nodes.NodeLabel
137
Andy Bavier6e1602e2016-02-17 14:14:11 -0500138 # 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:
Scott Baker961b7d52016-05-03 16:49:28 -0700162 node: service#vsg
Andy Bavier6e1602e2016-02-17 14:14:11 -0500163 relationship: tosca.relationships.MemberOfService
164 - site:
165 node: mysite
166 relationship: tosca.relationships.MemberOfSite
167 - management:
168 node: management
169 relationship: tosca.relationships.ConnectsToNetwork
Scott Baker4c6a1392016-05-19 17:55:17 -0700170 - image:
171 node: image#vsg-1.0
172 relationship: tosca.relationships.DefaultImage
Andy Bavier6e1602e2016-02-17 14:14:11 -0500173
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
Scott Baker4c6a1392016-05-19 17:55:17 -0700185 - dependency:
186 node: mysite_vsg
187 relationship: tosca.relationships.DependsOn
Andy Bavier6e1602e2016-02-17 14:14:11 -0500188
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
Andy Bavierb50c25f2016-02-19 11:17:54 -0500248 c_tag: 111
Andy Bavier6e1602e2016-02-17 14:14:11 -0500249 requirements:
250 - provider_service:
Scott Baker961b7d52016-05-03 16:49:28 -0700251 node: service#volt
Andy Bavier6e1602e2016-02-17 14:14:11 -0500252 relationship: tosca.relationships.MemberOfService
253 - subscriber:
254 node: My House
255 relationship: tosca.relationships.BelongsToSubscriber
Scott Baker4c6a1392016-05-19 17:55:17 -0700256 - dependency:
257 node: mysite_vsg
258 relationship: tosca.relationships.DependsOn