bc9368fd91
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
58 lines
1.5 KiB
YAML
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}
|