Parameter to enable/disable controller swift store
[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                 ceph::profile::params::osds: "{/srv/data: {}}"
40                 # We should use a separated key for the non-admin clients
41                 ceph::profile::params::client_keys:
42                   str_replace:
43                     template: "{
44                       client.admin: {
45                         secret: 'ADMIN_KEY',
46                         mode: '0600',
47                         cap_mon: 'allow *',
48                         cap_osd: 'allow *',
49                         cap_mds: 'allow *'
50                       },
51                       client.bootstrap-osd: {
52                         secret: 'ADMIN_KEY',
53                         keyring_path: '/var/lib/ceph/bootstrap-osd/ceph.keyring',
54                         cap_mon: 'allow profile bootstrap-osd'
55                       },
56                       client.openstack: {
57                         secret: 'ADMIN_KEY',
58                         mode: '0644',
59                         cap_mon: 'allow r',
60                         cap_osd: 'allow class-read object_prefix rbd_children, allow rwx pool=volumes, allow rwx pool=vms'
61                       }
62                     }"
63                     params:
64                       ADMIN_KEY: {get_param: ceph_admin_key}
65
66 outputs:
67   config_id:
68     description: The ID of the CephClusterConfigImpl resource.
69     value:
70       {get_resource: CephClusterConfigImpl}