diff options
author | AviZi <avi.ziv@amdocs.com> | 2017-06-09 02:39:56 +0300 |
---|---|---|
committer | AviZi <avi.ziv@amdocs.com> | 2017-06-09 02:39:56 +0300 |
commit | 280f8015d06af1f41a3ef12e8300801c7a5e0d54 (patch) | |
tree | 9c1d3978c04cd28068f02073038c936bb49ca9e0 /openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/getAttr/getAttrUnsupportedResource/inputfiles | |
parent | fd3821dad11780d33c5373d74c957c442489945e (diff) |
[SDC-29] Amdocs OnBoard 1707 initial commit.
Change-Id: Ie4d12a3f574008b792899b368a0902a8b46b5370
Signed-off-by: AviZi <avi.ziv@amdocs.com>
Diffstat (limited to 'openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/getAttr/getAttrUnsupportedResource/inputfiles')
7 files changed, 814 insertions, 0 deletions
diff --git a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/getAttr/getAttrUnsupportedResource/inputfiles/MANIFEST.json b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/getAttr/getAttrUnsupportedResource/inputfiles/MANIFEST.json new file mode 100644 index 0000000000..8b12978ce1 --- /dev/null +++ b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/getAttr/getAttrUnsupportedResource/inputfiles/MANIFEST.json @@ -0,0 +1,38 @@ +{ + "name": "", + "description": "", + "data": [ + { + "file": "nested_app_server.yaml", + "type": "HEAT", + "isBase": "false" + }, + { + "file": "nested_db_server.yaml", + "type": "HEAT", + "isBase": "false" + }, + { + "file": "base_pronghorn.yaml", + "type": "HEAT", + "isBase": "true", + "data": [ + { + "file": "base_pronghorn.env", + "type": "HEAT_ENV" + }, + { + "file": "base_pronghorn_volume.yaml", + "type": "HEAT_VOL", + "isBase": "false", + "data": [ + { + "file": "base_pronghorn_volume.env", + "type": "HEAT_ENV" + } + ] + } + ] + } + ] +}
\ No newline at end of file diff --git a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/getAttr/getAttrUnsupportedResource/inputfiles/base_pronghorn.env b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/getAttr/getAttrUnsupportedResource/inputfiles/base_pronghorn.env new file mode 100644 index 0000000000..3b069fe185 --- /dev/null +++ b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/getAttr/getAttrUnsupportedResource/inputfiles/base_pronghorn.env @@ -0,0 +1,67 @@ +### +# list of stack parameters +### + +parameters: + ### + # vnf info + ### + vnf_id: pronghorn + vf_module_id: base + db_vm_role: database + app_vm_role: app + + + ### + # common / data center deployment info + ### + availability_zone_0: nova + oam_net_name: "oam" + + + ### + # security group info + ### + common_ports: "22,53,123,161" + common_protocols: "tcp,udp,udp,udp" + + db_ports: "27017" + db_protocols: "tcp" + + app_ports: "8443" + app_protocols: "tcp" + + + ### + # flavor, image, keypair and timeout info + ### + db_flavor_name: s1.test + db_image_name: pronghorn-ubuntu14 + #db_image_name: pronghorn-database + db_public_key: "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDGe+nL1U3mFHrbtmsvNWR+oDdUyyOX5KejZqe/80uwDiPNyOJjHWIVuX812AEdAAH94nQnkYr2dBiSu1FPh+auMuk3FfegchKT7pYetqELY3ryLUPEh67PmKrdlT9cQ/wQZROq672AA6qlZAYIooeLZVSzUhABfsITk0RhfcWZGIcZwv0Tja3nnhNgtqCxoTXs6fzfcCaypgwy3F0S4RewUfcz/9g7f0tze1CmWRUtPkNK2nX2/T2AJzHgy+vItwpalnon1egIszJfj7uxp+VotQlQ2PN8sI0J5zgpBFe/lxqEwtIKeiTJ16JlyDXtin/RCjCCdtvIaVCff3Z031UV jspaeth@Jonathons-MBP" + db_deploy_timeout: 300 + + app_flavor_name: s1.test + app_image_name: pronghorn-ubuntu14 + #app_image_name: pronghorn-application + app_public_key: "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDGe+nL1U3mFHrbtmsvNWR+oDdUyyOX5KejZqe/80uwDiPNyOJjHWIVuX812AEdAAH94nQnkYr2dBiSu1FPh+auMuk3FfegchKT7pYetqELY3ryLUPEh67PmKrdlT9cQ/wQZROq672AA6qlZAYIooeLZVSzUhABfsITk0RhfcWZGIcZwv0Tja3nnhNgtqCxoTXs6fzfcCaypgwy3F0S4RewUfcz/9g7f0tze1CmWRUtPkNK2nX2/T2AJzHgy+vItwpalnon1egIszJfj7uxp+VotQlQ2PN8sI0J5zgpBFe/lxqEwtIKeiTJ16JlyDXtin/RCjCCdtvIaVCff3Z031UV jspaeth@Jonathons-MBP" + app_deploy_timeout: 300 + + + ### + # hostnames, ip addresses and public keys + ### + db_name: pronghorn-db01 + db_oam_ip_0: "10.0.0.20" + + app_name: pronghorn-app01 + app_oam_ip_0: "10.0.0.21" + + + ### + # storage volume info + ### + db_volume_id_0: e8abc8da-f477-4e5c-8266-98b43c982fe4 + db_volume_id_1: 5db48c7a-eb2d-4960-a90c-88a2d0052a71 + db_volume_id_2: 6f4d6f1a-1e88-492b-8020-b5a169381434 + db_volume_id_3: 454a7b1c-a58f-4bac-bed2-a7afa3836dd4 diff --git a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/getAttr/getAttrUnsupportedResource/inputfiles/base_pronghorn.yaml b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/getAttr/getAttrUnsupportedResource/inputfiles/base_pronghorn.yaml new file mode 100644 index 0000000000..62debe82af --- /dev/null +++ b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/getAttr/getAttrUnsupportedResource/inputfiles/base_pronghorn.yaml @@ -0,0 +1,284 @@ +heat_template_version: 2015-04-30 + +description: Pronghorn Openstack Heat Template + +parameters: + oam_net_name: + label: Database OAM Network + description: Name of the OAM network for the database servers + type: string + common_ports: + label: Common Ports + description: List of ports to apply to the security group for all VMs + type: comma_delimited_list + common_protocols: + label: Common Protocols + description: List of protocols associated with the common_ports + type: comma_delimited_list + db_ports: + label: Database Ports + description: List of ports to apply to the security group for the database VMs + type: comma_delimited_list + db_protocols: + label: Database Protocols + description: List of protocols associated with the db_ports + type: comma_delimited_list + app_ports: + label: Application Ports + description: List of ports to apply to the security group for the application VMs + type: comma_delimited_list + app_protocols: + label: Application Protocols + description: List of protocols associated with the app_ports + type: comma_delimited_list + ### + # vnf info + ### + vnf_id: + label: VNF ID + description: Unique ID for this VF instance + type: string + vf_module_id: + label: VF Module ID + description: Unique ID for this VF Module instance + type: string + db_vm_role: + label: DB VM Role + description: Role for the DB VM + type: string + app_vm_role: + label: App VM Role + description: Role for the App VM + type: string + + ### + # availability zones + ### + availability_zone_0: + label: First Availability Zone + description: Name of the first availability zone + type: string + + ### + # database server networks, ips and hostnames + ### + db_name: + label: Database Hostname + description: Hostname of the database server + type: string + db_oam_ip_0: + label: Database OAM IP Addresse + description: OAM IP Address of the database server + type: string + ### + # database common server info (flavor, image, keypair) + ### + db_flavor_name: + label: Database Flavor + description: Flavor of the database server + type: string + db_image_name: + label: Database Image + description: Image of the database server + type: string + db_public_key: + label: Database Public Key + description: Public ssh key for the database servers + type: string + db_deploy_timeout: + label: Database Deployment Timeout + description: Timeout in seconds before declaring the database stack as failed + type: number + constraints: + - range: { min: 60, max: 3600 } + + ### + # database volume ids + ### + db_volume_id_0: + label: Data Volume IDs for disk 0 + description: IDs to be used for the database volumes + type: string + db_volume_id_1: + label: Data Volume IDs for disk 1 + description: IDs to be used for the database volumes + type: string + db_volume_id_2: + label: Data Volume IDs for disk 2 + description: IDs to be used for the database volumes + type: string + db_volume_id_3: + label: Data Volume IDs for disk 3 + description: IDs to be used for the database volumes + type: string + + + ### + # application server networks, ips and hostnames + ### + app_name: + label: Application Hostname + description: Hostname of the application server + type: string + app_oam_ip_0: + label: Application OAM IP Address + description: OAM IP Address of the application server + type: string + ### + # application common server info (flavor, image, keypair) + ### + app_flavor_name: + label: App Flavor + description: Flavor to be used for the application server + type: string + app_image_name: + label: App Image + description: Image to be used for the application server + type: string + app_public_key: + label: Application Public Key + description: Public ssh key for the application servers + type: string + + app_deploy_timeout: + label: Application Deployment Timeout + description: Timeout in seconds before declaring the application stack as failed + type: number + constraints: + - range: { min: 60, max: 3600 } + +resources: + ### + # define unique keypairs for each role + ### + db_keypair: + type: OS::Nova::KeyPair + properties: + name: pronghorn database key + public_key: { get_param: db_public_key } + save_private_key: false + app_keypair: + type: OS::Nova::KeyPair + properties: + name: pronghorn application key + public_key: { get_param: app_public_key } + save_private_key: false + + ### + # define security groups for each role + ### + ### + # NOTE: I would like to use the repeat/for_each function to iterate over these lists + # My local Mirantis 7 testing environment contains the following bug: + # + # ERROR: The values of the "for_each" argument to "repeat" must be lists + ### + common_security_group: + type: OS::Neutron::SecurityGroup + properties: + name: common security group + rules: + - protocol: { get_param: [ common_protocols, 0 ] } + port_range_min: { get_param: [ common_ports, 0 ] } + port_range_max: { get_param: [ common_ports, 0 ] } + - protocol: { get_param: [ common_protocols, 1 ] } + port_range_min: { get_param: [ common_ports, 1 ] } + port_range_max: { get_param: [ common_ports, 1 ] } + - protocol: { get_param: [ common_protocols, 2 ] } + port_range_min: { get_param: [ common_ports, 2 ] } + port_range_max: { get_param: [ common_ports, 2 ] } + - protocol: { get_param: [ common_protocols, 3 ] } + port_range_min: { get_param: [ common_ports, 3 ] } + port_range_max: { get_param: [ common_ports, 3 ] } + db_security_group: + type: OS::Neutron::SecurityGroup + properties: + name: data security group + rules: + - protocol: { get_param: [ db_protocols, 0 ] } + port_range_min: { get_param: [ db_ports, 0 ] } + port_range_max: { get_param: [ db_ports, 0 ] } + app_security_group: + type: OS::Neutron::SecurityGroup + properties: + name: app security group + rules: + - protocol: { get_param: [ app_protocols, 0 ] } + port_range_min: { get_param: [ app_ports, 0 ] } + port_range_max: { get_param: [ app_ports, 0 ] } + + ### + # create the database servers + ### + db_server_group: + type: OS::Nova::ServerGroup + properties: + name: data server group + policies: + - anti-affinity + + db_servers: + type: OS::Heat::ResourceGroup + properties: + count: 1 + resource_def: + type: nested_db_server.yaml + properties: + server_group_id: { get_resource: db_server_group } + vnf_id: { get_param: vnf_id } + vf_module_id: { get_param: vf_module_id } + vm_role: { get_param: db_vm_role } + availability_zone_0: { get_param: availability_zone_0 } + oam_net_name: { get_param: oam_net_name } + db_name: { get_param: db_name } + db_oam_ip_0: { get_param: db_oam_ip_0 } + security_group_ids: + - { get_resource: common_security_group } + - { get_resource: db_security_group } + keypair_id: { get_resource: db_keypair } + db_flavor_name: { get_param: db_flavor_name } + db_image_name: { get_param: db_image_name } + db_volume_id_0: { get_param: db_volume_id_0 } + db_volume_id_1: { get_param: db_volume_id_1 } + db_volume_id_2: { get_param: db_volume_id_2 } + db_volume_id_3: { get_param: db_volume_id_3 } + deploy_timeout: { get_param: db_deploy_timeout } + + + ### + # create the application servers + ### + app_server_group: + type: OS::Nova::ServerGroup + properties: + name: app server group + policies: + - anti-affinity + + app_servers: + type: OS::Heat::ResourceGroup + properties: + count: 1 + resource_def: + type: nested_app_server.yaml + properties: + server_group_id: { get_resource: app_server_group } + vnf_id: { get_param: vnf_id } + vf_module_id: { get_param: vf_module_id } + vm_role: { get_param: app_vm_role } + availability_zone_0: { get_param: availability_zone_0 } + oam_net_name: { get_param: oam_net_name } + app_name: { get_param: app_name } + app_oam_ip_0: { get_param: app_oam_ip_0 } + security_group_ids: + - { get_resource: common_security_group } + - { get_resource: app_security_group } + keypair_id: { get_resource: app_keypair } + app_flavor_name: { get_param: app_flavor_name } + app_image_name: { get_param: app_image_name } + deploy_timeout: { get_param: app_deploy_timeout } + +outputs: + ### + # No outputs as the base_pronghorn is the only VNF component + ### diff --git a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/getAttr/getAttrUnsupportedResource/inputfiles/base_pronghorn_volume.env b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/getAttr/getAttrUnsupportedResource/inputfiles/base_pronghorn_volume.env new file mode 100644 index 0000000000..e9b25015f3 --- /dev/null +++ b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/getAttr/getAttrUnsupportedResource/inputfiles/base_pronghorn_volume.env @@ -0,0 +1,7 @@ +### +# list of stack parameters +### +parameters: + + # size of each database volume + db_volume_size_0: 1 diff --git a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/getAttr/getAttrUnsupportedResource/inputfiles/base_pronghorn_volume.yaml b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/getAttr/getAttrUnsupportedResource/inputfiles/base_pronghorn_volume.yaml new file mode 100644 index 0000000000..8355b63212 --- /dev/null +++ b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/getAttr/getAttrUnsupportedResource/inputfiles/base_pronghorn_volume.yaml @@ -0,0 +1,77 @@ +heat_template_version: 2015-04-30 + +description: Pronghorn Data Volume + +parameters: + ### + # size of each database storage volume + ### + db_volume_size_0: + label: Data Volume Size + description: Size of the data volume + type: number + constraints: + - range: { min: 1, max: 2000 } + description: Volume size should be an integer between 1 and 2000 (GB) + + +resources: + ### + # define database storage volumes + # four volumes are created for each server + # these four volumes will be combined in a RAID 10 array + ### + db_volumes_0: + type: OS::Heat::ResourceGroup + properties: + count: 1 + resource_def: + type: OS::Cinder::Volume + properties: + name: db_volume_%index%_0 + size: { get_param: db_volume_size_0 } + db_volumes_1: + type: OS::Heat::ResourceGroup + properties: + count: 1 + resource_def: + type: OS::Cinder::Volume + properties: + name: db_volume_%index%_1 + size: { get_param: db_volume_size_0 } + db_volumes_2: + type: OS::Heat::ResourceGroup + properties: + count: 1 + resource_def: + type: OS::Cinder::Volume + properties: + name: db_volume_%index%_2 + size: { get_param: db_volume_size_0 } + db_volumes_3: + type: OS::Heat::ResourceGroup + properties: + count: 1 + resource_def: + type: OS::Cinder::Volume + properties: + name: db_volume_%index%_3 + size: { get_param: db_volume_size_0 } + + +outputs: + ### + # database storage volume outputs + ### + db_volume_id_0: + description: IDs of the database volumes + value: { get_attr: [db_volumes_0, refs, 1] } + # db_volume_id_1: + # description: IDs of the database volumes + # value: { get_attr: [db_volumes_1, refs, 1] } + # db_volume_id_2: + # description: IDs of the database volumes + # value: { get_attr: [db_volumes_2, refs, 1] } + # db_volume_id_3: + # description: IDs of the database volumes + # value: { get_attr: [db_volumes_3, refs, 1] } diff --git a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/getAttr/getAttrUnsupportedResource/inputfiles/nested_app_server.yaml b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/getAttr/getAttrUnsupportedResource/inputfiles/nested_app_server.yaml new file mode 100644 index 0000000000..c4f3fdb170 --- /dev/null +++ b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/getAttr/getAttrUnsupportedResource/inputfiles/nested_app_server.yaml @@ -0,0 +1,137 @@ +heat_template_version: 2015-04-30 + +description: Pronghorn Openstack Heat Template for the Application Server + +parameters: + ### + # server group and index + ### + server_group_id: + label: Server Group ID + description: ID of the server group + type: string + deploy_timeout: + label: Deployment Timeout + description: Timeout before declaring the stack deployment as failed. + type: number + constraints: + - range: { min: 60, max: 3600 } + + ### + # vnf info + ### + vnf_id: + label: VNF ID + description: Unique ID for this VF instance + type: string + vf_module_id: + label: VF Module ID + description: Unique ID for this VF Module instance + type: string + vm_role: + label: App VM Role + description: VM Role for the application vms + type: string + + ### + # availability zone + ### + availability_zone_0: + label: Availability Zone + description: Name of the availability zone for this server + type: string + + ### + # application server networks, ips and hostnames + ### + app_name: + label: Application Hostnames + description: Hostnames of the application servers + type: string + oam_net_name: + label: OAM Network Name + description: Name of the oam network + type: string + app_oam_ip_0: + label: OAM IP Addresses + description: OAM IP Addresses of the application servers + type: string + + ### + # application common server info (flavor, image, keypair) + ### + app_flavor_name: + label: Flavor + description: Flavor to be used for the server + type: string + app_image_name: + label: Image + description: Image to be used for the server + type: string + keypair_id: + label: Key Name + description: Name of the security key for the server + type: string + + ### + # security groups + ### + security_group_ids: + label: Security Group IDs + description: IDs of the security groups for the server + type: comma_delimited_list + + +resources: + ### + # software deployment wait conditions + ### + wait_condition: + type: OS::Heat::WaitCondition + properties: + handle: { get_resource: wait_handle } + timeout: { get_param: deploy_timeout } + + wait_handle: + type: OS::Heat::WaitConditionHandle + + ### + # create the application server + ### + app_server_0: + type: OS::Nova::Server + properties: + name: { get_attr: [wait_condition, att1] } + availability_zone: { get_param: availability_zone_0 } + scheduler_hints: + group: { get_param: server_group_id } + key_name: { get_param: keypair_id } + flavor: { get_param: app_flavor_name } + image: { get_param: app_image_name } + security_groups: { get_param: security_group_ids } + metadata: + vnf_id: { get_param: vnf_id } + vf_module_id: { get_param: vf_module_id } + vm_role: { get_param: vm_role } + networks: + - network: { get_param: oam_net_name } + fixed_ip: { get_param: app_oam_ip_0 } + user_data_format: RAW + user_data: + str_replace: + params: + wc_notify: { get_attr: ['wait_handle', 'curl_cli'] } + template: | + #!/bin/bash + ROOT_PW="dan1tom2" + ( + echo "$ROOT_PW" + echo "$ROOT_PW" + ) | passwd --stdin root + wc_notify --data-binary '{"status":"SUCCESS"}' + + +outputs: + ### + # No outputs as the base_pronghorn is the only VNF component + ### diff --git a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/getAttr/getAttrUnsupportedResource/inputfiles/nested_db_server.yaml b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/getAttr/getAttrUnsupportedResource/inputfiles/nested_db_server.yaml new file mode 100644 index 0000000000..8716028a07 --- /dev/null +++ b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/getAttr/getAttrUnsupportedResource/inputfiles/nested_db_server.yaml @@ -0,0 +1,204 @@ +heat_template_version: 2015-04-30 + +description: Pronghorn Openstack Heat Template for Mongo DB + +parameters: + ### + # server group and index + ### + server_group_id: + label: Server Group ID + description: ID of the server group + type: string + deploy_timeout: + label: Deployment Timeout + description: Timeout before declaring the stack deployment as failed. + type: number + constraints: + - range: { min: 60, max: 3600 } + + ### + # vnf info + ### + vnf_id: + label: VNF ID + description: Unique ID for this VF instance + type: string + vf_module_id: + label: VF Module ID + description: Unique ID for this VF Module instance + type: string + vm_role: + label: DB VM Role + description: VM Role for the db vms + type: string + + ### + # availability zone + ### + availability_zone_0: + label: Availability Zone + description: Name of the availability zone for this server + type: string + + ### + # database server networks, ips and hostnames + ### + db_name: + label: Database Hostname + description: Hostname of the database servers + type: string + oam_net_name: + label: OAM Network Name + description: Name of the oam network + type: string + db_oam_ip_0: + label: OAM IP Addresse + description: OAM IP Address of the database servers + type: string + + ### + # database common server info (flavor, image, keypair) + ### + db_flavor_name: + label: Flavor + description: Flavor to be used for the server + type: string + db_image_name: + label: Image + description: Image to be used for the server + type: string + keypair_id: + label: Key Name + description: Name of the security key for the server + type: string + + ### + # security groups + ### + security_group_ids: + label: Security Group IDs + description: IDs of the security groups for the server + type: comma_delimited_list + + ### + # database volume ids + ### + db_volume_id_0: + label: Data Volume IDs for disk 0 + description: IDs to be used for the database volume + type: string + db_volume_id_1: + label: Data Volume IDs for disk 1 + description: IDs to be used for the database volume + type: string + db_volume_id_2: + label: Data Volume IDs for disk 2 + description: IDs to be used for the database volume + type: string + db_volume_id_3: + label: Data Volume IDs for disk 3 + description: IDs to be used for the database volume + type: string + + +resources: + ### + # setup wait condition and handler for heat + ### + wait_condition: + type: OS::Heat::WaitCondition + properties: + handle: {get_resource: wait_handle} + timeout: {get_param: deploy_timeout } + + wait_handle: + type: OS::Heat::WaitConditionHandle + + ### + # software configuration + ### + db_config_complete: + type: OS::Heat::SoftwareConfig + properties: + group: ungrouped + config: + str_replace: + params: + wc_notify: { get_attr: ['wait_handle', 'curl_cli'] } + template: | + #!/bin/bash + echo "sending completion notification to heat" + wc_notify --data-binary '{"status":"SUCCESS"}' + + db_config: + type: OS::Heat::MultipartMime + properties: + parts: + - config: { get_resource: db_config_complete } + + ### + # create the database server + ### + db_server_0: + type: OS::Nova::Server + properties: + name: { get_param: db_name } + availability_zone: { get_param: availability_zone_0 } + scheduler_hints: + group: { get_param: server_group_id } + flavor: { get_param: db_flavor_name } + image: { get_param: db_image_name } + key_name: { get_param: keypair_id } + security_groups: { get_param: security_group_ids } + metadata: + vnf_id: { get_param: vnf_id } + vf_module_id: { get_param: vf_module_id } + vm_role: { get_param: vm_role } + networks: + - network: { get_param: oam_net_name } + fixed_ip: { get_param: db_oam_ip_0 } + user_data_format: RAW + #user_data: { get_resource: db_config } + user_data: + str_replace: + params: + wc_notify: { get_attr: ['wait_handle', 'curl_cli'] } + template: | + #!/bin/bash + ROOT_PW="dan1tom2" + ( + echo "$ROOT_PW" + echo "$ROOT_PW" + ) | passwd --stdin root + wc_notify --data-binary '{"status":"SUCCESS"}' + + ### + # attach the data volumes to the server + ### + db_volume_attachment_0: + type: OS::Cinder::VolumeAttachment + properties: + instance_uuid: { get_resource: db_server_0 } + volume_id: { get_param: db_volume_id_0 } + db_volume_attachment_1: + type: OS::Cinder::VolumeAttachment + properties: + instance_uuid: { get_resource: db_server_0 } + volume_id: { get_param: db_volume_id_1 } + db_volume_attachment_2: + type: OS::Cinder::VolumeAttachment + properties: + instance_uuid: { get_resource: db_server_0 } + volume_id: { get_param: db_volume_id_2 } + db_volume_attachment_3: + type: OS::Cinder::VolumeAttachment + properties: + instance_uuid: { get_resource: db_server_0 } + volume_id: { get_param: db_volume_id_3 } + + +outputs: + ### + # No outputs as the base_pronghorn is the only VNF component + ### |