1 heat_template_version: 2014-10-16
2 description: 'OpenStack ceph storage node configured by Puppet'
5 description: Flavor for the Ceph Storage node.
8 - custom_constraint: nova.flavor
11 default: overcloud-ceph-storage
13 - custom_constraint: glance.image
15 default: 'REBUILD_PRESERVE_EPHEMERAL'
16 description: What policy to use when reconstructing instances. REBUILD for rebuilds, REBUILD_PRESERVE_EPHEMERAL to preserve /mnt.
19 description: Name of an existing EC2 KeyPair to enable SSH access to the instances
23 - custom_constraint: nova.keypair
29 description: Set to true to enable package installation via Puppet
34 type: OS::Nova::Server
36 image: {get_param: Image}
37 image_update_policy: {get_param: ImageUpdatePolicy}
38 flavor: {get_param: Flavor}
39 key_name: {get_param: KeyName}
42 user_data_format: SOFTWARE_CONFIG
43 CephStorageDeployment:
44 type: OS::Heat::StructuredDeployment
46 config: {get_resource: CephStorageConfig}
47 server: {get_resource: CephStorage}
51 template: '["server"]'
53 server: {get_param: NtpServer}
54 enable_package_install: {get_param: EnablePackageInstall}
56 type: OS::Heat::StructuredConfig
58 group: os-apply-config
62 - heat_config_%{::deploy_config_name}
64 - ceph_cluster # provided by CephClusterConfig
70 raw_data: {get_file: hieradata/common.yaml}
72 raw_data: {get_file: hieradata/ceph.yaml}
75 ntp::servers: {get_input: ntp_servers}
76 enable_package_install: {get_input: enable_package_install}
82 template: "IP HOST HOST.novalocal"
84 IP: {get_attr: [CephStorage, networks, ctlplane, 0]}
85 HOST: {get_attr: [CephStorage, name]}
87 description: Heat resource handle for the ceph storage server
89 {get_resource: CephStorage}