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