blob: bb1fd5670c93c5a88ddb2e33c9d2dcd6d234accc (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
|
heat_template_version: 2013-05-23
description: >
Version 2.0 02-09-2016 (Authors: Paul Phillips, pp2854 PROD)
parameters:
security_group_name:
type: comma_delimited_list
description: CMAUI1, CMAUI2 server names
pcrf_security_group_name:
type: comma_delimited_list
description: CMAUI1, CMAUI2 server names
volume_type:
type: string
label: volume type
description: volume type Gold
volume_size:
type: number
label: volume size
description: my volume size 320GB
FSB_1_image:
type: string
label: MME_FSB1
description: MME_FSB1_15B-CP04-r5a01
FSB1_volume_name:
type: string
label: FSB1_volume
description: FSB1_volume_1
fsb1-name:
type: string
label: FSB1_name
description: FSB1_name
fsb1-flavor:
type: string
label: FSB1_flavor
description: FSB1_flavor
fsb1-zone:
type: string
label: FSB1_zone
description: FSB1_zone
fsb_zone:
type: string
label: FSB1_zone
description: FSB1_zone
fsb1-Internal1-mac:
type: string
label: FSB1_internal_mac
description: FSB1_internal_mac
fsb1-Internal2-mac:
type: string
label: FSB1_internal_mac
description: FSB1_internal_mac
fsb2-Internal1-mac:
type: string
label: FSB1_internal_mac
description: FSB1_internal_mac
oam_net_id:
type: string
label: oam_net_id
description: oam_net_id
jsa_net_name:
type: string
label: jsa_net_name
description: jsa_net_name
jsa_cidr:
type: string
label: jsa_cidr
description: jsa_cidr
pcrf_cps_net_name:
type: string
label: pcrf_cps_net_name
description: pcrf_cps_net_name
pcrf_psm_server_name:
type: string
label: pcrf_psm_server_name
description: pcrf_psm_server_name
pcrf_psm_image_name:
type: string
label: pcrf_psm_image_name
description: pcrf_psm_image_name
pcrf_psm_flavor_name:
type: string
label: pcrf_psm_flavor_name
description: pcrf_psm_flavor_name
availabilityzone_name:
type: string
label: availabilityzone_name
description: availabilityzone_name
pcm_server_name:
type: string
label: pcm_server_name
description: pcm_server_name
pcm_image_name:
type: string
label: pcm_image_name
description: pcm_image_name
pcm_flavor_name:
type: string
label: pcm_flavor_name
description: pcm_flavor_name
Internal1_net_name:
type: string
label: Internal1_net_name
description: Internal1_net_name
Internal1_forwarding_mode:
type: string
label: Internal1_forwarding_mode
description: Internal1_forwarding_mode
Internal1_shared:
type: string
label: Internal1_shared
description: Internal1_shared
Internal1_external:
type: string
label: Internal1_external
description: Internal1_external
Internal2_name:
type: string
label: Internal2_name
description: Internal2_name
Internal2_shared:
type: string
label: Internal2_shared
description: Internal2_shared
Internal2_external:
type: string
label: Internal2_external
description: Internal2_external
Internal2_forwarding_mode:
type: string
label: Internal2_forwarding_mode
description: Internal2_forwarding_mode
cps_net_name:
type: string
label: cps_net_name
description: cps_net_name
oam_net_name:
type: string
label: oam_net_name
description: oam_net_name
oam_net_gw:
type: string
description: prop
cps_net_ip:
type: string
description: prop
cps_net_mask:
type: string
description: prop
oam_net_ip:
type: string
description: prop
oam_net_mask:
type: string
description: prop
fsb1-oam-ip:
type: string
description: prop
pcrf_cps_net_ip:
type: string
description: prop
pcrf_vnf_id:
type: string
description: prop
pcm_vol:
type: string
description: prop
pcm_vol_01:
type: string
description: prop
snapshot01:
type: string
description: prop
snapshot02:
type: string
description: prop
VMME_FSB1_boot_volume:
type: string
network_name:
type: string
description: prop
resources:
FSB1:
type: OS::Nova::Server
depends_on: script_init
properties:
name: { get_attr: [FSB1_Internal1, unsupportedAttr] }
block_device_mapping: [{device_name: "vda", volume_id : {get_param: VMME_FSB1_boot_volume }, delete_on_termination: "false" }]
flavor: { get_param: fsb1-flavor }
availability_zone: { get_param: fsb_zone }
networks:
- port: { get_resource: FSB1_Internal1 }
fixed_ip: 10.0.0.0
floating_ip: 10.0.0.1
network: 100_1000_0011
port_extra_properties: {admin_state_up: true , allowed_address_pairs: 10}
subnet: 10.0.0.2
- port: { get_resource: FSB1_Internal2 }
- port: { get_resource: FSB1_OAM }
metadata:
write_files:
- path: /etc/sysconfig/network-scripts/ifcfg-eth0
permissions: "0644"
content:
str_replace:
template: { get_file: "file:///nimbus-ethernet" }
params:
$dev: eth0
$ip: { get_param: cps_net_ip }
$netmask: { get_param: cps_net_mask }
- path: /etc/sysconfig/network-scripts/ifcfg-eth1
permissions: "0644"
content:
str_replace:
template: { get_file: "file:///nimbus-ethernet-gw" }
params:
$dev: eth1
$ip: { get_param: oam_net_ip }
$netmask: { get_param: oam_net_mask }
$gateway: { get_param: oam_net_gw }
FSB1_Internal1:
type: OS::Neutron::Port
properties:
network_id: { get_resource: Internal1-net }
mac_address: { get_param: fsb1-Internal1-mac }
FSB1_Internal2:
type: OS::Neutron::Port
properties:
network_id: { get_resource: Internal2-net }
mac_address: { get_param: fsb1-Internal2-mac }
FSB1_OAM:
type: OS::Neutron::Port
properties:
network_id: { get_param: oam_net_id }
fixed_ips:
- ip_address: { get_param: fsb1-oam-ip }
pcrf_server_init:
type: OS::Heat::MultipartMime
properties:
parts:
- config: { get_resource: network}
- config: { get_resource: script_init}
psm01_port_0:
type: OS::Neutron::Port
properties:
network: { get_param: pcrf_cps_net_name }
fixed_ips:
- ip_address: { get_param: pcrf_cps_net_ip }
security_groups: [{ get_param: pcrf_security_group_name }]
pcrf_server_psm:
type: OS::Nova::Server
properties:
config_drive: "True"
name: { get_param: pcrf_psm_server_name }
image: { get_param: pcrf_psm_image_name }
flavor: { get_param: pcrf_psm_flavor_name }
availability_zone: { get_param: availabilityzone_name }
networks:
- port: { get_resource: psm01_port_0}
user_data_format: RAW
user_data:
get_resource: pcrf_server_init
metadata:
vnf_id: {get_param: pcrf_vnf_id}
server_pcm:
type: OS::Nova::Server
properties:
config_drive: "True"
name: { get_param: pcm_server_name }
image: { get_param: pcm_image_name }
flavor: { get_param: pcm_flavor_name }
availability_zone: { get_param: availabilityzone_name }
networks:
- port: { get_resource: pcm_port_0}
- port: { get_resource: pcm_port_1}
block_device_mapping:
- device_name: vdb
volume_id: { get_param: pcm_vol}
user_data_format: RAW
user_data:
get_resource: server_init
server_VolumeTest:
type: OS::Nova::Server
properties:
config_drive: "True"
name: { get_param: pcm_server_name }
image: { get_param: pcm_image_name }
flavor: { get_param: pcm_flavor_name }
availability_zone: { get_param: availabilityzone_name }
block_device_mapping:
- device_name: vdb
- device_name: vdb
volume_id: { get_param: pcm_vol}
- device_name: vdb
volume_id: { get_param: pcm_vol_01}
- device_name: vdb
volume_id: { get_resource: pcm_vol_02}
- device_name: vdb
snapshot_id: { get_param: snapshot01}
- snapshot_id: { get_param: snapshot02}
user_data_format: RAW
user_data:
get_resource: server_init
server_init:
type: OS::Heat::MultipartMime
properties:
parts:
- config: { get_resource: network}
- config: { get_resource: script_init}
script_init:
type: OS::Heat::MultipartMime
properties:
parts:
- config: { get_resource: network}
network:
type: OS::Contrail::VirtualNetwork
properties:
name: { get_param: Internal1_net_name }
pcm_vol_02:
type: OS::Cinder::Volume
properties:
size: {get_param: volume_size}
volume_type: {get_param: volume_type}
name: {get_param: FSB1_volume_name}
image: {get_param: FSB_1_image}
read_only: 1
pcm_port_0:
type: OS::Neutron::Port
properties:
network: { get_param: cps_net_name }
fixed_ips:
- ip_address: { get_param: cps_net_ip }
security_groups: [{ get_param: security_group_name }]
pcm_port_1:
type: OS::Neutron::Port
properties:
network: { get_param: oam_net_name }
fixed_ips:
- ip_address: { get_param: oam_net_ip }
security_groups: [{ get_param: security_group_name }]
Internal1-net:
type: OS::Contrail::VirtualNetwork
properties:
name: { get_param: Internal1_net_name }
forwarding_mode: { get_param: Internal1_forwarding_mode }
shared: { get_param: Internal1_shared }
external: { get_param: Internal1_external }
# route_targets: { "Fn::Split" : [ ",", Ref: route_targets ] }
Internal2-net:
type: OS::Contrail::VirtualNetwork
properties:
name: { get_param: Internal2_name }
forwarding_mode: { get_param: Internal2_forwarding_mode }
shared: { get_param: Internal2_shared }
external: { get_param: Internal2_external }
# route_targets: { "Fn::Split" : [ ",", Ref: route_targets ] }
FSB2:
type: OS::Nova::Server
properties:
name: { get_param: fsb1-name }
flavor: { get_param: fsb1-flavor }
availability_zone: { get_param: fsb_zone }
networks:
- network: {get_param: network_name}
|