76f649b0f93c3cca0a7cc8e80dbbfe7e76b1e7e0
[apex-tripleo-heat-templates.git] / puppet / services / ceph-base.yaml
1 heat_template_version: 2016-04-08
2
3 description: >
4   Ceph base service. Shared by all Ceph services.
5
6 parameters:
7   CephAdminKey:
8     default: ''
9     description: The Ceph admin client key. Can be created with ceph-authtool --gen-print-key.
10     type: string
11     hidden: true
12   CephClientKey:
13     default: ''
14     description: The Ceph client key. Can be created with ceph-authtool --gen-print-key. Currently only used for external Ceph deployments to create the openstack user keyring.
15     type: string
16     hidden: true
17   CephClientUserName:
18     default: openstack
19     type: string
20   CephClusterFSID:
21     default: ''
22     type: string
23     description: The Ceph cluster FSID. Must be a UUID.
24   CephIPv6:
25     default: False
26     type: boolean
27   CinderRbdPoolName:
28     default: volumes
29     type: string
30   CinderBackupRbdPoolName:
31     default: backups
32     type: string
33   GlanceRbdPoolName:
34     default: images
35     type: string
36   GnocchiRbdPoolName:
37     default: metrics
38     type: string
39   NovaRbdPoolName:
40     default: vms
41     type: string
42   # DEPRECATED options for compatibility with overcloud.yaml
43   # This should be removed and manipulation of the ControllerServices list
44   # used instead, but we need client support for that first
45   ControllerEnableCephStorage:
46     default: false
47     description: Whether to deploy Ceph Storage (OSD) on the Controller
48     type: boolean
49
50 parameter_groups:
51 - label: deprecated
52   description: Do not use deprecated params, they will be removed.
53   parameters:
54   - ControllerEnableCephStorage
55
56 outputs:
57   role_data:
58     description: Role data for the Ceph base service.
59     value:
60       service_name: ceph-base
61       config_settings:
62         tripleo::profile::base::ceph::ceph_ipv6: {get_param: CephIPv6}
63         tripleo::profile::base::ceph::enable_ceph_storage: {get_param: ControllerEnableCephStorage}
64         ceph::profile::params::fsid: {get_param: CephClusterFSID}
65         ceph::profile::params::client_keys:
66           str_replace:
67             template: "{
68               client.admin: {
69                 secret: 'ADMIN_KEY',
70                 mode: '0600',
71                 cap_mon: 'allow *',
72                 cap_osd: 'allow *',
73                 cap_mds: 'allow *'
74               },
75               client.bootstrap-osd: {
76                 secret: 'ADMIN_KEY',
77                 keyring_path: '/var/lib/ceph/bootstrap-osd/ceph.keyring',
78                 cap_mon: 'allow profile bootstrap-osd'
79               },
80               client.CLIENT_USER: {
81                 secret: 'CLIENT_KEY',
82                 mode: '0644',
83                 cap_mon: 'allow r',
84                 cap_osd: 'allow class-read object_prefix rbd_children, allow rwx pool=CINDER_POOL, allow rwx pool=CINDERBACKUP_POOL, allow rwx pool=NOVA_POOL, allow rwx pool=GLANCE_POOL, allow rwx pool=GNOCCHI_POOL'
85               }
86             }"
87             params:
88               CLIENT_USER: {get_param: CephClientUserName}
89               CLIENT_KEY: {get_param: CephClientKey}
90               ADMIN_KEY: {get_param: CephAdminKey}
91               NOVA_POOL: {get_param: NovaRbdPoolName}
92               CINDER_POOL: {get_param: CinderRbdPoolName}
93               CINDERBACKUP_POOL: {get_param: CinderBackupRbdPoolName}
94               GLANCE_POOL: {get_param: GlanceRbdPoolName}
95               GNOCCHI_POOL: {get_param: GnocchiRbdPoolName}