--- heat_template_version: 2016-04-08 parameters: job_name: type: string description: Name of job running this template silo: type: string default: vm description: | String to identify a Jenkins Master Useful in scenarios where multiple Jenkins Masters might be creating VMs in the same cloud to uniquely distinguish them. TODO we should move to using tags once OpenStack Ocata which is available to us with support for server tags properties. ssh_key: type: string description: SSH Key name to use (Public key must exist in OpenStack) index: type: number group: type: number default: "0" vm_flavor: type: string default: 1 GB General Purpose v1 description: OpenStack Flavor to use vm_image: type: string description: VM Image to spin up resources: instance: type: "OS::Nova::Server" properties: flavor: {get_param: vm_flavor} image: {get_param: vm_image} name: str_replace: template: SILO-JOB_NAME-GROUP-VM_TYPE-INDEX params: "SILO": {get_param: silo} "JOB_NAME": {get_param: job_name} "VM_TYPE": str_split: - ' - ' - {get_param: vm_image} - 1 "GROUP": {get_param: group} "INDEX": {get_param: index} networks: - network: RC-ODL key_name: {get_param: ssh_key} user_data: | #!/bin/bash until host git.opendaylight.org &>/dev/null do echo "Waiting until git.opendaylight.org is resolvable..." done git clone https://git.opendaylight.org/gerrit/releng/builder /builder /builder/jenkins-scripts/jenkins-init-script.sh outputs: ip: description: IP address of the instance value: {get_attr: [instance, networks, RC-ODL, 0]}