blob: 9cbf82ab653d7c37e80dc348aca343cf21abc874 [file] [log] [blame]
Pavlo Shchelokovskyy9ede1852015-03-19 17:54:52 +00001heat_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_id:
21 type: string
22
23 app_port:
24 type: number
25
26 timeout:
27 type: number
28
29resources:
30
31 config:
32 type: OS::Test::WebAppConfig
33 properties:
34 app_port: { get_param: app_port }
35 wc_curl_cli: { get_attr: [ handle, curl_cli ] }
36
37 server:
38 type: OS::Nova::Server
39 properties:
40 image: { get_param: image }
41 flavor: { get_param: flavor }
42 networks:
43 - network: { get_param: net }
44 security_groups:
45 - { get_param: sec_group }
46 user_data_format: RAW
47 user_data: { get_resource: config }
48
49 handle:
50 type: OS::Heat::WaitConditionHandle
51
52 waiter:
53 type: OS::Heat::WaitCondition
54 depends_on: server
55 properties:
56 timeout: { get_param: timeout }
57 handle: { get_resource: handle }
58
59 pool_member:
60 type: OS::Neutron::PoolMember
61 depends_on: waiter
62 properties:
63 address: { get_attr: [ server, networks, { get_param: net }, 0 ] }
64 pool_id: { get_param: pool_id }
65 protocol_port: { get_param: app_port }