blob: f750a9862814ee9581f84f9f6be734b8ecd0f2c9 [file] [log] [blame]
Mark Vanderwiel2e923a72015-10-19 16:12:05 -05001heat_template_version: 2015-10-15
2
3description: |
4 App server that is a member of Neutron Pool.
5
6parameters:
7
8 image:
9 type: string
10
11 flavor:
12 type: string
13
14 net:
15 type: string
16
17 sec_group:
18 type: string
19
20 pool:
21 type: string
22
23 app_port:
24 type: number
25
26 timeout:
27 type: number
28
29 subnet:
30 type: string
31
32resources:
33
34 config:
35 type: OS::Test::WebAppConfig
36 properties:
37 app_port: { get_param: app_port }
38 wc_curl_cli: { get_attr: [ handle, curl_cli ] }
39
40 server:
41 type: OS::Nova::Server
42 properties:
43 image: { get_param: image }
44 flavor: { get_param: flavor }
45 networks:
46 - network: { get_param: net }
47 security_groups:
48 - { get_param: sec_group }
49 user_data_format: RAW
50 user_data: { get_resource: config }
51
52 handle:
53 type: OS::Heat::WaitConditionHandle
54
55 waiter:
56 type: OS::Heat::WaitCondition
57 depends_on: server
58 properties:
59 timeout: { get_param: timeout }
60 handle: { get_resource: handle }
61
62 pool_member:
63 type: OS::Neutron::LBaaS::PoolMember
64 depends_on: waiter
65 properties:
66 address: { get_attr: [ server, networks, { get_param: net }, 0 ] }
67 pool: { get_param: pool }
68 protocol_port: { get_param: app_port }
69 subnet: { get_param: subnet }