Created
May 8, 2015 09:41
-
-
Save yankcrime/75baca8a9154a7bc3c4d to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
heat_template_version: 2014-10-16 | |
description: Demo template to deploy a pair of webservers and a loadbalancer | |
parameters: | |
key_name: | |
type: string | |
description: Name of SSH keypair to be used for compute instance | |
flavor: | |
type: string | |
default: dc1.1x1.20 | |
constraints: | |
- allowed_values: | |
- dc1.1x1.20 | |
- dc1.1x2.20 | |
description: Must be a valid DataCentred Compute Cloud flavour | |
image: | |
type: string | |
default: 6c3047c6-17b1-4aaf-a657-9229bb481e50 | |
description: Image ID | |
networks: | |
type: string | |
description: Network IDs for which the instances should have an interface attached | |
default: 6d4e94ab-e397-4d10-866e-94e7d3b6efb9 | |
subnet: | |
type: string | |
description: ID for the subnet in which we want to create our loadbalancer | |
default: 31d38e20-05c1-4b5a-b510-49b7bc80edbf | |
user_data: | |
type: string | |
default: | | |
#cloud-config | |
packages: | |
- nginx | |
name: | |
type: string | |
description: Name of instances | |
default: webserver | |
resources: | |
webserver0: | |
type: OS::Nova::Server | |
properties: | |
key_name: { get_param: key_name } | |
flavor: { get_param: flavor } | |
image: { get_param: image } | |
networks: [{ network: { get_param: networks } }] | |
user_data: { get_param: user_data } | |
user_data_format: RAW | |
webserver1: | |
type: OS::Nova::Server | |
properties: | |
key_name: { get_param: key_name } | |
flavor: { get_param: flavor } | |
image: { get_param: image } | |
networks: [{ network: { get_param: networks } }] | |
user_data: { get_param: user_data } | |
user_data_format: RAW | |
lb_pool: | |
type: OS::Neutron::Pool | |
properties: | |
protocol: HTTP | |
subnet_id: { get_param: subnet } | |
lb_method: ROUND_ROBIN | |
vip: | |
protocol_port: 80 | |
lb_members: | |
type: OS::Neutron::LoadBalancer | |
properties: | |
pool_id: { get_resource: lb_pool } | |
members: [ { get_resource: webserver0 }, { get_resource: webserver1 } ] | |
protocol_port: 80 | |
outputs: | |
vip_ip: | |
description: IP of VIP | |
value: { get_attr: [ lb_pool, vip, address ] } |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment