Add Cinder services as Pacemaker resources
[apex-tripleo-heat-templates.git] / puppet / ceph-cluster-config.yaml
1 heat_template_version: 2014-10-16
2 description: 'Ceph Cluster config data for Puppet'
3
4 parameters:
5   ceph_fsid:
6     default: ''
7     type: string
8   ceph_admin_key:
9     default: ''
10     type: string
11   ceph_mon_key:
12     default: ''
13     type: string
14   ceph_mon_names:
15     type: comma_delimited_list
16   ceph_mon_ips:
17     type: comma_delimited_list
18
19 resources:
20   CephClusterConfigImpl:
21     type: OS::Heat::StructuredConfig
22     properties:
23       group: os-apply-config
24       config:
25         hiera:
26           datafiles:
27             ceph_cluster:
28               mapped_data:
29                 ceph_mon_initial_members:
30                   list_join:
31                   - ','
32                   - {get_param: ceph_mon_names}
33                 ceph::profile::params::mon_host:
34                   list_join:
35                   - ','
36                   - {get_param: ceph_mon_ips}
37                 ceph::profile::params::fsid: {get_param: ceph_fsid}
38                 ceph::profile::params::mon_key: {get_param: ceph_mon_key}
39                 # We should use a separated key for the non-admin clients
40                 ceph::profile::params::client_keys:
41                   str_replace:
42                     template: "{
43                       client.admin: {
44                         secret: 'ADMIN_KEY',
45                         mode: '0600',
46                         cap_mon: 'allow *',
47                         cap_osd: 'allow *',
48                         cap_mds: 'allow *'
49                       },
50                       client.bootstrap-osd: {
51                         secret: 'ADMIN_KEY',
52                         keyring_path: '/var/lib/ceph/bootstrap-osd/ceph.keyring',
53                         cap_mon: 'allow profile bootstrap-osd'
54                       },
55                       client.openstack: {
56                         secret: 'ADMIN_KEY',
57                         mode: '0644',
58                         cap_mon: 'allow r',
59                         cap_osd: 'allow class-read object_prefix rbd_children, allow rwx pool=volumes, allow rwx pool=vms, allow rwx pool=images'
60                       }
61                     }"
62                     params:
63                       ADMIN_KEY: {get_param: ceph_admin_key}
64
65 outputs:
66   config_id:
67     description: The ID of the CephClusterConfigImpl resource.
68     value:
69       {get_resource: CephClusterConfigImpl}