aboutsummaryrefslogtreecommitdiffstats
path: root/openecomp-be/lib/openecomp-sdc-validation-lib/openecomp-sdc-validation-core/src/test/resources/heatTreeArtifactsValidationOutput/ocgapp.yaml
blob: bb074d5b0cfa276c50b872e6b62f3063fb1f3b11 (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
heat_template_version: 2015-04-30
#file version 1.0
description: OCG Apps template

parameters:
  ocgapp_image_name:
    type: string
    description: operative system image
  ocgapp_flavor_name:
    type: string
    description: resources to be applied on instances
  ocgapp_public_key:
    type: string
    description: creator's ssh public key
  oam_protected_net_name:
    type: string
    description: OAM network where instances will connect
  oam_direct_net_name:
    type: string
    description: OAM network where instances will connect
  cor_direct_net_name:
    type: string
    description: COR_DIRECT network where instances will connect
  ocgapp_oam_protected_ips:
    type: comma_delimited_list
    description: OCG OAM IP list
  ocgapp_oam_direct_ips:
    type: comma_delimited_list
    description: OCG OAM IP list
  ocgapp_cor_direct_ips:
    type: comma_delimited_list
    description: OCG COR_DIRECT IP list
  ocgapp_cor_direct_v6_ips:
    type: comma_delimited_list
    description: fixed IP assignment for VM's on the COR_DIRECT network
  ocgapp_names:
    type: comma_delimited_list
    description: OCG VM server name list (there should be 2, since we have 2 app vms)
  availability_zone_0:
    type: string
    description: availability zone 1 ID or name
  availability_zone_1:
    type: string
    description: availability zone 2 ID or name
  ocgapp_shared_sec_grp_id:
    type: string
    description: security group
  ocgapp_volume_ids:
    type: json
    description: Unique IDs for volumes
  vnf_name:
    type: string
    description: Unique name for this VF instance
  vnf_id:
    type: string
    description: Unique ID for this VF instance
  vf_module_id:
    type: string
    description: Unique ID for this VF module instance
  ocgapp_route_eth1:
    type: string
    description: OAM network routes 

resources:

  ocgapp_admin_key:
    type: OS::Nova::KeyPair
    properties:
      name:
        str_replace:
          template: VNF_NAME_STACK_NAME_key_pair
          params:
              VNF_NAME: {get_param: vnf_name}
              STACK_NAME: {get_param: 'OS::stack_name'}
      public_key: {get_param: ocgapp_public_key}
      save_private_key: false

 # APP_SERVER_0
  ocgapp_oam_protected_0_port:
    type: OS::Neutron::Port
    properties:
      name:
        str_replace:
          template: VNF_NAME_ocgapp_oam_protected_port_0
          params:
            VNF_NAME: {get_param: vnf_name}
      network: {get_param: oam_protected_net_name}
      fixed_ips: [{"ip_address": {get_param: [ocgapp_oam_protected_ips, 0]}}]
      security_groups: [{get_param: ocgapp_shared_sec_grp_id}]
      
  ocgapp_oam_direct_0_port:
    type: OS::Neutron::Port
    properties:
      name:
        str_replace:
          template: VNF_NAME_ocgapp_oam_direct_port_0
          params:
            VNF_NAME: {get_param: vnf_name}
      network: {get_param: oam_direct_net_name}
      fixed_ips: [{"ip_address": {get_param: [ocgapp_oam_direct_ips, 0]}}]
      security_groups: [{get_param: ocgapp_shared_sec_grp_id}]
      
  ocgapp_cor_direct_0_port:
    type: OS::Neutron::Port
    properties:
      name:
        str_replace:
          template: VNF_NAME_ocgapp_cor_port_0
          params:
            VNF_NAME: {get_param: vnf_name}
      network: {get_param: cor_direct_net_name}
      fixed_ips: [{"ip_address": {get_param: [ocgapp_cor_direct_ips, 0]}}, {"ip_address": {get_param: [ocgapp_cor_direct_v6_ips, 0]}}]
      security_groups: [{get_param: ocgapp_shared_sec_grp_id}]

  ocgapp_server_0:
    type: OS::Nova::Server
    properties:
      key_name: {get_resource: ocgapp_admin_key}
      name: {get_param: [ocgapp_names, 0]}
      image: {get_param: ocgapp_image_name}
      flavor: {get_param: ocgapp_flavor_name}
      availability_zone: {get_param: availability_zone_0}
      networks:
        - port: {get_resource: ocgapp_oam_protected_0_port}
        - port: {get_resource: ocgapp_oam_direct_0_port}
        - port: {get_resource: ocgapp_cor_direct_0_port}
      metadata:
        vnf_id: {get_param: vnf_id}
        vf_module_id: {get_param: vf_module_id}
        vnf_name: {get_param: vnf_name}
      user_data_format: RAW
      user_data: {get_resource: server_interface_config}

# APP_SERVER_1      
  ocgapp_oam_protected_1_port:
    type: OS::Neutron::Port
    properties:
      name:
        str_replace:
          template: VNF_NAME_ocgapp_oam_protected_port_1
          params:
            VNF_NAME: {get_param: vnf_name}
      network: {get_param: oam_protected_net_name}
      fixed_ips: [{"ip_address": {get_param: [ocgapp_oam_protected_ips, 1]}}]
      security_groups: [{get_param: ocgapp_shared_sec_grp_id}]
      
  ocgapp_oam_direct_1_port:
    type: OS::Neutron::Port
    properties:
      name:
        str_replace:
          template: VNF_NAME_ocgapp_oam_direct_port_1
          params:
            VNF_NAME: {get_param: vnf_name}
      network: {get_param: oam_direct_net_name}
      fixed_ips: [{"ip_address": {get_param: [ocgapp_oam_direct_ips, 1]}}]
      security_groups: [{get_param: ocgapp_shared_sec_grp_id}]
      
  ocgapp_cor_direct_1_port:
    type: OS::Neutron::Port
    properties:
      name:
        str_replace:
          template: VNF_NAME_ocgapp_cor_port_1
          params:
            VNF_NAME: {get_param: vnf_name}
      network: {get_param: cor_direct_net_name}
      fixed_ips: [{"ip_address": {get_param: [ocgapp_cor_direct_ips, 1]}}, {"ip_address": {get_param: [ocgapp_cor_direct_v6_ips, 1]}}]
      security_groups: [{get_param: ocgapp_shared_sec_grp_id}]

  ocgapp_server_1:
    type: OS::Nova::Server
    properties:
      key_name: {get_resource: ocgapp_admin_key}
      name: {get_param: [ocgapp_names, 1]}
      image: {get_param: ocgapp_image_name}
      flavor: {get_param: ocgapp_flavor_name}
      availability_zone: {get_param: availability_zone_0}
      networks:
        - port: {get_resource: ocgapp_oam_protected_1_port}
        - port: {get_resource: ocgapp_oam_direct_1_port}
        - port: {get_resource: ocgapp_cor_direct_1_port}
      metadata:
        vnf_id: {get_param: vnf_id}
        vf_module_id: {get_param: vf_module_id}
        vnf_name: {get_param: vnf_name}
      user_data_format: RAW
      user_data: {get_resource: server_interface_config}
      
# APP_SERVER_2
  ocgapp_oam_protected_2_port:
    type: OS::Neutron::Port
    properties:
      name:
        str_replace:
          template: VNF_NAME_ocgapp_oam_protected_port_2
          params:
            VNF_NAME: {get_param: vnf_name}
      network: {get_param: oam_protected_net_name}
      fixed_ips: [{"ip_address": {get_param: [ocgapp_oam_protected_ips, 2]}}]
      security_groups: [{get_param: ocgapp_shared_sec_grp_id}]
      
  ocgapp_oam_direct_2_port:
    type: OS::Neutron::Port
    properties:
      name:
        str_replace:
          template: VNF_NAME_ocgapp_oam_direct_port_2
          params:
            VNF_NAME: {get_param: vnf_name}
      network: {get_param: oam_direct_net_name}
      fixed_ips: [{"ip_address": {get_param: [ocgapp_oam_direct_ips, 2]}}]
      security_groups: [{get_param: ocgapp_shared_sec_grp_id}]
      
  ocgapp_cor_direct_2_port:
    type: OS::Neutron::Port
    properties:
      name:
        str_replace:
          template: VNF_NAME_ocgapp_cor_port_2
          params:
            VNF_NAME: {get_param: vnf_name}
      network: {get_param: cor_direct_net_name}
      fixed_ips: [{"ip_address": {get_param: [ocgapp_cor_direct_ips, 2]}}, {"ip_address": {get_param: [ocgapp_cor_direct_v6_ips, 2]}}]
      security_groups: [{get_param: ocgapp_shared_sec_grp_id}]

  ocgapp_server_2:
    type: OS::Nova::Server
    properties:
      key_name: {get_resource: ocgapp_admin_key}
      name: {get_param: [ocgapp_names, 2]}
      image: {get_param: ocgapp_image_name}
      flavor: {get_param: ocgapp_flavor_name}
      availability_zone: {get_param: availability_zone_1}
      networks:
        - port: {get_resource: ocgapp_oam_protected_2_port}
        - port: {get_resource: ocgapp_oam_direct_2_port}
        - port: {get_resource: ocgapp_cor_direct_2_port}
      metadata:
        vnf_id: {get_param: vnf_id}
        vf_module_id: {get_param: vf_module_id}
        vnf_name: {get_param: vnf_name}
      user_data_format: RAW
      user_data: {get_resource: server_interface_config}

# APP_SERVER_3
  ocgapp_oam_protected_3_port:
    type: OS::Neutron::Port
    properties:
      name:
        str_replace:
          template: VNF_NAME_ocgapp_oam_protected_port_3
          params:
            VNF_NAME: {get_param: vnf_name}
      network: {get_param: oam_protected_net_name}
      fixed_ips: [{"ip_address": {get_param: [ocgapp_oam_protected_ips, 3]}}]
      security_groups: [{get_param: ocgapp_shared_sec_grp_id}]

  ocgapp_oam_direct_3_port:
    type: OS::Neutron::Port
    properties:
      name:
        str_replace:
          template: VNF_NAME_ocgapp_oam_direct_port_3
          params:
            VNF_NAME: {get_param: vnf_name}
      network: {get_param: oam_direct_net_name}
      fixed_ips: [{"ip_address": {get_param: [ocgapp_oam_direct_ips, 3]}}]
      security_groups: [{get_param: ocgapp_shared_sec_grp_id}]
      
  ocgapp_cor_direct_3_port:
    type: OS::Neutron::Port
    properties:
      name:
        str_replace:
          template: VNF_NAME_ocgapp_cor_port_3
          params:
            VNF_NAME: {get_param: vnf_name}
      network: {get_param: cor_direct_net_name}
      fixed_ips: [{"ip_address": {get_param: [ocgapp_cor_direct_ips, 3]}}, {"ip_address": {get_param: [ocgapp_cor_direct_v6_ips, 3]}}]
      security_groups: [{get_param: ocgapp_shared_sec_grp_id}]

  ocgapp_server_3:
    type: OS::Nova::Server
    properties:
      key_name: {get_resource: ocgapp_admin_key}
      name: {get_param: [ocgapp_names, 3]}
      image: {get_param: ocgapp_image_name}
      flavor: {get_param: ocgapp_flavor_name}
      availability_zone: {get_param: availability_zone_1}
      networks:
        - port: {get_resource: ocgapp_oam_protected_3_port}
        - port: {get_resource: ocgapp_oam_direct_3_port}
        - port: {get_resource: ocgapp_cor_direct_3_port}
      metadata:
        vnf_id: {get_param: vnf_id}
        vf_module_id: {get_param: vf_module_id}
        vnf_name: {get_param: vnf_name}
      user_data_format: RAW
      user_data: {get_resource: server_interface_config}

  ocgapp_volume_attachment_0:
    type: OS::Cinder::VolumeAttachment
    properties:
      volume_id: {get_param: [ocgapp_volume_ids, 0]}
      instance_uuid: {get_resource: ocgapp_server_0}

  ocgapp_volume_attachment_1:
    type: OS::Cinder::VolumeAttachment
    properties:
      volume_id: {get_param: [ocgapp_volume_ids, 1]}
      instance_uuid: {get_resource: ocgapp_server_1}

  ocgapp_volume_attachment_2:
    type: OS::Cinder::VolumeAttachment
    properties:
      volume_id: {get_param: [ocgapp_volume_ids, 2]}
      instance_uuid: {get_resource: ocgapp_server_2}

  ocgapp_volume_attachment_3:
    type: OS::Cinder::VolumeAttachment
    properties:
      volume_id: {get_param: [ocgapp_volume_ids, 3]}
      instance_uuid: {get_resource: ocgapp_server_3}

  server_interface_config:
    type: OS::Heat::CloudConfig
    properties:
      cloud_config:
        write_files:
          - path: /etc/sysconfig/network-scripts/route-eth1
            permissions: "0644"
            content: {get_param: ocgapp_route_eth1}