aboutsummaryrefslogtreecommitdiffstats
path: root/ceph-storage.yaml
diff options
context:
space:
mode:
authorGiulio Fidente <gfidente@redhat.com>2014-11-24 16:55:22 -0500
committerGiulio Fidente <gfidente@redhat.com>2015-02-09 17:06:31 +0100
commit874e07dee16f75c1147da535a475c4435ed8ea9a (patch)
tree75acc4c6795e0fc1813eb2b6a5dbce89cbc40717 /ceph-storage.yaml
parentd5eee576cc2a53aaa0b8e9c5d7efe1b27c11dfa1 (diff)
Add Ceph related templates needed to configure Cinder with Ceph
The new ceph-source.yaml file provides the config settings needed by the elements which configure Ceph on controllers (monitors) and storage nodes (OSDs) as well as the Cinder backend which uses it. There is also a without-mergepy copy named ceph-storage.yaml Change-Id: I954861536c41b2a7e6cbd86a0f0b55004eed4c70
Diffstat (limited to 'ceph-storage.yaml')
-rw-r--r--ceph-storage.yaml105
1 files changed, 105 insertions, 0 deletions
diff --git a/ceph-storage.yaml b/ceph-storage.yaml
new file mode 100644
index 00000000..2f5104ba
--- /dev/null
+++ b/ceph-storage.yaml
@@ -0,0 +1,105 @@
+heat_template_version: 2014-10-16
+description: 'Common Ceph Storage Configuration'
+parameters:
+ Image:
+ type: string
+ default: overcloud-ceph-storage
+ KeyName:
+ default: default
+ description: Name of an existing EC2 KeyPair to enable SSH access to the instances
+ type: string
+ Flavor:
+ default: baremetal
+ description: Flavor for block 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
+ CephMonitors:
+ default: ''
+ description: The list of ip/names to use as Ceph monitors
+ type: string
+resources:
+ CephStorage:
+ type: OS::Nova::Server
+ properties:
+ image:
+ {get_param: Image}
+ flavor: {get_param: OvercloudCephStorageFlavor}
+ key_name: {get_param: KeyName}
+ user_data_format: SOFTWARE_CONFIG
+ networks:
+ - network: ctlplane
+ CephStorageDeployment:
+ type: OS::Heat::StructuredDeployment
+ properties:
+ server: {get_resource: CephStorage}
+ config: {get_resource: CephStorageConfig}
+ signal_transport: NO_SIGNAL
+ CephStorageConfig:
+ type: OS::Heat::StructuredConfig
+ properties:
+ group: os-apply-config
+ config:
+ ceph:
+ fsid: {get_param: CephClusterFSID}
+ keyrings:
+ admin:
+ key: {get_param: CephAdminKey}
+ mon_nodes: {get_param: CephMonitors}
+ ControllerCephDeployment:
+ type: OS::Heat::StructuredDeployment
+ properties:
+ server: {get_resource: Controller}
+ config: {get_resource: ControllerCephConfig}
+ signal_transport: NO_SIGNAL
+ ControllerCephConfig:
+ 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: {get_param: CephMonitors}
+ NovaComputeCephDeployment:
+ depends_on: [ControllerCephDeployment]
+ type: OS::Heat::StructuredDeployment
+ properties:
+ server: {get_resource: NovaCompute}
+ config: {get_resource: NovaComputeCephConfig}
+ signal_transport: NO_SIGNAL
+ NovaComputeCephConfig:
+ type: OS::Heat::StructuredConfig
+ properties:
+ group: os-apply-config
+ config:
+ ceph:
+ fsid: {get_param: CephClusterFSID}
+ keyrings:
+ admin:
+ key: {get_param: CephAdminKey}
+ mon_nodes: {get_param: CephMonitors}
+outputs:
+ hosts_entry:
+ value:
+ str_replace:
+ template: "IP HOST HOST.novalocal"
+ params:
+ IP: {get_attr: [CephStorage, networks, ctlplane, 0]}
+ HOST: {get_attr: [CephStorage, name]}