Merge "Support for using external Ceph clusters"
[apex-tripleo-heat-templates.git] / puppet / extraconfig / ceph / ceph-external-config.yaml
1 heat_template_version: 2015-04-30
2 description: 'Configure parameters for an external Ceph cluster via Puppet.'
3
4 parameters:
5   ceph_storage_count:
6     default: 0
7     type: number
8     description: Number of Ceph storage nodes. Used to enable/disable managed Ceph installation.
9   ceph_external_mon_ips:
10     default: ''
11     type: string
12     description: List of external Ceph Mon host IPs.
13   ceph_client_key:
14     default: ''
15     type: string
16     description: Ceph key used to create the 'openstack' user keyring.
17   ceph_fsid:
18     default: ''
19     type: string
20   # The following parameters are unused for external Ceph clusters and
21   # are here and exist for compatibility
22   ceph_admin_key:
23     default: ''
24     type: string
25   ceph_mon_key:
26     default: ''
27     type: string
28   ceph_mon_names:
29     type: comma_delimited_list
30   ceph_mon_ips:
31     type: comma_delimited_list
32
33 resources:
34   CephClusterConfigImpl:
35     type: OS::Heat::StructuredConfig
36     properties:
37       group: os-apply-config
38       config:
39         hiera:
40           datafiles:
41             ceph_cluster:
42               mapped_data:
43                 ceph_storage_count: {get_param: ceph_storage_count}
44                 enable_external_ceph: true
45                 ceph::profile::params::mon_host: {get_param: ceph_external_mon_ips}
46                 ceph::profile::params::fsid: {get_param: ceph_fsid}
47                 ceph::profile::params::client_keys:
48                   str_replace:
49                     template: "{
50                       client.openstack: {
51                         secret: 'CLIENT_KEY',
52                         mode: '0644',
53                         cap_mon: 'allow r',
54                         cap_osd: 'allow class-read object_prefix rbd_children, allow rwx pool=volumes, allow rwx pool=vms, allow rwx pool=images'
55                       }
56                     }"
57                     params:
58                       CLIENT_KEY: {get_param: ceph_client_key}
59
60
61 outputs:
62   config_id:
63     description: The ID of the CephClusterConfigImpl resource.
64     value:
65       {get_resource: CephClusterConfigImpl}