7883e04450a4f956f6d729ec8970f6d750a93010
[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   ServiceNetMap:
40     default: {}
41     description: Mapping of service_name -> network name. Typically set
42                  via parameter_defaults in the resource registry.  This
43                  mapping overrides those in ServiceNetMapDefaults.
44     type: json
45   EndpointMap:
46     default: {}
47     description: Mapping of service endpoint -> protocol. Typically set
48                  via parameter_defaults in the resource registry.
49     type: json
50   # DEPRECATED options for compatibility with overcloud.yaml
51   # This should be removed and manipulation of the ControllerServices list
52   # used instead, but we need client support for that first
53   ControllerEnableCephStorage:
54     default: false
55     description: Whether to deploy Ceph Storage (OSD) on the Controller
56     type: boolean
57
58 parameter_groups:
59 - label: deprecated
60   description: Do not use deprecated params, they will be removed.
61   parameters:
62   - ControllerEnableCephStorage
63
64 outputs:
65   role_data:
66     description: Role data for the Ceph base service.
67     value:
68       service_name: ceph_base
69       config_settings:
70         tripleo::profile::base::ceph::ceph_ipv6: {get_param: CephIPv6}
71         tripleo::profile::base::ceph::enable_ceph_storage: {get_param: ControllerEnableCephStorage}
72         ceph::profile::params::osd_pool_default_min_size: 1
73         ceph::profile::params::osds: {/srv/data: {}}
74         ceph::profile::params::manage_repo: false
75         ceph::profile::params::authentication_type: cephx
76         ceph::profile::params::fsid: {get_param: CephClusterFSID}
77         ceph::profile::params::client_keys:
78           str_replace:
79             template: "{
80               client.admin: {
81                 secret: 'ADMIN_KEY',
82                 mode: '0600',
83                 cap_mon: 'allow *',
84                 cap_osd: 'allow *',
85                 cap_mds: 'allow *'
86               },
87               client.bootstrap-osd: {
88                 secret: 'ADMIN_KEY',
89                 keyring_path: '/var/lib/ceph/bootstrap-osd/ceph.keyring',
90                 cap_mon: 'allow profile bootstrap-osd'
91               },
92               client.CLIENT_USER: {
93                 secret: 'CLIENT_KEY',
94                 mode: '0644',
95                 cap_mon: 'allow r',
96                 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'
97               }
98             }"
99             params:
100               CLIENT_USER: {get_param: CephClientUserName}
101               CLIENT_KEY: {get_param: CephClientKey}
102               ADMIN_KEY: {get_param: CephAdminKey}
103               NOVA_POOL: {get_param: NovaRbdPoolName}
104               CINDER_POOL: {get_param: CinderRbdPoolName}
105               CINDERBACKUP_POOL: {get_param: CinderBackupRbdPoolName}
106               GLANCE_POOL: {get_param: GlanceRbdPoolName}
107               GNOCCHI_POOL: {get_param: GnocchiRbdPoolName}