277fbae321
ceph::profile::params::manage_repo should default to false when using external Ceph. Overcloud Ceph clients use Ceph packages, which may be provided by the 'ceph' metapackage, but not for all repos, see related bug. So, this change also includes a list of packages as a workaround as used in change Ie55d22301dd22102d471e6002dfcaad4bfadd5f6. Change-Id: I338e51637aa39d3f7bbbad0263740f728d42cb9b Closes-bug: 1641989 Related-Bug: 1629933
115 lines
3.8 KiB
YAML
115 lines
3.8 KiB
YAML
heat_template_version: 2016-10-14
|
|
|
|
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
|
|
|
|
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::client_keys:
|
|
str_replace:
|
|
template: "{
|
|
client.CLIENT_USER: {
|
|
secret: 'CLIENT_KEY',
|
|
mode: '0644',
|
|
cap_mon: 'allow r',
|
|
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'
|
|
}
|
|
}"
|
|
params:
|
|
CLIENT_USER: {get_param: CephClientUserName}
|
|
CLIENT_KEY: {get_param: CephClientKey}
|
|
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}
|
|
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
|