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