heat_template_version: 2013-05-23 ################################# # # Changes in v0.2: # - Unique availability zone for each VM # - LAN8 and SLAN networks removed according to latest Prod/Type I diagram # - 2 DB VMs added # - Images corrected # - VM start-up order: SMP->DB->BE->FE (no error handling yet) # - Provisioning scripts placeholders # ################################# description: ASC Template parameters: city_name: type: boolean description: city name default: 0 address: type: string description: address default: Alonim home_number: type: number description: home_number default: 8 resources: # scp_be_wait_condition: # type: OS::Heat::WaitCondition # properties: # handle: { get_resource: scp_be_wait_handle } # count: 5 # timeout: 300 # scp_be_wait_handle: # type: OS::Heat::WaitConditionHandle # # scp_fe_wait_condition: # type: OS::Heat::WaitCondition # properties: # handle: { get_resource: scp_fe_wait_handle } # count: 2 # timeout: 300 # scp_fe_wait_handle: # type: OS::Heat::WaitConditionHandle # # smp_wait_condition: # type: OS::Heat::WaitCondition # properties: # handle: { get_resource: smp_wait_handle } # count: 2 # timeout: 300 # smp_wait_handle: # type: OS::Heat::WaitConditionHandle # # db_wait_condition: # type: OS::Heat::WaitCondition # properties: # handle: { get_resource: db_wait_handle } # count: 2 # timeout: 300 # db_wait_handle: # type: OS::Heat::WaitConditionHandle FE_Affinity: type: OS::Nova::ServerGroup properties: policies: ["anti-affinity"] BE_Affinity: type: OS::Nova::ServerGroup properties: policies: ["anti-affinity"] SMP_Affinity: type: OS::Nova::ServerGroup properties: policies: ["anti-affinity"] DB_Affinity: type: OS::Nova::ServerGroup properties: policies: ["anti-affinity"] FE_Clustering_KA: type: OS::Contrail::VirtualNetwork properties: name: { get_param: int_vscp_fe_cluster_net_id } FE_Clustering_subnet: type: OS::Neutron::Subnet properties: network_id: { get_resource: FE_Clustering_KA } cidr: { get_param: int_vscp_fe_cluster_cidr } Clustering_Network: type: OS::Contrail::VirtualNetwork properties: name: { get_param: int_vscp_cluster_net_id } Clustering_Network_subnet: type: OS::Neutron::Subnet properties: network_id: { get_resource: Clustering_Network } cidr: { get_param: int_vscp_cluster_cidr } DB_Network: type: OS::Contrail::VirtualNetwork properties: name: { get_param: int_vscp_db_network_net_id } DB_Network_subnet: type: OS::Neutron::Subnet properties: network_id: { get_resource: DB_Network } cidr: { get_param: int_vscp_db_network_cidr } server_scp_be0: type: OS::Nova::Server # depends on: db_wait_condition properties: name: { get_param: vm_scp_be0_name } image: { get_param: image_scp_be_id } # availability_zone: { get_param: availability_zone_be0 } flavor: { get_param: flavor_scp_be_id } scheduler_hints: { group: { get_resource: BE_Affinity } } networks: - port: { get_resource: be0_port_3 } - port: { get_resource: be0_port_4 } - port: { get_resource: be0_port_5 } - port: { get_resource: be0_port_7 } metadata: vnf_id: { get_param: vnf_id } user_data: str_replace: template: | #!/bin/bash #todo: provision $vm_name wc_notify --data-binary '{"status": "SUCCESS"}' params: $vm_name: {get_param: vm_scp_be0_name} # wc_notify: { get_attr: ['scp_be_wait_handle', 'curl_cli'] }