Merge "Enable Neutron LBaaS Integration"
[apex-tripleo-heat-templates.git] / puppet / services / ceph-external.yaml
1 heat_template_version: pike
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   ServiceData:
37     default: {}
38     description: Dictionary packing service data
39     type: json
40   ServiceNetMap:
41     default: {}
42     description: Mapping of service_name -> network name. Typically set
43                  via parameter_defaults in the resource registry.  This
44                  mapping overrides those in ServiceNetMapDefaults.
45     type: json
46   DefaultPasswords:
47     default: {}
48     type: json
49   RoleName:
50     default: ''
51     description: Role name on which the service is applied
52     type: string
53   RoleParameters:
54     default: {}
55     description: Parameters specific to the role
56     type: json
57   EndpointMap:
58     default: {}
59     description: Mapping of service endpoint -> protocol. Typically set
60                  via parameter_defaults in the resource registry.
61     type: json
62   MonitoringSubscriptionCephExternal:
63     default: 'overcloud-ceph-external'
64     type: string
65   RbdDefaultFeatures:
66     default: ''
67     description: The default features enabled when creating a block device
68                  image. Only applies to format 2 images. Set to '1' for Jewel
69                  clients using older Ceph servers.
70     type: string
71
72 outputs:
73   role_data:
74     description: Role data for the Ceph External service.
75     value:
76       service_name: ceph_external
77       monitoring_subscription: {get_param: MonitoringSubscriptionCephExternal}
78       config_settings:
79         tripleo::profile::base::ceph::ceph_mon_host: {get_param: CephExternalMonHost}
80         ceph::profile::params::fsid: {get_param: CephClusterFSID}
81         ceph::profile::params::rbd_default_features: {get_param: RbdDefaultFeatures}
82         ceph::profile::params::client_keys:
83           map_replace:
84             - CEPH_CLIENT_KEY:
85                 secret: {get_param: CephClientKey}
86                 mode: '0644'
87                 cap_mon: 'allow r'
88                 cap_osd:
89                   str_replace:
90                     template: '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'
91                     params:
92                       NOVA_POOL: {get_param: NovaRbdPoolName}
93                       CINDER_POOL: {get_param: CinderRbdPoolName}
94                       CINDERBACKUP_POOL: {get_param: CinderBackupRbdPoolName}
95                       GLANCE_POOL: {get_param: GlanceRbdPoolName}
96                       GNOCCHI_POOL: {get_param: GnocchiRbdPoolName}
97             - keys:
98                 CEPH_CLIENT_KEY:
99                   list_join: ['.', ['client', {get_param: CephClientUserName}]]
100         ceph::profile::params::manage_repo: false
101         # FIXME(gfidente): we should not have to list the packages explicitly in
102         # the templates, but this should stay until the following is fixed:
103         # https://bugs.launchpad.net/puppet-ceph/+bug/1629933
104         ceph::params::packages:
105           - ceph-base
106           - ceph-mon
107           - ceph-osd
108       step_config: |
109         include ::tripleo::profile::base::ceph::client