blob: b076057d81ae356c1a3d5ea24699eaf555531c16 [file] [log] [blame]
Scott Baker79d93292016-07-18 17:23:53 -07001tosca_definitions_version: tosca_simple_yaml_1_0
2
3description: Setup CORD-related services -- vOLT, vCPE, vBNG.
4
5imports:
6 - custom_types/xos.yaml
7
8node_types:
9 tosca.nodes.SFlowService:
10 derived_from: tosca.nodes.Root
11 description: >
12 XOS SFlow Collection Service
13 capabilities:
14 scalable:
15 type: tosca.capabilities.Scalable
16 service:
17 type: tosca.capabilities.xos.Service
18 properties:
19 no-delete:
20 type: boolean
21 default: false
22 description: Do not allow Tosca to delete this object
23 no-create:
24 type: boolean
25 default: false
26 description: Do not allow Tosca to create this object
27 no-update:
28 type: boolean
29 default: false
30 description: Do not allow Tosca to update this object
31 kind:
32 type: string
33 default: generic
34 description: Type of service.
35 view_url:
36 type: string
37 required: false
38 description: URL to follow when icon is clicked in the Service Directory.
39 icon_url:
40 type: string
41 required: false
42 description: ICON to display in the Service Directory.
43 enabled:
44 type: boolean
45 default: true
46 published:
47 type: boolean
48 default: true
49 description: If True then display this Service in the Service Directory.
50 public_key:
51 type: string
52 required: false
53 description: Public key to install into Instances to allows Services to SSH into them.
54 private_key_fn:
55 type: string
56 required: false
57 description: Location of private key file
58 versionNumber:
59 type: string
60 required: false
61 description: Version number of Service.
62 sflow_port:
63 type: integer
64 required: false
65 default: 6343
66 description: sFlow listening port
67 sflow_api_port:
68 type: integer
69 required: false
70 default: 33333
71 description: sFlow publish subscribe api listening port
72
73 tosca.nodes.CeilometerService:
74 derived_from: tosca.nodes.Root
75 description: >
76 XOS Ceilometer Service
77 capabilities:
78 scalable:
79 type: tosca.capabilities.Scalable
80 service:
81 type: tosca.capabilities.xos.Service
82 properties:
83 no-delete:
84 type: boolean
85 default: false
86 description: Do not allow Tosca to delete this object
87 no-create:
88 type: boolean
89 default: false
90 description: Do not allow Tosca to create this object
91 no-update:
92 type: boolean
93 default: false
94 description: Do not allow Tosca to update this object
95 kind:
96 type: string
97 default: generic
98 description: Type of service.
99 view_url:
100 type: string
101 required: false
102 description: URL to follow when icon is clicked in the Service Directory.
103 icon_url:
104 type: string
105 required: false
106 description: ICON to display in the Service Directory.
107 enabled:
108 type: boolean
109 default: true
110 published:
111 type: boolean
112 default: true
113 description: If True then display this Service in the Service Directory.
114 public_key:
115 type: string
116 required: false
117 description: Public key to install into Instances to allows Services to SSH into them.
118 private_key_fn:
119 type: string
120 required: false
121 description: Location of private key file
122 versionNumber:
123 type: string
124 required: false
125 description: Version number of Service.
126 ceilometer_pub_sub_url:
127 type: string
128 required: false
129 description: REST URL of ceilometer PUB/SUB component
130
131 tosca.nodes.CeilometerTenant:
132 derived_from: tosca.nodes.Root
133 description: >
134 CORD: A Tenant of the Ceilometer Service.
135 properties:
136 kind:
137 type: string
138 default: generic
139 description: Kind of tenant
140
141topology_template:
142 node_templates:
143 service_ceilometer:
144 type: tosca.nodes.CeilometerService
145 requirements:
146 properties:
147 view_url: /admin/monitoring/ceilometerservice/$id$/
148 kind: ceilometer
149 ceilometer_pub_sub_url: http://10.11.10.1:4455/
150 public_key: { get_artifact: [ SELF, pubkey, LOCAL_FILE] }
151 private_key_fn: /opt/xos/services/monitoring/keys/monitoringservice_rsa
152 artifacts:
153 pubkey: /opt/xos/services/monitoring/keys/monitoringservice_rsa.pub
154
155# service_sflow:
156# type: tosca.nodes.SFlowService
157# requirements:
158# properties:
159# view_url: /admin/monitoring/sflowservice/$id$/
160# kind: sflow
161# sflow_port: 6343
162# sflow_api_port: 33333
163
164 Private:
165 type: tosca.nodes.NetworkTemplate
166
167 management:
168 type: tosca.nodes.network.Network.XOS
169 properties:
170 no-create: true
171 no-delete: true
172 no-update: true
173
174# ceilometer_network:
175# type: tosca.nodes.network.Network.XOS
176# properties:
177# ip_version: 4
178# labels: ceilometer_client_access
179# requirements:
180# - network_template:
181# node: Private
182# relationship: tosca.relationships.UsesNetworkTemplate
183# - owner:
184# node: mysite_ceilometer
185# relationship: tosca.relationships.MemberOfSlice
186# - connection:
187# node: mysite_ceilometer
188# relationship: tosca.relationships.ConnectsToSlice
189
190 mysite:
191 type: tosca.nodes.Site
192
193 trusty-server-multi-nic:
194 type: tosca.nodes.Image
195
196 ceilometer-trusty-server-multi-nic:
197 type: tosca.nodes.Image
198
199 ceilometer-service-trusty-server-multi-nic:
200 type: tosca.nodes.Image
201
202 m1.small:
203 type: tosca.nodes.Flavor
204
205 mysite_ceilometer:
206 description: Ceilometer Proxy Slice
207 type: tosca.nodes.Slice
208 requirements:
209 - ceilometer_service:
210 node: service_ceilometer
211 relationship: tosca.relationships.MemberOfService
212 - site:
213 node: mysite
214 relationship: tosca.relationships.MemberOfSite
215 - default_image:
216 node: ceilometer-trusty-server-multi-nic
217 relationship: tosca.relationships.DefaultImage
218 - management:
219 node: management
220 relationship: tosca.relationships.ConnectsToNetwork
221 - m1.small:
222 node: m1.small
223 relationship: tosca.relationships.DefaultFlavor
224
225 # Virtual machines
226 ceilometer_service_instance:
227 type: tosca.nodes.Compute
228 capabilities:
229 # Host container properties
230 host:
231 properties:
232 num_cpus: 1
233 disk_size: 20 GB
234 mem_size: 2 GB
235 requirements:
236 - slice:
237 node: mysite_ceilometer
238 relationship: tosca.relationships.MemberOfSlice
239 - image:
240 node: ceilometer-service-trusty-server-multi-nic
241 relationship: tosca.relationships.UsesImage
242
243# mysite_sflow:
244# description: Slice for sFlow service
245# type: tosca.nodes.Slice
246# requirements:
247# - sflow_service:
248# node: service_sflow
249# relationship: tosca.relationships.MemberOfService
250# - site:
251# node: mysite
252# relationship: tosca.relationships.MemberOfSite
253
254# MOVING this section to monitoringtenant.yaml
255# my_ceilometer_tenant:
256# description: Ceilometer Service default Tenant
257# type: tosca.nodes.CeilometerTenant
258# requirements:
259# - provider_service:
260# node: service_ceilometer
261# relationship: tosca.relationships.MemberOfService
262# - dependency:
263# node: ceilometer_service_instance
264# relationship: tosca.relationships.DependsOn
265
266 # Virtual machines
267# sflow_service_instance:
268# type: tosca.nodes.Compute
269# capabilities:
270# # Host container properties
271# host:
272# properties:
273# num_cpus: 1
274# disk_size: 10 GB
275# mem_size: 4 MB
276# # Guest Operating System properties
277# os:
278# properties:
279# # host Operating System image properties
280# architecture: x86_64
281# type: linux
282# distribution: Ubuntu
283# version: 14.10
284# requirements:
285# - slice:
286# node: mysite_sflow
287# relationship: tosca.relationships.MemberOfSlice
288
289# MOVING the below sections to monitoringtenant.yaml
290# Ceilometer:
291# type: tosca.nodes.DashboardView
292# properties:
293# url: template:xosCeilometerDashboard
294# Tenant:
295# type: tosca.nodes.DashboardView
296# properties:
297# no-create: true
298# no-update: true
299# no-delete: true
300#
301# padmin@vicci.org:
302# type: tosca.nodes.User
303# properties:
304# firstname: XOS
305# lastname: admin
306# is_admin: true
307# requirements:
308# - tenant_dashboard:
309# node: Tenant
310# relationship: tosca.relationships.UsesDashboard
311# - ceilometer_dashboard:
312# node: Ceilometer
313# relationship: tosca.relationships.UsesDashboard