--- heat_template_version: 2016-04-08 parameters: job_name: type: string description: Name of job running this template silo: type: string description: Jenkins Silo job is running in (typically releng|sandbox) vm_0_count: type: number description: Number of VMs for 1st VM type vm_0_flavor: type: string default: v1-standard-1 description: Flavor to run instance on for 1st VM type vm_0_image: type: string description: Image to run instance on for 1st VM type vm_1_count: type: number description: Number of VMs for 2nd VM type vm_1_flavor: type: string default: v1-standard-1 description: Flavor to run instance on for 2nd VM type vm_1_image: type: string description: Image to run instance on for 2nd VM type vm_2_count: type: number description: Number of VMs for 3rd VM type vm_2_flavor: type: string default: v1-standard-1 description: Flavor to run instance on for 3rd VM type vm_2_image: type: string description: Image to run instance on for 3rd VM type resources: 192_network: type: OS::Neutron::Net properties: name: str_replace: template: SILO-JOB_NAME-NET params: "SILO": { get_param: silo } "JOB_NAME": { get_param: job_name } "NET": "APEX_192_network" port_security_enabled: false 192_subnet: type: OS::Neutron::Subnet properties: name: str_replace: template: SILO-JOB_NAME-SUBNET params: "SILO": { get_param: silo } "JOB_NAME": { get_param: job_name } "SUBNET": "APEX_192_subnet" network_id: { get_resource: 192_network } cidr: 192.0.2.0/24 gateway_ip: 192.0.2.1 allocation_pools: - start: 192.0.2.51 end: 192.0.2.99 vm_0_group: type: "OS::Heat::ResourceGroup" properties: count: { get_param: vm_0_count } resource_def: type: apex-server.yaml properties: job_name: { get_param: job_name } silo: { get_param: silo } index: "%index%" group: "0" vm_flavor: { get_param: vm_0_flavor } vm_image: { get_param: vm_0_image } vm_network: { get_resource: 192_network } vm_1_group: type: "OS::Heat::ResourceGroup" properties: count: { get_param: vm_1_count } resource_def: type: apex-server.yaml properties: job_name: { get_param: job_name } silo: { get_param: silo } index: "%index%" group: "1" vm_flavor: { get_param: vm_1_flavor } vm_image: { get_param: vm_1_image } vm_network: { get_resource: 192_network } vm_2_group: type: "OS::Heat::ResourceGroup" properties: count: { get_param: vm_2_count } resource_def: type: apex-server.yaml properties: job_name: { get_param: job_name } silo: { get_param: silo } index: "%index%" group: "2" vm_flavor: { get_param: vm_2_flavor } vm_image: { get_param: vm_2_image } vm_network: { get_resource: 192_network }