So, a customer reached out to us today concerning ways to use HEAT to build CBS
blk_server:
type: "Rackspace::Cloud::Server"
properties:
flavor: 15 GB Memory v1
image: { get_param: image }
name: "blk"
user_data:
...
The problem is using this format they get an error
ERROR: Image Ubuntu 14.04 LTS (Trusty Tahr) (PVHVM) requires 20 GB minimum disk space. Flavor 15 GB Memory v1 has only 0 GB.
This is happening because memory flavor doesn’t use the hypervisor instance store, and instead is using Cloud Block Storage, hence ‘0GB’.
Thanks to my friend Aaron I have dug out the documentation for building CBS boot from volume server flavors. Here is how it would be done.
parameters:
nodesize:
type: number
label: Nodes Disk Size
description: Size of the each Nodes primary disk.
default: 50
constraints:
- range: { min: 50, max: 1024 }
description: must be between 50 and 1024 Gb.
nodeimage:
label: Operating system
description: |
Server image. Defaults to 'CentOS 6 (PVHVM)'.
type: string
default: CentOS 7 (PVHVM)
constraints:
- allowed_values:
- CentOS 7 (PVHVM)
- Red Hat Enterprise Linux 7 (PVHVM)
description: Must be a supported operating system.
elk_server:
type: "Rackspace::Cloud::Server"
properties:
flavor: 15 GB Memory v1
block_device_mapping: [{ device_name: "vda", volume_id : { get_resource : cinder_volume }, delete_on_termination : "true" }]
name: "elk"
user_data:
cinder_volume:
type: OS::Cinder::Volume
properties:
size: { get_param: nodesize }
image: { get_param: nodeimage }