1 heat_template_version: pike
4 Ceph base service. Shared by all Ceph services.
9 description: Dictionary packing service data
13 description: Mapping of service_name -> network name. Typically set
14 via parameter_defaults in the resource registry. This
15 mapping overrides those in ServiceNetMapDefaults.
22 description: Role name on which the service is applied
26 description: Parameters specific to the role
30 description: Mapping of service endpoint -> protocol. Typically set
31 via parameter_defaults in the resource registry.
36 Type of update, to differentiate between UPGRADE and UPDATE cases
37 when StackAction is UPDATE (both are the same stack action).
39 - allowed_values: ['', 'UPGRADE']
41 CephAnsibleWorkflowName:
43 description: Name of the Mistral workflow to execute
44 default: tripleo.storage.v1.ceph-install
47 description: Path to the ceph-ansible playbook to execute
48 default: /usr/share/ceph-ansible/site-docker.yml.sample
49 CephAnsibleUpgradePlaybook:
51 description: Path to the ceph-ansible playbook to execute on upgrade
52 default: /usr/share/ceph-ansible/infrastructure-playbooks/switch-from-non-containerized-to-containerized-ceph-daemons.yml
53 CephAnsibleExtraConfig:
55 description: Extra vars for the ceph-ansible playbook
59 description: List of ceph-ansible tags to skip
60 default: 'package-install,with_pkg'
63 description: Extra config settings to dump into ceph.conf
67 description: The Ceph cluster FSID. Must be a UUID.
69 description: default pg_num to use for the RBD pools
74 It can be used to override settings for one of the predefined pools, or to create
75 additional ones. Example:
76 [{"name": "volumes", "pg_num": 64, "rule_name": ""}]
78 type: comma_delimited_list
82 CinderBackupRbdPoolName:
95 description: The Ceph client key. Can be created with ceph-authtool --gen-print-key.
105 description: The cephx key for the radosgw client. Can be created
106 with ceph-authtool --gen-print-key.
110 description: default minimum replication for RBD copies
113 ManilaCephFSNativeCephFSAuthId:
118 description: The Ceph client key. Can be created with ceph-authtool --gen-print-key.
125 description: The password for the swift service account
128 DockerCephDaemonImage:
133 custom_registry_host:
135 data: {get_param: DockerCephDaemonImage}
136 expression: $.data.split('/')[0].matches('(\.|:)')
138 equals: [{get_param: StackUpdateType}, 'UPGRADE']
142 type: OS::Heat::Value
148 - custom_registry_host
150 expression: let(location => $.data.rightSplit(':', 1)[0]) -> regex('(?:https?://)?(.*?)/(.*)').split($location)[1]
151 data: {get_param: DockerCephDaemonImage}
155 - custom_registry_host
157 expression: let(location => $.data.rightSplit(':', 1)[0]) -> regex('(?:https?://)?(.*?)/(.*)').split($location)[2]
158 data: {get_param: DockerCephDaemonImage}
160 expression: $.data.rightSplit(':', 1)[0]
161 data: {get_param: DockerCephDaemonImage}
164 expression: $.data.rightSplit(':', 1)[1]
165 data: {get_param: DockerCephDaemonImage}
169 description: Role data for the Ceph base service.
171 service_name: ceph_base
181 - name: ceph_base_ansible_workflow
182 workflow: { get_param: CephAnsibleWorkflowName }
184 ansible_skip_tags: {get_param: CephAnsibleSkipTags}
185 ceph_ansible_extra_vars: {get_param: CephAnsibleExtraConfig}
186 ceph_ansible_playbook:
189 - {get_param: CephAnsibleUpgradePlaybook}
190 - {get_param: CephAnsiblePlaybook}
192 ceph_common_ansible_vars:
194 fsid: { get_param: CephClusterFSID }
197 ceph_docker_registry: {get_attr: [DockerImageUrlParts, value, host]}
198 ceph_docker_image: {get_attr: [DockerImageUrlParts, value, image]}
199 ceph_docker_image_tag: {get_attr: [DockerImageUrlParts, value, image_tag]}
200 containerized_deployment: true
201 public_network: {get_param: [ServiceData, net_cidr_map, {get_param: [ServiceNetMap, CephMonNetwork]}]}
202 monitor_address_block: {get_param: [ServiceData, net_cidr_map, {get_param: [ServiceNetMap, CephMonNetwork]}]}
203 cluster_network: {get_param: [ServiceData, net_cidr_map, {get_param: [ServiceNetMap, CephClusterNetwork]}]}
207 openstack_config: true
213 pg_num: {get_param: CephPoolDefaultPgNum}
217 - {get_param: CinderRbdPoolName}
218 - {get_param: CinderBackupRbdPoolName}
219 - {get_param: NovaRbdPoolName}
220 - {get_param: GlanceRbdPoolName}
221 - {get_param: GnocchiRbdPoolName}
222 - {get_param: CephPools}
223 openstack_keys: &openstack_keys
228 - {get_param: CephClientUserName}
229 key: {get_param: CephClientKey}
233 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"
235 NOVA_POOL: {get_param: NovaRbdPoolName}
236 CINDER_POOL: {get_param: CinderRbdPoolName}
237 CINDERBACKUP_POOL: {get_param: CinderBackupRbdPoolName}
238 GLANCE_POOL: {get_param: GlanceRbdPoolName}
239 GNOCCHI_POOL: {get_param: GnocchiRbdPoolName}
245 - {get_param: ManilaCephFSNativeCephFSAuthId}
246 key: {get_param: CephManilaClientKey}
247 mon_cap: 'allow r, allow command \\\"auth del\\\", allow command \\\"auth caps\\\", allow command \\\"auth get\\\", allow command \\\"auth get-or-create\\\"'
255 - {get_param: CephRgwClientName}
256 key: {get_param: CephRgwKey}
260 keys: *openstack_keys
265 - osd_pool_default_size: {get_param: CephPoolDefaultSize}
266 osd_pool_default_pg_num: {get_param: CephPoolDefaultPgNum}
267 osd_pool_default_pgp_num: {get_param: CephPoolDefaultPgNum}
268 rgw_keystone_api_version: 3
269 rgw_keystone_url: {get_param: [EndpointMap, KeystoneInternal, uri_no_suffix]}
270 rgw_keystone_accepted_roles: 'Member, _member_, admin'
271 rgw_keystone_admin_domain: default
272 rgw_keystone_admin_project: service
273 rgw_keystone_admin_user: swift
274 rgw_keystone_admin_password: {get_param: SwiftPassword}
275 rgw_s3_auth_use_keystone: 'true'
276 - {get_param: CephConfigOverrides}
277 ntp_service_enabled: false
281 - {get_param: CephIPv6}