tripleo-heat-templates/ceph-cluster-config.yaml
Dan Prince bc9368fd91 Support for using external Ceph clusters
This patch adds support for using an externally managed Ceph
cluster with the TripleO Heat templates.

For an externally managed Ceph cluster we initially
only deploy the Ceph client tools, install the 'openstack' user
keyring, and generate the ceph.conf. This matches what we do
for managed Ceph installations and is a good first start.
No other Ceph related services are installed or managed.

To enable use of a Ceph external cluster simply add
the custom Heat environment file environments/puppet-ceph-external.yaml
to your heat stack create/update command and make sure to
set the required CephClientKey, CephExternalMonHost, and CephClusterFSID
variables.

Change-Id: I0a8b213ce9dfa2fc4e62ae1e7631466e5179fc2b
2015-08-13 16:19:04 +02:00

58 lines
1.5 KiB
YAML

heat_template_version: 2015-04-30
description: 'Ceph Cluster config data'
parameters:
ceph_storage_count:
default: 0
type: number
description: Number of Ceph storage nodes. Used to enable/disable managed Ceph installation.
ceph_external_mon_ips:
default: ''
type: string
description: List of external Ceph Mon host IPs.
ceph_client_key:
default: ''
type: string
description: Ceph key used to create the 'openstack' user keyring.
ceph_fsid:
default: ''
type: string
ceph_admin_key:
default: ''
type: string
ceph_mon_key:
default: ''
type: string
ceph_mon_names:
type: comma_delimited_list
ceph_mon_ips:
type: comma_delimited_list
resources:
CephClusterConfigImpl:
type: OS::Heat::StructuredConfig
properties:
group: os-apply-config
config:
ceph_cluster:
mon_initial_members:
list_join:
- ','
- {get_param: ceph_mon_names}
mon_host:
list_join:
- ','
- {get_param: ceph_mon_ips}
fsid: {get_param: ceph_fsid}
admin_key: {get_param: ceph_admin_key}
mon_key: {get_param: ceph_mon_key}
# We would need a dedicated key for OSD bootstrap
bootstrap_osd_key: {get_param: ceph_mon_key}
osds: '{"/srv/data": {}}'
outputs:
config_id:
description: The ID of the CephClusterConfigImpl resource.
value:
{get_resource: CephClusterConfigImpl}