blob: d615a8da822f6f5e39c011f834131af15ba26076 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
|
heat_template_version: 2013-05-23
description: >
TOSCA simple profile with a single Block Storage node shared by 2-Tier
Application with custom AttachesTo Type and explicit Relationship Templates.
parameters:
cpus:
type: number
description: Number of CPUs for the server.
default: 1
constraints:
- allowed_values:
- 1
- 2
- 4
- 8
storage_location:
type: string
description: Block storage mount point (filesystem path).
default: /dev/vdc
storage_size:
type: number
description: Size of the storage to be created.
default: 1
storage_snapshot_id:
type: string
description: Optional identifier for an existing snapshot to use when creating storage.
default: ssid
resources:
my_storage:
type: OS::Cinder::Volume
properties:
size:
get_param: storage_size
snapshot_id:
get_param: storage_snapshot_id
my_web_app_tier_1:
type: OS::Nova::Server
properties:
flavor: m1.small
image: fedora-amd64-heat-config
user_data_format: SOFTWARE_CONFIG
software_config_transport: POLL_SERVER_HEAT
depends_on:
- my_storage
storage_attachesto_1_2:
type: OS::Cinder::VolumeAttachment
properties:
instance_uuid:
get_resource: my_web_app_tier_1
mountpoint: /my_data_location
volume_id:
get_resource: my_storage
my_web_app_tier_2:
type: OS::Nova::Server
properties:
flavor: m1.small
image: fedora-amd64-heat-config
user_data_format: SOFTWARE_CONFIG
software_config_transport: POLL_SERVER_HEAT
depends_on:
- my_storage
storage_attachesto_2_1:
type: OS::Cinder::VolumeAttachment
properties:
instance_uuid:
get_resource: my_web_app_tier_2
mountpoint: /some_other_data_location
volume_id:
get_resource: my_storage
outputs:
private_ip_1:
description: The private IP address of the applications first tier.
value:
get_attr:
- my_web_app_tier_1
- first_address
private_ip_2:
description: The private IP address of the applications second tier.
value:
get_attr:
- my_web_app_tier_2
- first_address
volume_id:
description: The volume id of the block storage instance.
value:
get_resource: my_storage
|