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