5014a6f55a18939290d593d5e6bb837f7938d485
[apex-tripleo-heat-templates.git] / puppet / services / ceph-external.yaml
1 heat_template_version: 2016-04-08
2
3 description: >
4   Ceph External service.
5
6 parameters:
7   CephClientKey:
8     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.
9     type: string
10     hidden: true
11   CephClientUserName:
12     default: openstack
13     type: string
14   CephClusterFSID:
15     type: string
16     description: The Ceph cluster FSID. Must be a UUID.
17   CephExternalMonHost:
18     default: ''
19     type: string
20     description: List of externally managed Ceph Mon Host IPs. Only used for external Ceph deployments.
21   CinderRbdPoolName:
22     default: volumes
23     type: string
24   CinderBackupRbdPoolName:
25     default: backups
26     type: string
27   GlanceRbdPoolName:
28     default: images
29     type: string
30   GnocchiRbdPoolName:
31     default: metrics
32     type: string
33   NovaRbdPoolName:
34     default: vms
35     type: string
36   ServiceNetMap:
37     default: {}
38     description: Mapping of service_name -> network name. Typically set
39                  via parameter_defaults in the resource registry.  This
40                  mapping overrides those in ServiceNetMapDefaults.
41     type: json
42   EndpointMap:
43     default: {}
44     description: Mapping of service endpoint -> protocol. Typically set
45                  via parameter_defaults in the resource registry.
46     type: json
47
48 outputs:
49   role_data:
50     description: Role data for the Ceph External service.
51     value:
52       service_name: ceph_external
53       config_settings:
54         tripleo::profile::base::ceph::ceph_mon_host: {get_param: CephExternalMonHost}
55         ceph::profile::params::fsid: {get_param: CephClusterFSID}
56         ceph::profile::params::client_keys:
57           str_replace:
58             template: "{
59               client.CLIENT_USER: {
60                 secret: 'CLIENT_KEY',
61                 mode: '0644',
62                 cap_mon: 'allow r',
63                 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'
64               }
65             }"
66             params:
67               CLIENT_USER: {get_param: CephClientUserName}
68               CLIENT_KEY: {get_param: CephClientKey}
69               NOVA_POOL: {get_param: NovaRbdPoolName}
70               CINDER_POOL: {get_param: CinderRbdPoolName}
71               CINDERBACKUP_POOL: {get_param: CinderBackupRbdPoolName}
72               GLANCE_POOL: {get_param: GlanceRbdPoolName}
73               GNOCCHI_POOL: {get_param: GnocchiRbdPoolName}
74       step_config: |
75         include ::tripleo::profile::base::ceph::client