1 heat_template_version: 2013-05-23
4 Simple template to deploy a basic GlusterFS environment with 2 bricks and 2 clients
9 description: Base name for the GlusterFS servers
11 default: rtb-gluster-server
14 description: Base name for the GlusterFS clients
16 default: rtb-gluster-client
20 description: Server image id to use
21 default: Ubuntu 12.04 LTS (Precise Pangolin)
24 - Ubuntu 10.04 LTS (Lucid Lynx)
25 - Ubuntu 12.04 LTS (Precise Pangolin)
26 - Ubuntu 12.10 (Quantal Quetzal)
27 - Ubuntu 13.04 (Raring Ringtail)
28 description: must be a valid Ubuntu image id
32 description: Size of the volume to be created.
38 description: must be between 100 and 1024 GB.
41 description: Server flavor id to use
43 default: 8 GB Performance
46 - 2GB Standard Instance
47 - 4GB Standard Instance
48 - 8GB Standard Instance
49 - 15GB Standard Instance
50 - 30GB Standard Instance
59 description: must be a valid Rackspace Cloud Server flavor.
62 description: Client flavor id to use
64 default: 4 GB Performance
67 - 2GB Standard Instance
68 - 4GB Standard Instance
69 - 8GB Standard Instance
70 - 15GB Standard Instance
71 - 30GB Standard Instance
80 description: must be a valid Rackspace Cloud Server flavor.
86 type: OS::Heat::ResourceGroup
90 type: OS::Cinder::Volume
92 size: { get_param: volume_size }
95 type: OS::Heat::ResourceGroup
99 type: Rackspace::Cloud::Server
101 image: { get_param: image }
102 flavor: { get_param: glusterserver_flavor }
105 apt-get install -y build-essential
107 volume_attachment_server1_brick1:
108 type: OS::Cinder::VolumeAttachment
110 volume_id: { get_attr: [ gluster_bricks, resource.0 ] }
111 instance_uuid: { get_attr: [ gluster_servers, resource.0 ] }
112 mountpoint: /dev/xvdc
114 volume_attachment_server2_brick2:
115 type: OS::Cinder::VolumeAttachment
117 volume_id: { get_attr: [ gluster_bricks, resource.1 ] }
118 instance_uuid: { get_attr: [ gluster_servers, resource.1 ] }
119 mountpoint: /dev/xvdc
122 type: OS::Heat::ResourceGroup
126 type: Rackspace::Cloud::Server
128 image: { get_param: image }
129 flavor: { get_param: glusterclient_flavor }
132 apt-get install -y build-essential
137 value: { get_attr: [ gluster_servers, refs ] }
138 description: server id's of the gluster servers
141 value: { get_attr: [ gluster_clients, refs ] }
142 description: server id's of the gluster clients
145 value: { get_attr: [ gluster_bricks, refs ] }
146 description: volume id's of the gluster bricks
151 template: ssh root@%host%
156 - resource.0.PublicIp
157 description: ssh to gluster server 0
162 template: ssh root@%host%
167 - resource.1.PublicIp
168 description: ssh to gluster server 1
173 template: ssh root@%host%
178 - resource.0.PublicIp
179 description: ssh to gluster client 0
184 template: ssh root@%host%
189 - resource.1.PublicIp
190 description: ssh to gluster client 1