Merge "Support multiple meter dispatchers in ceilometer config"
[apex-tripleo-heat-templates.git] / puppet / services / ceph-external.yaml
1 heat_template_version: 2016-10-14
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   GlanceBackend:
31     default: swift
32     description: The short name of the Glance backend to use. Should be one
33       of swift, rbd, or file
34     type: string
35     constraints:
36     - allowed_values: ['swift', 'file', 'rbd']
37   GnocchiRbdPoolName:
38     default: metrics
39     type: string
40   NovaEnableRbdBackend:
41     default: false
42     description: Whether to enable or not the Rbd backend for Nova
43     type: boolean
44   NovaRbdPoolName:
45     default: vms
46     type: string
47   ServiceNetMap:
48     default: {}
49     description: Mapping of service_name -> network name. Typically set
50                  via parameter_defaults in the resource registry.  This
51                  mapping overrides those in ServiceNetMapDefaults.
52     type: json
53   DefaultPasswords:
54     default: {}
55     type: json
56   EndpointMap:
57     default: {}
58     description: Mapping of service endpoint -> protocol. Typically set
59                  via parameter_defaults in the resource registry.
60     type: json
61   MonitoringSubscriptionCephExternal:
62     default: 'overcloud-ceph-external'
63     type: string
64
65 conditions:
66   glance_multiple_locations:
67     and:
68     - equals:
69       - get_param: GlanceBackend
70       - rbd
71     - equals:
72       - get_param: NovaEnableRbdBackend
73       - true
74
75 outputs:
76   role_data:
77     description: Role data for the Ceph External service.
78     value:
79       service_name: ceph_external
80       monitoring_subscription: {get_param: MonitoringSubscriptionCephExternal}
81       config_settings:
82         tripleo::profile::base::ceph::ceph_mon_host: {get_param: CephExternalMonHost}
83         ceph::profile::params::fsid: {get_param: CephClusterFSID}
84         ceph::profile::params::client_keys:
85           str_replace:
86             template: "{
87               client.CLIENT_USER: {
88                 secret: 'CLIENT_KEY',
89                 mode: '0644',
90                 cap_mon: 'allow r',
91                 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'
92               }
93             }"
94             params:
95               CLIENT_USER: {get_param: CephClientUserName}
96               CLIENT_KEY: {get_param: CephClientKey}
97               NOVA_POOL: {get_param: NovaRbdPoolName}
98               CINDER_POOL: {get_param: CinderRbdPoolName}
99               CINDERBACKUP_POOL: {get_param: CinderBackupRbdPoolName}
100               GLANCE_POOL: {get_param: GlanceRbdPoolName}
101               GNOCCHI_POOL: {get_param: GnocchiRbdPoolName}
102         ceph::profile::params::manage_repo: false
103         # FIXME(gfidente): we should not have to list the packages explicitly in
104         # the templates, but this should stay until the following is fixed:
105         # https://bugs.launchpad.net/puppet-ceph/+bug/1629933
106         ceph::params::packages:
107           - ceph-base
108           - ceph-mon
109           - ceph-osd
110       service_config_settings:
111         glance_api:
112           glance::api::show_multiple_locations: {if: [glance_multiple_locations, true, false]}
113       step_config: |
114         include ::tripleo::profile::base::ceph::client