Merge "Move per-role *SchedulerHints parameters into role templates"
[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::osd_pool_default_pg_num: 32
62         ceph::profile::params::osd_pool_default_pgp_num: 32
63         ceph::profile::params::osd_pool_default_size: 3
64         ceph::profile::params::osd_pool_default_min_size: 1
65         ceph::profile::params::osds: {/srv/data: {}}
66         ceph::profile::params::manage_repo: false
67         ceph::profile::params::authentication_type: cephx
68         ceph::profile::params::fsid: {get_param: CephClusterFSID}
69         ceph::profile::params::client_keys:
70           str_replace:
71             template: "{
72               client.admin: {
73                 secret: 'ADMIN_KEY',
74                 mode: '0600',
75                 cap_mon: 'allow *',
76                 cap_osd: 'allow *',
77                 cap_mds: 'allow *'
78               },
79               client.bootstrap-osd: {
80                 secret: 'ADMIN_KEY',
81                 keyring_path: '/var/lib/ceph/bootstrap-osd/ceph.keyring',
82                 cap_mon: 'allow profile bootstrap-osd'
83               },
84               client.CLIENT_USER: {
85                 secret: 'CLIENT_KEY',
86                 mode: '0644',
87                 cap_mon: 'allow r',
88                 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'
89               }
90             }"
91             params:
92               CLIENT_USER: {get_param: CephClientUserName}
93               CLIENT_KEY: {get_param: CephClientKey}
94               ADMIN_KEY: {get_param: CephAdminKey}
95               NOVA_POOL: {get_param: NovaRbdPoolName}
96               CINDER_POOL: {get_param: CinderRbdPoolName}
97               CINDERBACKUP_POOL: {get_param: CinderBackupRbdPoolName}
98               GLANCE_POOL: {get_param: GlanceRbdPoolName}
99               GNOCCHI_POOL: {get_param: GnocchiRbdPoolName}