8bf0468201
We missed to refactor CephExternal when migrating to the new hiera hook. The old template would have pushed the value of ceph::profile::params::client_keys as a string causing the deployment to fail with: Error while evaluating a Function Call, {...} is not a Hash The new template emits that same data as a map, as it happened for the other services in Ibe7e2044e200e2c947223286fdf4fd5bcf98c2e1 Change-Id: I3cf59b7d8343d7433047e9ccef310d287dbd47b5
122 lines
4.2 KiB
YAML
122 lines
4.2 KiB
YAML
heat_template_version: ocata
|
|
|
|
description: >
|
|
Ceph External service.
|
|
|
|
parameters:
|
|
CephClientKey:
|
|
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.
|
|
type: string
|
|
hidden: true
|
|
CephClientUserName:
|
|
default: openstack
|
|
type: string
|
|
CephClusterFSID:
|
|
type: string
|
|
description: The Ceph cluster FSID. Must be a UUID.
|
|
CephExternalMonHost:
|
|
default: ''
|
|
type: string
|
|
description: List of externally managed Ceph Mon Host IPs. Only used for external Ceph deployments.
|
|
CinderRbdPoolName:
|
|
default: volumes
|
|
type: string
|
|
CinderBackupRbdPoolName:
|
|
default: backups
|
|
type: string
|
|
GlanceRbdPoolName:
|
|
default: images
|
|
type: string
|
|
GlanceBackend:
|
|
default: swift
|
|
description: The short name of the Glance backend to use. Should be one
|
|
of swift, rbd, or file
|
|
type: string
|
|
constraints:
|
|
- allowed_values: ['swift', 'file', 'rbd']
|
|
GnocchiRbdPoolName:
|
|
default: metrics
|
|
type: string
|
|
NovaEnableRbdBackend:
|
|
default: false
|
|
description: Whether to enable or not the Rbd backend for Nova
|
|
type: boolean
|
|
NovaRbdPoolName:
|
|
default: vms
|
|
type: string
|
|
ServiceNetMap:
|
|
default: {}
|
|
description: Mapping of service_name -> network name. Typically set
|
|
via parameter_defaults in the resource registry. This
|
|
mapping overrides those in ServiceNetMapDefaults.
|
|
type: json
|
|
DefaultPasswords:
|
|
default: {}
|
|
type: json
|
|
EndpointMap:
|
|
default: {}
|
|
description: Mapping of service endpoint -> protocol. Typically set
|
|
via parameter_defaults in the resource registry.
|
|
type: json
|
|
MonitoringSubscriptionCephExternal:
|
|
default: 'overcloud-ceph-external'
|
|
type: string
|
|
RbdDefaultFeatures:
|
|
default: ''
|
|
description: The default features enabled when creating a block device
|
|
image. Only applies to format 2 images. Set to '1' for Jewel
|
|
clients using older Ceph servers.
|
|
type: string
|
|
|
|
conditions:
|
|
glance_multiple_locations:
|
|
and:
|
|
- equals:
|
|
- get_param: GlanceBackend
|
|
- rbd
|
|
- equals:
|
|
- get_param: NovaEnableRbdBackend
|
|
- true
|
|
|
|
outputs:
|
|
role_data:
|
|
description: Role data for the Ceph External service.
|
|
value:
|
|
service_name: ceph_external
|
|
monitoring_subscription: {get_param: MonitoringSubscriptionCephExternal}
|
|
config_settings:
|
|
tripleo::profile::base::ceph::ceph_mon_host: {get_param: CephExternalMonHost}
|
|
ceph::profile::params::fsid: {get_param: CephClusterFSID}
|
|
ceph::profile::params::rbd_default_features: {get_param: RbdDefaultFeatures}
|
|
ceph::profile::params::client_keys:
|
|
map_replace:
|
|
- CEPH_CLIENT_KEY:
|
|
secret: {get_param: CephClientKey}
|
|
mode: '0644'
|
|
cap_mon: 'allow r'
|
|
cap_osd:
|
|
str_replace:
|
|
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'
|
|
params:
|
|
NOVA_POOL: {get_param: NovaRbdPoolName}
|
|
CINDER_POOL: {get_param: CinderRbdPoolName}
|
|
CINDERBACKUP_POOL: {get_param: CinderBackupRbdPoolName}
|
|
GLANCE_POOL: {get_param: GlanceRbdPoolName}
|
|
GNOCCHI_POOL: {get_param: GnocchiRbdPoolName}
|
|
- keys:
|
|
CEPH_CLIENT_KEY:
|
|
list_join: ['.', ['client', {get_param: CephClientUserName}]]
|
|
ceph::profile::params::manage_repo: false
|
|
# FIXME(gfidente): we should not have to list the packages explicitly in
|
|
# the templates, but this should stay until the following is fixed:
|
|
# https://bugs.launchpad.net/puppet-ceph/+bug/1629933
|
|
ceph::params::packages:
|
|
- ceph-base
|
|
- ceph-mon
|
|
- ceph-osd
|
|
service_config_settings:
|
|
glance_api:
|
|
glance::api::show_multiple_locations: {if: [glance_multiple_locations, true, false]}
|
|
step_config: |
|
|
include ::tripleo::profile::base::ceph::client
|