Merge "Use create-legacy-resource-types during gnocchi-upgrade"
[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       config_settings:
61         tripleo::profile::base::ceph::ceph_ipv6: {get_param: CephIPv6}
62         tripleo::profile::base::ceph::enable_ceph_storage: {get_param: ControllerEnableCephStorage}
63         ceph::profile::params::fsid: {get_param: CephClusterFSID}
64         ceph::profile::params::client_keys:
65           str_replace:
66             template: "{
67               client.admin: {
68                 secret: 'ADMIN_KEY',
69                 mode: '0600',
70                 cap_mon: 'allow *',
71                 cap_osd: 'allow *',
72                 cap_mds: 'allow *'
73               },
74               client.bootstrap-osd: {
75                 secret: 'ADMIN_KEY',
76                 keyring_path: '/var/lib/ceph/bootstrap-osd/ceph.keyring',
77                 cap_mon: 'allow profile bootstrap-osd'
78               },
79               client.CLIENT_USER: {
80                 secret: 'CLIENT_KEY',
81                 mode: '0644',
82                 cap_mon: 'allow r',
83                 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'
84               }
85             }"
86             params:
87               CLIENT_USER: {get_param: CephClientUserName}
88               CLIENT_KEY: {get_param: CephClientKey}
89               ADMIN_KEY: {get_param: CephAdminKey}
90               NOVA_POOL: {get_param: NovaRbdPoolName}
91               CINDER_POOL: {get_param: CinderRbdPoolName}
92               CINDERBACKUP_POOL: {get_param: CinderBackupRbdPoolName}
93               GLANCE_POOL: {get_param: GlanceRbdPoolName}
94               GNOCCHI_POOL: {get_param: GnocchiRbdPoolName}