heat_template_version: 2013-05-23 description: 'Common Ceph Storage Configuration' parameters: CephStorageImage: type: string default: overcloud-ceph-storage OvercloudCephStorageFlavor: default: baremetal description: Flavor for Ceph storage nodes to request when deploying. type: string CephClusterFSID: default: '' type: string description: The Ceph cluster FSID. CephMonKey: default: '' description: The Ceph monitors key. type: string CephAdminKey: default: '' description: The Ceph admin client key. type: string resources: CephStorage0: type: OS::Nova::Server properties: image: {get_param: CephStorageImage} flavor: {get_param: OvercloudCephStorageFlavor} key_name: {get_param: KeyName} user_data_format: SOFTWARE_CONFIG CephStorage0AllNodesDeployment: depends_on: [CephStorage0Deployment,controller0CephDeployment] type: OS::Heat::StructuredDeployment properties: server: {get_resource: CephStorage0} config: {get_resource: allNodesConfig} signal_transport: {get_param: DefaultSignalTransport} CephStorage0Deployment: type: OS::Heat::StructuredDeployment properties: server: {get_resource: CephStorage0} config: {get_resource: CephStorage0Config} signal_transport: NO_SIGNAL CephStorage0Config: type: OS::Heat::StructuredConfig properties: group: os-apply-config config: ceph: fsid: {get_param: CephClusterFSID} keyrings: admin: key: {get_param: CephAdminKey} mon_nodes: Merge::Map: controller0: ip: {get_attr: [controller0, networks, ctlplane, 0]} name: {get_attr: [controller0, name]} controller0CephDeployment: type: OS::Heat::StructuredDeployment properties: server: {get_resource: controller0} config: {get_resource: controller0CephConfig} signal_transport: NO_SIGNAL controller0CephConfig: type: OS::Heat::StructuredConfig properties: group: os-apply-config config: cinder: include_ceph_backend: true ceph: fsid: {get_param: CephClusterFSID} keyrings: mon: key: {get_param: CephMonKey} admin: key: {get_param: CephAdminKey} mon_nodes: Merge::Map: controller0: ip: {get_attr: [controller0, networks, ctlplane, 0]} name: {get_attr: [controller0, name]} NovaCompute0CephDeployment: depends_on: [controller0CephDeployment] type: OS::Heat::StructuredDeployment properties: server: {get_resource: NovaCompute0} config: {get_resource: NovaCompute0CephConfig} signal_transport: NO_SIGNAL NovaCompute0CephConfig: type: OS::Heat::StructuredConfig properties: group: os-apply-config config: ceph: fsid: {get_param: CephClusterFSID} keyrings: admin: key: {get_param: CephAdminKey} mon_nodes: Merge::Map: controller0: ip: {get_attr: [controller0, networks, ctlplane, 0]} name: {get_attr: [controller0, name]}