Merge "Remove support for puppet-ceph"
This commit is contained in:
commit
79c4074849
@ -1,8 +0,0 @@
|
|||||||
# ******************************************************************************
|
|
||||||
# DEPRECATED: Use ./ceph-ansible/ceph-rgw.yaml
|
|
||||||
# ******************************************************************************
|
|
||||||
resource_registry:
|
|
||||||
OS::TripleO::Services::CephRgw: ../docker/services/ceph-ansible/ceph-rgw.yaml
|
|
||||||
OS::TripleO::Services::SwiftProxy: OS::Heat::None
|
|
||||||
OS::TripleO::Services::SwiftStorage: OS::Heat::None
|
|
||||||
OS::TripleO::Services::SwiftRingBuilder: OS::Heat::None
|
|
@ -1,24 +0,0 @@
|
|||||||
# A Heat environment file which can be used to enable a Ceph
|
|
||||||
# storage cluster using the controller and ceph nodes.
|
|
||||||
# Rbd backends are enabled for Cinder, Glance, Gnocchi and Nova.
|
|
||||||
resource_registry:
|
|
||||||
OS::TripleO::Services::CephMon: ../puppet/services/ceph-mon.yaml
|
|
||||||
OS::TripleO::Services::CephOSD: ../puppet/services/ceph-osd.yaml
|
|
||||||
OS::TripleO::Services::CephClient: ../puppet/services/ceph-client.yaml
|
|
||||||
|
|
||||||
parameter_defaults:
|
|
||||||
#NOTE: These ID's and keys should be regenerated for
|
|
||||||
# a production deployment. What is here is suitable for
|
|
||||||
# developer and CI testing only.
|
|
||||||
CephClusterFSID: '4b5c8c0a-ff60-454b-a1b4-9747aa737d19'
|
|
||||||
CephMonKey: 'AQC+Ox1VmEr3BxAALZejqeHj50Nj6wJDvs96OQ=='
|
|
||||||
CephAdminKey: 'AQDLOh1VgEp6FRAAFzT7Zw+Y9V6JJExQAsRnRQ=='
|
|
||||||
CephClientKey: 'AQC+vYNXgDAgAhAAc8UoYt+OTz5uhV7ItLdwUw=='
|
|
||||||
NovaEnableRbdBackend: true
|
|
||||||
CinderEnableRbdBackend: true
|
|
||||||
CinderBackupBackend: ceph
|
|
||||||
GlanceBackend: rbd
|
|
||||||
GnocchiBackend: rbd
|
|
||||||
CinderEnableIscsiBackend: false
|
|
||||||
CephPoolDefaultSize: 1
|
|
||||||
|
|
@ -1,42 +0,0 @@
|
|||||||
# ******************************************************************************
|
|
||||||
# DEPRECATED: Use tripleo-heat-templates/environments/storage/external-ceph.yaml
|
|
||||||
# instead.
|
|
||||||
# ******************************************************************************
|
|
||||||
# A Heat environment file which can be used to enable the
|
|
||||||
# use of an externally managed Ceph cluster.
|
|
||||||
resource_registry:
|
|
||||||
OS::TripleO::Services::CephExternal: ../puppet/services/ceph-external.yaml
|
|
||||||
OS::TripleO::Services::CephMon: OS::Heat::None
|
|
||||||
OS::TripleO::Services::CephClient: OS::Heat::None
|
|
||||||
OS::TripleO::Services::CephOSD: OS::Heat::None
|
|
||||||
|
|
||||||
parameter_defaults:
|
|
||||||
# NOTE: These example parameters are required when using CephExternal
|
|
||||||
#CephClusterFSID: '4b5c8c0a-ff60-454b-a1b4-9747aa737d19'
|
|
||||||
#CephClientKey: 'AQDLOh1VgEp6FRAAFzT7Zw+Y9V6JJExQAsRnRQ=='
|
|
||||||
#CephExternalMonHost: '172.16.1.7, 172.16.1.8'
|
|
||||||
|
|
||||||
# the following parameters enable Ceph backends for Cinder, Glance, Gnocchi and Nova
|
|
||||||
NovaEnableRbdBackend: true
|
|
||||||
CinderEnableRbdBackend: true
|
|
||||||
CinderBackupBackend: ceph
|
|
||||||
GlanceBackend: rbd
|
|
||||||
GnocchiBackend: rbd
|
|
||||||
# If the Ceph pools which host VMs, Volumes and Images do not match these
|
|
||||||
# names OR the client keyring to use is not named 'openstack', edit the
|
|
||||||
# following as needed.
|
|
||||||
NovaRbdPoolName: vms
|
|
||||||
CinderRbdPoolName: volumes
|
|
||||||
CinderBackupRbdPoolName: backups
|
|
||||||
GlanceRbdPoolName: images
|
|
||||||
GnocchiRbdPoolName: metrics
|
|
||||||
CephClientUserName: openstack
|
|
||||||
|
|
||||||
# finally we disable the Cinder LVM backend
|
|
||||||
CinderEnableIscsiBackend: false
|
|
||||||
|
|
||||||
# Uncomment if connecting to a pre-Jewel or RHCS1.3 Ceph Cluster
|
|
||||||
# RbdDefaultFeatures: 1
|
|
||||||
|
|
||||||
# Backward compatibility setting, will be removed in the future
|
|
||||||
CephAdminKey: ''
|
|
@ -1,16 +0,0 @@
|
|||||||
# ****************************************************************************
|
|
||||||
# DEPRECATED: Use tripleo-heat-templates/environments/storage/enable-ceph.yaml
|
|
||||||
# instead.
|
|
||||||
# ****************************************************************************
|
|
||||||
resource_registry:
|
|
||||||
OS::TripleO::Services::CephMon: ../puppet/services/ceph-mon.yaml
|
|
||||||
OS::TripleO::Services::CephOSD: ../puppet/services/ceph-osd.yaml
|
|
||||||
OS::TripleO::Services::CephClient: ../puppet/services/ceph-client.yaml
|
|
||||||
|
|
||||||
parameter_defaults:
|
|
||||||
CinderEnableIscsiBackend: false
|
|
||||||
CinderEnableRbdBackend: true
|
|
||||||
CinderBackupBackend: ceph
|
|
||||||
NovaEnableRbdBackend: true
|
|
||||||
GlanceBackend: rbd
|
|
||||||
GnocchiBackend: rbd
|
|
@ -1,5 +0,0 @@
|
|||||||
# ******************************************************************************
|
|
||||||
# DEPRECATED: Use ../ceph-ansible/ceph-mds.yaml
|
|
||||||
# ******************************************************************************
|
|
||||||
resource_registry:
|
|
||||||
OS::TripleO::Services::CephMds: ../../docker/services/ceph-ansible/ceph-mds.yaml
|
|
@ -1,5 +0,0 @@
|
|||||||
# ******************************************************************************
|
|
||||||
# DEPRECATED: Use ../ceph-ansible/ceph-rbdmirror.yaml
|
|
||||||
# ******************************************************************************
|
|
||||||
resource_registry:
|
|
||||||
OS::TripleO::Services::CephRbdMirror: ../../docker/services/ceph-ansible/ceph-rbdmirror.yaml
|
|
@ -1,39 +0,0 @@
|
|||||||
# *******************************************************************
|
|
||||||
# This file was created automatically by the sample environment
|
|
||||||
# generator. Developers should use `tox -e genconfig` to update it.
|
|
||||||
# Users are recommended to make changes to a copy of the file instead
|
|
||||||
# of the original, if any customizations are needed.
|
|
||||||
# *******************************************************************
|
|
||||||
# title: Enable Ceph Storage Backend
|
|
||||||
# description: |
|
|
||||||
# Include this environment to enable Ceph as the backend for
|
|
||||||
# Cinder, Nova, Gnocchi, and Glance.
|
|
||||||
parameter_defaults:
|
|
||||||
# The short name of the Cinder Backup backend to use.
|
|
||||||
# Type: string
|
|
||||||
CinderBackupBackend: rbd
|
|
||||||
|
|
||||||
# Whether to enable or not the Iscsi backend for Cinder
|
|
||||||
# Type: boolean
|
|
||||||
CinderEnableIscsiBackend: False
|
|
||||||
|
|
||||||
# Whether to enable or not the Rbd backend for Cinder
|
|
||||||
# Type: boolean
|
|
||||||
CinderEnableRbdBackend: True
|
|
||||||
|
|
||||||
# The short name of the Glance backend to use. Should be one of swift, rbd, cinder, or file
|
|
||||||
# Type: string
|
|
||||||
GlanceBackend: rbd
|
|
||||||
|
|
||||||
# The short name of the Gnocchi backend to use. Should be one of swift, rbd, file or s3.
|
|
||||||
# Type: string
|
|
||||||
GnocchiBackend: rbd
|
|
||||||
|
|
||||||
# Whether to enable or not the Rbd backend for Nova
|
|
||||||
# Type: boolean
|
|
||||||
NovaEnableRbdBackend: True
|
|
||||||
|
|
||||||
resource_registry:
|
|
||||||
OS::TripleO::Services::CephClient: ../../puppet/services/ceph-client.yaml
|
|
||||||
OS::TripleO::Services::CephMon: ../../puppet/services/ceph-mon.yaml
|
|
||||||
OS::TripleO::Services::CephOSD: ../../puppet/services/ceph-osd.yaml
|
|
@ -1,78 +0,0 @@
|
|||||||
# *******************************************************************
|
|
||||||
# This file was created automatically by the sample environment
|
|
||||||
# generator. Developers should use `tox -e genconfig` to update it.
|
|
||||||
# Users are recommended to make changes to a copy of the file instead
|
|
||||||
# of the original, if any customizations are needed.
|
|
||||||
# *******************************************************************
|
|
||||||
# title: Deploy Using an External Ceph Cluster
|
|
||||||
# description: |
|
|
||||||
# A Heat environment file which can be used to enable the
|
|
||||||
# use of an externally managed Ceph cluster.
|
|
||||||
parameter_defaults:
|
|
||||||
# The Ceph admin client key. Can be created with ceph-authtool --gen-print-key.
|
|
||||||
# Type: string
|
|
||||||
CephAdminKey: ''
|
|
||||||
|
|
||||||
# The Ceph client key. Can be created with ceph-authtool --gen-print-key.
|
|
||||||
# Mandatory. This parameter must be set by the user.
|
|
||||||
# Type: string
|
|
||||||
CephClientKey: <None>
|
|
||||||
|
|
||||||
#
|
|
||||||
# Type: string
|
|
||||||
CephClientUserName: openstack
|
|
||||||
|
|
||||||
# The Ceph cluster FSID. Must be a UUID.
|
|
||||||
# Mandatory. This parameter must be set by the user.
|
|
||||||
# Type: string
|
|
||||||
CephClusterFSID: <None>
|
|
||||||
|
|
||||||
# List of externally managed Ceph Mon Host IPs. Only used for external Ceph deployments.
|
|
||||||
# Type: string
|
|
||||||
CephExternalMonHost: ''
|
|
||||||
|
|
||||||
# Whether to enable or not the Iscsi backend for Cinder
|
|
||||||
# Type: boolean
|
|
||||||
CinderEnableIscsiBackend: False
|
|
||||||
|
|
||||||
# Whether to enable or not the Rbd backend for Cinder
|
|
||||||
# Type: boolean
|
|
||||||
CinderEnableRbdBackend: True
|
|
||||||
|
|
||||||
#
|
|
||||||
# Type: string
|
|
||||||
CinderRbdPoolName: volumes
|
|
||||||
|
|
||||||
# The short name of the Glance backend to use. Should be one of swift, rbd, cinder, or file
|
|
||||||
# Type: string
|
|
||||||
GlanceBackend: rbd
|
|
||||||
|
|
||||||
#
|
|
||||||
# Type: string
|
|
||||||
GlanceRbdPoolName: images
|
|
||||||
|
|
||||||
# The short name of the Gnocchi backend to use. Should be one of swift, rbd, file or s3.
|
|
||||||
# Type: string
|
|
||||||
GnocchiBackend: rbd
|
|
||||||
|
|
||||||
#
|
|
||||||
# Type: string
|
|
||||||
GnocchiRbdPoolName: metrics
|
|
||||||
|
|
||||||
# Whether to enable or not the Rbd backend for Nova
|
|
||||||
# Type: boolean
|
|
||||||
NovaEnableRbdBackend: True
|
|
||||||
|
|
||||||
#
|
|
||||||
# Type: string
|
|
||||||
NovaRbdPoolName: vms
|
|
||||||
|
|
||||||
# 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
|
|
||||||
RbdDefaultFeatures: ''
|
|
||||||
|
|
||||||
resource_registry:
|
|
||||||
OS::TripleO::Services::CephClient: OS::Heat::None
|
|
||||||
OS::TripleO::Services::CephExternal: ../../puppet/services/ceph-external.yaml
|
|
||||||
OS::TripleO::Services::CephMon: OS::Heat::None
|
|
||||||
OS::TripleO::Services::CephOSD: OS::Heat::None
|
|
@ -1,181 +0,0 @@
|
|||||||
heat_template_version: rocky
|
|
||||||
|
|
||||||
description: >
|
|
||||||
Ceph base service. Shared by all Ceph services.
|
|
||||||
|
|
||||||
parameters:
|
|
||||||
# NOTE(gfidente): needs a default to cope with external Ceph deployments were we don't pass (and need) an Admin key
|
|
||||||
CephAdminKey:
|
|
||||||
default: ''
|
|
||||||
description: The Ceph admin client key. Can be created with ceph-authtool --gen-print-key.
|
|
||||||
type: string
|
|
||||||
hidden: true
|
|
||||||
CephClientKey:
|
|
||||||
description: The Ceph client key. Can be created with ceph-authtool --gen-print-key.
|
|
||||||
type: string
|
|
||||||
hidden: true
|
|
||||||
CephClientUserName:
|
|
||||||
default: openstack
|
|
||||||
type: string
|
|
||||||
CephClusterFSID:
|
|
||||||
type: string
|
|
||||||
description: The Ceph cluster FSID. Must be a UUID.
|
|
||||||
CinderRbdPoolName:
|
|
||||||
default: volumes
|
|
||||||
type: string
|
|
||||||
CinderRbdExtraPools:
|
|
||||||
default: []
|
|
||||||
description: >
|
|
||||||
List of extra Ceph pools for use with RBD backends for Cinder. An
|
|
||||||
extra Cinder RBD backend driver is created for each pool in the
|
|
||||||
list. This is in addition to the standard RBD backend driver
|
|
||||||
associated with the CinderRbdPoolName.
|
|
||||||
type: comma_delimited_list
|
|
||||||
CinderBackupRbdPoolName:
|
|
||||||
default: backups
|
|
||||||
type: string
|
|
||||||
GlanceRbdPoolName:
|
|
||||||
default: images
|
|
||||||
type: string
|
|
||||||
GnocchiRbdPoolName:
|
|
||||||
default: metrics
|
|
||||||
type: string
|
|
||||||
NovaRbdPoolName:
|
|
||||||
default: vms
|
|
||||||
type: string
|
|
||||||
ServiceData:
|
|
||||||
default: {}
|
|
||||||
description: Dictionary packing service data
|
|
||||||
type: json
|
|
||||||
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
|
|
||||||
RoleName:
|
|
||||||
default: ''
|
|
||||||
description: Role name on which the service is applied
|
|
||||||
type: string
|
|
||||||
RoleParameters:
|
|
||||||
default: {}
|
|
||||||
description: Parameters specific to the role
|
|
||||||
type: json
|
|
||||||
EndpointMap:
|
|
||||||
default: {}
|
|
||||||
description: Mapping of service endpoint -> protocol. Typically set
|
|
||||||
via parameter_defaults in the resource registry.
|
|
||||||
type: json
|
|
||||||
ManilaCephFSNativeCephFSAuthId:
|
|
||||||
type: string
|
|
||||||
default: 'manila'
|
|
||||||
CephManilaClientKey:
|
|
||||||
default: ''
|
|
||||||
description: The Ceph client key. Can be created with ceph-authtool --gen-print-key.
|
|
||||||
type: string
|
|
||||||
hidden: true
|
|
||||||
# DEPRECATED options for compatibility with overcloud.yaml
|
|
||||||
# This should be removed and manipulation of the ControllerServices list
|
|
||||||
# used instead, but we need client support for that first
|
|
||||||
ControllerEnableCephStorage:
|
|
||||||
default: false
|
|
||||||
description: Whether to deploy Ceph Storage (OSD) on the Controller
|
|
||||||
type: boolean
|
|
||||||
|
|
||||||
parameter_groups:
|
|
||||||
- label: deprecated
|
|
||||||
description: Do not use deprecated params, they will be removed.
|
|
||||||
parameters:
|
|
||||||
- ControllerEnableCephStorage
|
|
||||||
|
|
||||||
outputs:
|
|
||||||
role_data:
|
|
||||||
description: Role data for the Ceph base service.
|
|
||||||
value:
|
|
||||||
service_name: ceph_base
|
|
||||||
config_settings:
|
|
||||||
tripleo::profile::base::ceph::enable_ceph_storage: {get_param: ControllerEnableCephStorage}
|
|
||||||
ceph::profile::params::osds: {/srv/data: {}}
|
|
||||||
ceph::profile::params::manage_repo: false
|
|
||||||
ceph::profile::params::authentication_type: cephx
|
|
||||||
ceph::profile::params::fsid: {get_param: CephClusterFSID}
|
|
||||||
# FIXME(gfidente): we should not have to list the packages explicitly in the templates,
|
|
||||||
# but this has to stay until https://bugs.launchpad.net/puppet-ceph/+bug/1629933 is fixed
|
|
||||||
ceph::params::packages:
|
|
||||||
- ceph-base
|
|
||||||
- ceph-mon
|
|
||||||
# NOTE: bind IP is found in hiera replacing the network name with the local node IP
|
|
||||||
# for the given network; replacement examples (eg. for internal_api):
|
|
||||||
# internal_api -> IP
|
|
||||||
# internal_api_uri -> [IP]
|
|
||||||
# internal_api_subnet - > IP/CIDR
|
|
||||||
ceph::profile::params::cluster_network:
|
|
||||||
str_replace:
|
|
||||||
template: "%{hiera('$NETWORK_subnet')}"
|
|
||||||
params:
|
|
||||||
NETWORK: {get_param: [ServiceNetMap, CephClusterNetwork]}
|
|
||||||
ceph::profile::params::public_network:
|
|
||||||
str_replace:
|
|
||||||
template: "%{hiera('$NETWORK_subnet')}"
|
|
||||||
params:
|
|
||||||
NETWORK: {get_param: [ServiceNetMap, CephMonNetwork]}
|
|
||||||
ceph::profile::params::public_addr:
|
|
||||||
str_replace:
|
|
||||||
template:
|
|
||||||
"%{hiera('$NETWORK')}"
|
|
||||||
params:
|
|
||||||
$NETWORK: {get_param: [ServiceNetMap, CephMonNetwork]}
|
|
||||||
ceph::profile::params::client_keys:
|
|
||||||
map_replace:
|
|
||||||
- client.admin:
|
|
||||||
secret: {get_param: CephAdminKey}
|
|
||||||
mode: '0600'
|
|
||||||
cap_mon: 'allow *'
|
|
||||||
cap_osd: 'allow *'
|
|
||||||
cap_mds: 'allow *'
|
|
||||||
client.bootstrap-osd:
|
|
||||||
secret: {get_param: CephAdminKey}
|
|
||||||
keyring_path: '/var/lib/ceph/bootstrap-osd/ceph.keyring'
|
|
||||||
cap_mon: 'allow profile bootstrap-osd'
|
|
||||||
CEPH_CLIENT_KEY:
|
|
||||||
secret: {get_param: CephClientKey}
|
|
||||||
mode: '0640'
|
|
||||||
user: 'ceph'
|
|
||||||
group: 'ceph'
|
|
||||||
cap_mon: 'allow r'
|
|
||||||
cap_osd:
|
|
||||||
str_replace:
|
|
||||||
template: 'allow class-read object_prefix rbd_children, allow rwx pool=CEPH_CLIENT_POOLS'
|
|
||||||
params:
|
|
||||||
CEPH_CLIENT_POOLS:
|
|
||||||
list_join:
|
|
||||||
- ', allow rwx pool='
|
|
||||||
- - {get_param: CinderRbdPoolName}
|
|
||||||
- {get_param: CinderBackupRbdPoolName}
|
|
||||||
- {get_param: NovaRbdPoolName}
|
|
||||||
- {get_param: GlanceRbdPoolName}
|
|
||||||
- {get_param: GnocchiRbdPoolName}
|
|
||||||
# CinderRbdExtraPools is a list (do not indent further)
|
|
||||||
- {get_param: CinderRbdExtraPools}
|
|
||||||
MANILA_CLIENT_KEY:
|
|
||||||
mode: '0640'
|
|
||||||
user: 'ceph'
|
|
||||||
group: 'ceph'
|
|
||||||
secret: {get_param: CephManilaClientKey}
|
|
||||||
cap_mon: 'allow r, allow command \"auth del\", allow command \"auth caps\", allow command \"auth get\", allow command \"auth get-or-create\"'
|
|
||||||
cap_mds: 'allow *'
|
|
||||||
cap_osd: 'allow rw'
|
|
||||||
- keys:
|
|
||||||
CEPH_CLIENT_KEY:
|
|
||||||
list_join: ['.', ['client', {get_param: CephClientUserName}]]
|
|
||||||
MANILA_CLIENT_KEY:
|
|
||||||
list_join: ['.', ['client', {get_param: ManilaCephFSNativeCephFSAuthId}]]
|
|
||||||
service_config_settings:
|
|
||||||
ceph_osd:
|
|
||||||
ceph::params::packages:
|
|
||||||
- ceph-base
|
|
||||||
- ceph-mon
|
|
||||||
- ceph-osd
|
|
@ -1,57 +0,0 @@
|
|||||||
heat_template_version: rocky
|
|
||||||
|
|
||||||
description: >
|
|
||||||
Ceph Client service.
|
|
||||||
|
|
||||||
parameters:
|
|
||||||
ServiceData:
|
|
||||||
default: {}
|
|
||||||
description: Dictionary packing service data
|
|
||||||
type: json
|
|
||||||
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
|
|
||||||
RoleName:
|
|
||||||
default: ''
|
|
||||||
description: Role name on which the service is applied
|
|
||||||
type: string
|
|
||||||
RoleParameters:
|
|
||||||
default: {}
|
|
||||||
description: Parameters specific to the role
|
|
||||||
type: json
|
|
||||||
EndpointMap:
|
|
||||||
default: {}
|
|
||||||
description: Mapping of service endpoint -> protocol. Typically set
|
|
||||||
via parameter_defaults in the resource registry.
|
|
||||||
type: json
|
|
||||||
MonitoringSubscriptionCephClient:
|
|
||||||
default: 'overcloud-ceph-client'
|
|
||||||
type: string
|
|
||||||
|
|
||||||
resources:
|
|
||||||
CephBase:
|
|
||||||
type: ./ceph-base.yaml
|
|
||||||
properties:
|
|
||||||
ServiceData: {get_param: ServiceData}
|
|
||||||
ServiceNetMap: {get_param: ServiceNetMap}
|
|
||||||
DefaultPasswords: {get_param: DefaultPasswords}
|
|
||||||
EndpointMap: {get_param: EndpointMap}
|
|
||||||
RoleName: {get_param: RoleName}
|
|
||||||
RoleParameters: {get_param: RoleParameters}
|
|
||||||
|
|
||||||
outputs:
|
|
||||||
role_data:
|
|
||||||
description: Role data for the Cinder OSD service.
|
|
||||||
value:
|
|
||||||
service_name: ceph_client
|
|
||||||
monitoring_subscription: {get_param: MonitoringSubscriptionCephClient}
|
|
||||||
config_settings:
|
|
||||||
get_attr: [CephBase, role_data, config_settings]
|
|
||||||
step_config: |
|
|
||||||
include ::tripleo::profile::base::ceph::client
|
|
@ -1,125 +0,0 @@
|
|||||||
heat_template_version: rocky
|
|
||||||
|
|
||||||
description: >
|
|
||||||
Ceph External service.
|
|
||||||
|
|
||||||
parameters:
|
|
||||||
CephClientKey:
|
|
||||||
description: The Ceph client key. Can be created with ceph-authtool --gen-print-key.
|
|
||||||
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
|
|
||||||
GnocchiRbdPoolName:
|
|
||||||
default: metrics
|
|
||||||
type: string
|
|
||||||
NovaRbdPoolName:
|
|
||||||
default: vms
|
|
||||||
type: string
|
|
||||||
ServiceData:
|
|
||||||
default: {}
|
|
||||||
description: Dictionary packing service data
|
|
||||||
type: json
|
|
||||||
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
|
|
||||||
RoleName:
|
|
||||||
default: ''
|
|
||||||
description: Role name on which the service is applied
|
|
||||||
type: string
|
|
||||||
RoleParameters:
|
|
||||||
default: {}
|
|
||||||
description: Parameters specific to the role
|
|
||||||
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
|
|
||||||
ManilaCephFSNativeCephFSAuthId:
|
|
||||||
type: string
|
|
||||||
default: 'manila'
|
|
||||||
CephManilaClientKey:
|
|
||||||
default: ''
|
|
||||||
description: The Ceph client key. Can be created with ceph-authtool --gen-print-key.
|
|
||||||
type: string
|
|
||||||
hidden: 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}
|
|
||||||
MANILA_CLIENT_KEY:
|
|
||||||
mode: '0644'
|
|
||||||
secret: {get_param: CephManilaClientKey}
|
|
||||||
cap_mon: 'allow r, allow command \"auth del\", allow command \"auth caps\", allow command \"auth get\", allow command \"auth get-or-create\"'
|
|
||||||
cap_mds: 'allow *'
|
|
||||||
cap_osd: 'allow rw'
|
|
||||||
- keys:
|
|
||||||
CEPH_CLIENT_KEY:
|
|
||||||
list_join: ['.', ['client', {get_param: CephClientUserName}]]
|
|
||||||
MANILA_CLIENT_KEY:
|
|
||||||
list_join: ['.', ['client', {get_param: ManilaCephFSNativeCephFSAuthId}]]
|
|
||||||
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
|
|
||||||
step_config: |
|
|
||||||
include ::tripleo::profile::base::ceph::client
|
|
@ -1,76 +0,0 @@
|
|||||||
heat_template_version: rocky
|
|
||||||
|
|
||||||
description: >
|
|
||||||
Ceph MDS service.
|
|
||||||
|
|
||||||
parameters:
|
|
||||||
ServiceData:
|
|
||||||
default: {}
|
|
||||||
description: Dictionary packing service data
|
|
||||||
type: json
|
|
||||||
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
|
|
||||||
RoleName:
|
|
||||||
default: ''
|
|
||||||
description: Role name on which the service is applied
|
|
||||||
type: string
|
|
||||||
RoleParameters:
|
|
||||||
default: {}
|
|
||||||
description: Parameters specific to the role
|
|
||||||
type: json
|
|
||||||
EndpointMap:
|
|
||||||
default: {}
|
|
||||||
description: Mapping of service endpoint -> protocol. Typically set
|
|
||||||
via parameter_defaults in the resource registry.
|
|
||||||
type: json
|
|
||||||
CephMdsKey:
|
|
||||||
description: The cephx key for the MDS service. Can be created
|
|
||||||
with ceph-authtool --gen-print-key.
|
|
||||||
type: string
|
|
||||||
hidden: true
|
|
||||||
ManilaCephFSDataPoolName:
|
|
||||||
default: manila_data
|
|
||||||
type: string
|
|
||||||
ManilaCephFSMetadataPoolName:
|
|
||||||
default: manila_metadata
|
|
||||||
type: string
|
|
||||||
ManilaCephFSNativeShareBackendName:
|
|
||||||
default: cephfs
|
|
||||||
type: string
|
|
||||||
|
|
||||||
resources:
|
|
||||||
CephBase:
|
|
||||||
type: ./ceph-base.yaml
|
|
||||||
properties:
|
|
||||||
ServiceData: {get_param: ServiceData}
|
|
||||||
ServiceNetMap: {get_param: ServiceNetMap}
|
|
||||||
DefaultPasswords: {get_param: DefaultPasswords}
|
|
||||||
EndpointMap: {get_param: EndpointMap}
|
|
||||||
RoleName: {get_param: RoleName}
|
|
||||||
RoleParameters: {get_param: RoleParameters}
|
|
||||||
|
|
||||||
outputs:
|
|
||||||
role_data:
|
|
||||||
description: Role data for the Ceph MDS service.
|
|
||||||
value:
|
|
||||||
service_name: ceph_mds
|
|
||||||
config_settings:
|
|
||||||
map_merge:
|
|
||||||
- get_attr: [CephBase, role_data, config_settings]
|
|
||||||
- ceph::profile::params::mds_key: {get_param: CephMdsKey}
|
|
||||||
tripleo.ceph_mds.firewall_rules:
|
|
||||||
'112 ceph_mds':
|
|
||||||
dport:
|
|
||||||
- '6800-7300'
|
|
||||||
ceph::profile::params::fs_data_pool: {get_param: ManilaCephFSDataPoolName}
|
|
||||||
ceph::profile::params::fs_metadata_pool: {get_param: ManilaCephFSMetadataPoolName}
|
|
||||||
ceph::profile::params::fs_name: {get_param: ManilaCephFSNativeShareBackendName}
|
|
||||||
step_config: |
|
|
||||||
include ::tripleo::profile::base::ceph::mds
|
|
@ -1,187 +0,0 @@
|
|||||||
heat_template_version: rocky
|
|
||||||
|
|
||||||
description: >
|
|
||||||
Ceph Monitor service.
|
|
||||||
|
|
||||||
parameters:
|
|
||||||
ServiceData:
|
|
||||||
default: {}
|
|
||||||
description: Dictionary packing service data
|
|
||||||
type: json
|
|
||||||
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
|
|
||||||
RoleName:
|
|
||||||
default: ''
|
|
||||||
description: Role name on which the service is applied
|
|
||||||
type: string
|
|
||||||
RoleParameters:
|
|
||||||
default: {}
|
|
||||||
description: Parameters specific to the role
|
|
||||||
type: json
|
|
||||||
EndpointMap:
|
|
||||||
default: {}
|
|
||||||
description: Mapping of service endpoint -> protocol. Typically set
|
|
||||||
via parameter_defaults in the resource registry.
|
|
||||||
type: json
|
|
||||||
CephIPv6:
|
|
||||||
default: False
|
|
||||||
type: boolean
|
|
||||||
CephMonKey:
|
|
||||||
description: The Ceph monitors key. Can be created with ceph-authtool --gen-print-key.
|
|
||||||
type: string
|
|
||||||
hidden: true
|
|
||||||
CinderRbdPoolName:
|
|
||||||
default: volumes
|
|
||||||
type: string
|
|
||||||
CinderRbdExtraPools:
|
|
||||||
default: []
|
|
||||||
description: >
|
|
||||||
List of extra Ceph pools for use with RBD backends for Cinder. An
|
|
||||||
extra Cinder RBD backend driver is created for each pool in the
|
|
||||||
list. This is in addition to the standard RBD backend driver
|
|
||||||
associated with the CinderRbdPoolName.
|
|
||||||
type: comma_delimited_list
|
|
||||||
ManilaCephFSDataPoolName:
|
|
||||||
default: manila_data
|
|
||||||
type: string
|
|
||||||
ManilaCephFSMetadataPoolName:
|
|
||||||
default: manila_metadata
|
|
||||||
type: string
|
|
||||||
CinderBackupRbdPoolName:
|
|
||||||
default: backups
|
|
||||||
type: string
|
|
||||||
GlanceRbdPoolName:
|
|
||||||
default: images
|
|
||||||
type: string
|
|
||||||
GnocchiRbdPoolName:
|
|
||||||
default: metrics
|
|
||||||
type: string
|
|
||||||
NovaRbdPoolName:
|
|
||||||
default: vms
|
|
||||||
type: string
|
|
||||||
CephPools:
|
|
||||||
description: >
|
|
||||||
It can be used to override settings for one of the predefined pools, or to create
|
|
||||||
additional ones. Example:
|
|
||||||
{
|
|
||||||
"volumes": {
|
|
||||||
"size": 5,
|
|
||||||
"pg_num": 128,
|
|
||||||
"pgp_num": 128
|
|
||||||
}
|
|
||||||
}
|
|
||||||
default: {}
|
|
||||||
type: json
|
|
||||||
CephValidationRetries:
|
|
||||||
type: number
|
|
||||||
default: 40
|
|
||||||
description: Number of retry attempts for Ceph validation
|
|
||||||
CephValidationDelay:
|
|
||||||
type: number
|
|
||||||
default: 30
|
|
||||||
description: Interval (in seconds) in between validation checks
|
|
||||||
MonitoringSubscriptionCephMon:
|
|
||||||
default: 'overcloud-ceph-mon'
|
|
||||||
type: string
|
|
||||||
CephPoolDefaultSize:
|
|
||||||
description: default minimum replication for RBD copies
|
|
||||||
type: number
|
|
||||||
default: 3
|
|
||||||
|
|
||||||
resources:
|
|
||||||
CephBase:
|
|
||||||
type: ./ceph-base.yaml
|
|
||||||
properties:
|
|
||||||
ServiceData: {get_param: ServiceData}
|
|
||||||
ServiceNetMap: {get_param: ServiceNetMap}
|
|
||||||
DefaultPasswords: {get_param: DefaultPasswords}
|
|
||||||
EndpointMap: {get_param: EndpointMap}
|
|
||||||
RoleName: {get_param: RoleName}
|
|
||||||
RoleParameters: {get_param: RoleParameters}
|
|
||||||
|
|
||||||
outputs:
|
|
||||||
role_data:
|
|
||||||
description: Role data for the Ceph Monitor service.
|
|
||||||
value:
|
|
||||||
service_name: ceph_mon
|
|
||||||
monitoring_subscription: {get_param: MonitoringSubscriptionCephMon}
|
|
||||||
config_settings:
|
|
||||||
map_merge:
|
|
||||||
- get_attr: [CephBase, role_data, config_settings]
|
|
||||||
- ceph::profile::params::ms_bind_ipv6: {get_param: CephIPv6}
|
|
||||||
ceph::profile::params::mon_key: {get_param: CephMonKey}
|
|
||||||
ceph::profile::params::osd_pool_default_pg_num: 128
|
|
||||||
ceph::profile::params::osd_pool_default_pgp_num: 128
|
|
||||||
ceph::profile::params::osd_pool_default_size: {get_param: CephPoolDefaultSize}
|
|
||||||
# repeat returns items in a list, so we need to map_merge twice
|
|
||||||
tripleo::profile::base::ceph::mon::ceph_pools:
|
|
||||||
map_merge:
|
|
||||||
- map_merge:
|
|
||||||
repeat:
|
|
||||||
for_each:
|
|
||||||
<%pool%>:
|
|
||||||
list_concat:
|
|
||||||
- - {get_param: CinderRbdPoolName}
|
|
||||||
- {get_param: ManilaCephFSDataPoolName}
|
|
||||||
- {get_param: ManilaCephFSMetadataPoolName}
|
|
||||||
- {get_param: CinderBackupRbdPoolName}
|
|
||||||
- {get_param: NovaRbdPoolName}
|
|
||||||
- {get_param: GlanceRbdPoolName}
|
|
||||||
- {get_param: GnocchiRbdPoolName}
|
|
||||||
# CinderRbdExtraPools is a list (do not indent further)
|
|
||||||
- {get_param: CinderRbdExtraPools}
|
|
||||||
template:
|
|
||||||
<%pool%>:
|
|
||||||
pg_num: "%{hiera('ceph::profile::params::osd_pool_default_pg_num')}"
|
|
||||||
pgp_num: "%{hiera('ceph::profile::params::osd_pool_default_pgp_num')}"
|
|
||||||
size: "%{hiera('ceph::profile::params::osd_pool_default_size')}"
|
|
||||||
- {get_param: CephPools}
|
|
||||||
tripleo.ceph_mon.firewall_rules:
|
|
||||||
'110 ceph_mon':
|
|
||||||
dport:
|
|
||||||
- 6789
|
|
||||||
service_config_settings:
|
|
||||||
get_attr: [CephBase, role_data, service_config_settings]
|
|
||||||
step_config: |
|
|
||||||
include ::tripleo::profile::base::ceph::mon
|
|
||||||
upgrade_batch_tasks:
|
|
||||||
# NOTE: upgrade_batch_tasks are deprecated in Queens.
|
|
||||||
# Note we perform these tasks in list order, but they are all step0 so
|
|
||||||
# we can perform a rolling upgrade of all mon nodes in step0, then a
|
|
||||||
# rolling upgrade of all osd nodes in step1
|
|
||||||
- when: step|int == 0
|
|
||||||
block:
|
|
||||||
- name: Check status
|
|
||||||
tags: validation
|
|
||||||
shell: ceph health | egrep -sq "HEALTH_OK|HEALTH_WARN"
|
|
||||||
- name: Stop CephMon
|
|
||||||
service:
|
|
||||||
name: ceph-mon@{{ ansible_hostname }}
|
|
||||||
state: stopped
|
|
||||||
- name: Update Ceph packages
|
|
||||||
yum:
|
|
||||||
name: ceph-mon
|
|
||||||
state: latest
|
|
||||||
- name: Start CephMon
|
|
||||||
service:
|
|
||||||
name: ceph-mon@{{ ansible_hostname }}
|
|
||||||
state: started
|
|
||||||
# ceph-ansible
|
|
||||||
# https://github.com/ceph/ceph-ansible/blob/master/infrastructure-playbooks/rolling_update.yml#L149-L157
|
|
||||||
- name: Wait for the monitor to join the quorum...
|
|
||||||
tags: ceph_quorum_validation
|
|
||||||
shell: |
|
|
||||||
ceph -s | grep monmap | sed 's/.*quorum//' | egrep -sq {{ ansible_hostname }}
|
|
||||||
register: ceph_quorum_nodecheck
|
|
||||||
until: ceph_quorum_nodecheck.rc == 0
|
|
||||||
retries: {get_param: CephValidationRetries}
|
|
||||||
delay: {get_param: CephValidationDelay}
|
|
||||||
- name: ceph osd crush tunables default
|
|
||||||
shell: ceph osd crush tunables default
|
|
@ -1,135 +0,0 @@
|
|||||||
heat_template_version: rocky
|
|
||||||
|
|
||||||
description: >
|
|
||||||
Ceph OSD service.
|
|
||||||
|
|
||||||
parameters:
|
|
||||||
ServiceData:
|
|
||||||
default: {}
|
|
||||||
description: Dictionary packing service data
|
|
||||||
type: json
|
|
||||||
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
|
|
||||||
RoleName:
|
|
||||||
default: ''
|
|
||||||
description: Role name on which the service is applied
|
|
||||||
type: string
|
|
||||||
RoleParameters:
|
|
||||||
default: {}
|
|
||||||
description: Parameters specific to the role
|
|
||||||
type: json
|
|
||||||
EndpointMap:
|
|
||||||
default: {}
|
|
||||||
description: Mapping of service endpoint -> protocol. Typically set
|
|
||||||
via parameter_defaults in the resource registry.
|
|
||||||
type: json
|
|
||||||
MonitoringSubscriptionCephOsd:
|
|
||||||
default: 'overcloud-ceph-osd'
|
|
||||||
type: string
|
|
||||||
CephValidationRetries:
|
|
||||||
type: number
|
|
||||||
default: 40
|
|
||||||
description: Number of retry attempts for Ceph validation
|
|
||||||
CephValidationDelay:
|
|
||||||
type: number
|
|
||||||
default: 30
|
|
||||||
description: Interval (in seconds) in between validation checks
|
|
||||||
IgnoreCephUpgradeWarnings:
|
|
||||||
type: boolean
|
|
||||||
default: false
|
|
||||||
description: If enabled, Ceph upgrade will be forced even though cluster or PGs status is not clean
|
|
||||||
|
|
||||||
parameter_groups:
|
|
||||||
- label: deprecated
|
|
||||||
description: Do not use deprecated params, they will be removed.
|
|
||||||
parameters:
|
|
||||||
- IgnoreCephUpgradeWarnings
|
|
||||||
|
|
||||||
resources:
|
|
||||||
CephBase:
|
|
||||||
type: ./ceph-base.yaml
|
|
||||||
properties:
|
|
||||||
ServiceData: {get_param: ServiceData}
|
|
||||||
ServiceNetMap: {get_param: ServiceNetMap}
|
|
||||||
DefaultPasswords: {get_param: DefaultPasswords}
|
|
||||||
EndpointMap: {get_param: EndpointMap}
|
|
||||||
RoleName: {get_param: RoleName}
|
|
||||||
RoleParameters: {get_param: RoleParameters}
|
|
||||||
|
|
||||||
outputs:
|
|
||||||
role_data:
|
|
||||||
description: Role data for the Cinder OSD service.
|
|
||||||
value:
|
|
||||||
service_name: ceph_osd
|
|
||||||
monitoring_subscription: {get_param: MonitoringSubscriptionCephOsd}
|
|
||||||
config_settings:
|
|
||||||
map_merge:
|
|
||||||
- get_attr: [CephBase, role_data, config_settings]
|
|
||||||
- tripleo.ceph_osd.firewall_rules:
|
|
||||||
'111 ceph_osd':
|
|
||||||
dport:
|
|
||||||
- '6800-7300'
|
|
||||||
step_config: |
|
|
||||||
include ::tripleo::profile::base::ceph::osd
|
|
||||||
upgrade_batch_tasks:
|
|
||||||
# NOTE: upgrade_batch_tasks are deprecated in Queens.
|
|
||||||
- when: step|int == 1
|
|
||||||
block:
|
|
||||||
- name: Check status
|
|
||||||
tags: validation
|
|
||||||
shell: ceph health | grep -qv HEALTH_ERR
|
|
||||||
- name: Get OSD IDs
|
|
||||||
shell: ls /var/lib/ceph/osd | awk 'BEGIN { FS = "-" } ; { print $2 }'
|
|
||||||
register: osd_ids
|
|
||||||
# "so that mirrors aren't rebalanced as if the OSD died" - gfidente / leseb
|
|
||||||
- name: ceph osd set noout
|
|
||||||
command: ceph osd set noout
|
|
||||||
- name: ceph osd set norebalance
|
|
||||||
command: ceph osd set norebalance
|
|
||||||
- name: ceph osd set nodeep-scrub
|
|
||||||
command: ceph osd set nodeep-scrub
|
|
||||||
- name: ceph osd set noscrub
|
|
||||||
command: ceph osd set noscrub
|
|
||||||
- name: Stop CephOSD
|
|
||||||
service:
|
|
||||||
name: ceph-osd@{{ item }}
|
|
||||||
state: stopped
|
|
||||||
with_items: "{{osd_ids.stdout.strip().split()}}"
|
|
||||||
- name: Update Ceph packages
|
|
||||||
yum:
|
|
||||||
name: ceph-osd
|
|
||||||
state: latest
|
|
||||||
- name: Start CephOSD
|
|
||||||
service:
|
|
||||||
name: ceph-osd@{{ item }}
|
|
||||||
state: started
|
|
||||||
with_items: "{{osd_ids.stdout.strip().split()}}"
|
|
||||||
# with awk we are meant to check if $2 and $4 are *the same* but it returns 1 when
|
|
||||||
# they are, so the check is inverted to produce an useful exit code
|
|
||||||
- name: Wait for clean pgs...
|
|
||||||
tags: ceph_pgs_clean_validation
|
|
||||||
vars:
|
|
||||||
ignore_warnings: {get_param: IgnoreCephUpgradeWarnings}
|
|
||||||
shell: |
|
|
||||||
ceph pg stat | awk '{exit($2!=$4)}' && ceph health | egrep -sq "HEALTH_OK|HEALTH_WARN"
|
|
||||||
register: ceph_pgs_healthcheck
|
|
||||||
until: ceph_pgs_healthcheck.rc == 0
|
|
||||||
retries: {get_param: CephValidationRetries}
|
|
||||||
delay: {get_param: CephValidationDelay}
|
|
||||||
when:
|
|
||||||
- not ignore_warnings
|
|
||||||
- name: ceph osd unset noout
|
|
||||||
command: ceph osd unset noout
|
|
||||||
- name: ceph osd unset norebalance
|
|
||||||
command: ceph osd unset norebalance
|
|
||||||
- name: ceph osd unset nodeep-scrub
|
|
||||||
command: ceph osd unset nodeep-scrub
|
|
||||||
- name: ceph osd unset noscrub
|
|
||||||
command: ceph osd unset noscrub
|
|
@ -1,122 +0,0 @@
|
|||||||
heat_template_version: rocky
|
|
||||||
|
|
||||||
description: >
|
|
||||||
Ceph RadosGW service.
|
|
||||||
|
|
||||||
parameters:
|
|
||||||
ServiceData:
|
|
||||||
default: {}
|
|
||||||
description: Dictionary packing service data
|
|
||||||
type: json
|
|
||||||
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
|
|
||||||
RoleName:
|
|
||||||
default: ''
|
|
||||||
description: Role name on which the service is applied
|
|
||||||
type: string
|
|
||||||
RoleParameters:
|
|
||||||
default: {}
|
|
||||||
description: Parameters specific to the role
|
|
||||||
type: json
|
|
||||||
EndpointMap:
|
|
||||||
default: {}
|
|
||||||
description: Mapping of service endpoint -> protocol. Typically set
|
|
||||||
via parameter_defaults in the resource registry.
|
|
||||||
type: json
|
|
||||||
AdminToken:
|
|
||||||
description: The keystone auth secret and db password.
|
|
||||||
type: string
|
|
||||||
hidden: true
|
|
||||||
CephRgwKey:
|
|
||||||
description: The cephx key for the radosgw client. Can be created
|
|
||||||
with ceph-authtool --gen-print-key.
|
|
||||||
type: string
|
|
||||||
hidden: true
|
|
||||||
SwiftPassword:
|
|
||||||
description: The password for the swift service account
|
|
||||||
type: string
|
|
||||||
hidden: true
|
|
||||||
KeystoneRegion:
|
|
||||||
type: string
|
|
||||||
default: 'regionOne'
|
|
||||||
description: Keystone region for endpoint
|
|
||||||
|
|
||||||
resources:
|
|
||||||
CephBase:
|
|
||||||
type: ./ceph-base.yaml
|
|
||||||
properties:
|
|
||||||
ServiceData: {get_param: ServiceData}
|
|
||||||
ServiceNetMap: {get_param: ServiceNetMap}
|
|
||||||
DefaultPasswords: {get_param: DefaultPasswords}
|
|
||||||
EndpointMap: {get_param: EndpointMap}
|
|
||||||
RoleName: {get_param: RoleName}
|
|
||||||
RoleParameters: {get_param: RoleParameters}
|
|
||||||
|
|
||||||
outputs:
|
|
||||||
role_data:
|
|
||||||
description: Role data for the Ceph RadosGW service.
|
|
||||||
value:
|
|
||||||
service_name: ceph_rgw
|
|
||||||
config_settings:
|
|
||||||
map_merge:
|
|
||||||
- get_attr: [CephBase, role_data, config_settings]
|
|
||||||
- tripleo::profile::base::ceph::rgw::rgw_key: {get_param: CephRgwKey}
|
|
||||||
tripleo::profile::base::ceph::rgw::keystone_admin_token: {get_param: AdminToken}
|
|
||||||
tripleo::profile::base::ceph::rgw::keystone_url: {get_param: [EndpointMap, KeystoneInternal, uri_no_suffix]}
|
|
||||||
tripleo::profile::base::ceph::rgw::civetweb_bind_ip:
|
|
||||||
str_replace:
|
|
||||||
template:
|
|
||||||
"%{hiera('$NETWORK')}"
|
|
||||||
params:
|
|
||||||
$NETWORK: {get_param: [ServiceNetMap, CephRgwNetwork]}
|
|
||||||
tripleo::profile::base::ceph::rgw::civetweb_bind_port: {get_param: [EndpointMap, CephRgwInternal, port]}
|
|
||||||
tripleo::profile::base::ceph::rgw::rgw_keystone_version: v3
|
|
||||||
ceph::profile::params::rgw_keystone_admin_domain: default
|
|
||||||
ceph::profile::params::rgw_keystone_admin_project: service
|
|
||||||
ceph::profile::params::rgw_keystone_admin_user: swift
|
|
||||||
ceph::profile::params::rgw_keystone_admin_password: {get_param: SwiftPassword}
|
|
||||||
tripleo.ceph_rgw.firewall_rules:
|
|
||||||
'122 ceph rgw':
|
|
||||||
dport: {get_param: [EndpointMap, CephRgwInternal, port]}
|
|
||||||
step_config: |
|
|
||||||
include ::tripleo::profile::base::ceph::rgw
|
|
||||||
service_config_settings:
|
|
||||||
keystone:
|
|
||||||
ceph::rgw::keystone::auth::public_url: {get_param: [EndpointMap, CephRgwPublic, uri]}
|
|
||||||
ceph::rgw::keystone::auth::internal_url: {get_param: [EndpointMap, CephRgwInternal, uri]}
|
|
||||||
ceph::rgw::keystone::auth::admin_url: {get_param: [EndpointMap, CephRgwAdmin, uri]}
|
|
||||||
ceph::rgw::keystone::auth::region: {get_param: KeystoneRegion}
|
|
||||||
ceph::rgw::keystone::auth::roles: [ 'admin', 'Member' ]
|
|
||||||
ceph::rgw::keystone::auth::tenant: service
|
|
||||||
ceph::rgw::keystone::auth::user: swift
|
|
||||||
ceph::rgw::keystone::auth::password: {get_param: SwiftPassword}
|
|
||||||
upgrade_tasks:
|
|
||||||
- name: Gather RGW instance ID
|
|
||||||
tags: common
|
|
||||||
shell: hiera -c /etc/puppet/hiera.yaml ceph::profile::params::rgw_name radosgw.gateway
|
|
||||||
register: rgw_id
|
|
||||||
- name: Check if ceph_rgw is deployed
|
|
||||||
command: systemctl is-enabled ceph-radosgw@{{rgw_id.stdout}}
|
|
||||||
tags: common
|
|
||||||
ignore_errors: True
|
|
||||||
register: ceph_rgw_enabled
|
|
||||||
- name: Check status
|
|
||||||
shell: /usr/bin/systemctl show ceph-radosgw@{{rgw_id.stdout}} --property ActiveState | grep '\bactive\b'
|
|
||||||
when:
|
|
||||||
- step|int == 0
|
|
||||||
- ceph_rgw_enabled.rc == 0
|
|
||||||
tags: validation
|
|
||||||
- name: Stop RGW instance
|
|
||||||
when:
|
|
||||||
- step|int == 1
|
|
||||||
- ceph_rgw_enabled.rc == 0
|
|
||||||
service:
|
|
||||||
name: ceph-radosgw@{{rgw_id.stdout}}
|
|
||||||
state: stopped
|
|
@ -1,62 +0,0 @@
|
|||||||
heat_template_version: rocky
|
|
||||||
|
|
||||||
description: >
|
|
||||||
Ceph RBD mirror service.
|
|
||||||
|
|
||||||
parameters:
|
|
||||||
ServiceData:
|
|
||||||
default: {}
|
|
||||||
description: Dictionary packing service data
|
|
||||||
type: json
|
|
||||||
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
|
|
||||||
RoleName:
|
|
||||||
default: ''
|
|
||||||
description: Role name on which the service is applied
|
|
||||||
type: string
|
|
||||||
RoleParameters:
|
|
||||||
default: {}
|
|
||||||
description: Parameters specific to the role
|
|
||||||
type: json
|
|
||||||
EndpointMap:
|
|
||||||
default: {}
|
|
||||||
description: Mapping of service endpoint -> protocol. Typically set
|
|
||||||
via parameter_defaults in the resource registry.
|
|
||||||
type: json
|
|
||||||
CephClientUserName:
|
|
||||||
default: openstack
|
|
||||||
type: string
|
|
||||||
|
|
||||||
resources:
|
|
||||||
CephBase:
|
|
||||||
type: ../ceph-base.yaml
|
|
||||||
properties:
|
|
||||||
ServiceData: {get_param: ServiceData}
|
|
||||||
ServiceNetMap: {get_param: ServiceNetMap}
|
|
||||||
DefaultPasswords: {get_param: DefaultPasswords}
|
|
||||||
EndpointMap: {get_param: EndpointMap}
|
|
||||||
RoleName: {get_param: RoleName}
|
|
||||||
RoleParameters: {get_param: RoleParameters}
|
|
||||||
|
|
||||||
outputs:
|
|
||||||
role_data:
|
|
||||||
description: Role data for the Ceph RBD mirrror service.
|
|
||||||
value:
|
|
||||||
service_name: ceph_rbdmirror
|
|
||||||
config_settings:
|
|
||||||
map_merge:
|
|
||||||
- get_attr: [CephBase, role_data, config_settings]
|
|
||||||
- tripleo::profile::pacemaker::ceph::rbdmirror::client_name: {get_param: CephClientUserName}
|
|
||||||
tripleo.ceph_rbdmirror.firewall_rules:
|
|
||||||
'113 ceph_rbdmirror':
|
|
||||||
dport:
|
|
||||||
- '6800-7300'
|
|
||||||
step_config: |
|
|
||||||
include ::tripleo::profile::pacemaker::ceph::rbdmirror
|
|
@ -0,0 +1,9 @@
|
|||||||
|
---
|
||||||
|
deprecations:
|
||||||
|
- |
|
||||||
|
Deployment of a managed Ceph cluster using puppet-ceph
|
||||||
|
is not supported from the Pike release. From the Queens
|
||||||
|
release it is not supported to use puppet-ceph when
|
||||||
|
configuring OpenStack with an external Ceph cluster.
|
||||||
|
In Rocky any support file necessary for the deployment
|
||||||
|
with puppet-ceph is removed completely.
|
@ -1,38 +1,4 @@
|
|||||||
environments:
|
environments:
|
||||||
-
|
|
||||||
name: storage/enable-ceph
|
|
||||||
title: Enable Ceph Storage Backend
|
|
||||||
files:
|
|
||||||
puppet/services/cinder-volume.yaml:
|
|
||||||
parameters:
|
|
||||||
- CinderEnableIscsiBackend
|
|
||||||
- CinderEnableRbdBackend
|
|
||||||
puppet/services/cinder-backup.yaml:
|
|
||||||
parameters:
|
|
||||||
- CinderBackupBackend
|
|
||||||
puppet/services/nova-compute.yaml:
|
|
||||||
parameters:
|
|
||||||
- NovaEnableRbdBackend
|
|
||||||
puppet/services/glance-api.yaml:
|
|
||||||
parameters:
|
|
||||||
- GlanceBackend
|
|
||||||
puppet/services/gnocchi-api.yaml:
|
|
||||||
parameters:
|
|
||||||
- GnocchiBackend
|
|
||||||
sample_values:
|
|
||||||
CinderEnableIscsiBackend: False
|
|
||||||
CinderEnableRbdBackend: True
|
|
||||||
CinderBackupBackend: rbd
|
|
||||||
NovaEnableRbdBackend: True
|
|
||||||
GlanceBackend: rbd
|
|
||||||
GnocchiBackend: rbd
|
|
||||||
resource_registry:
|
|
||||||
OS::TripleO::Services::CephMon: ../../puppet/services/ceph-mon.yaml
|
|
||||||
OS::TripleO::Services::CephOSD: ../../puppet/services/ceph-osd.yaml
|
|
||||||
OS::TripleO::Services::CephClient: ../../puppet/services/ceph-client.yaml
|
|
||||||
description: |
|
|
||||||
Include this environment to enable Ceph as the backend for
|
|
||||||
Cinder, Nova, Gnocchi, and Glance.
|
|
||||||
-
|
-
|
||||||
name: storage/cinder-nfs
|
name: storage/cinder-nfs
|
||||||
title: Enable Cinder NFS Backend
|
title: Enable Cinder NFS Backend
|
||||||
@ -87,60 +53,6 @@ environments:
|
|||||||
description: |
|
description: |
|
||||||
Configure and include this environment to enable the use of an NFS
|
Configure and include this environment to enable the use of an NFS
|
||||||
share as the backend for Nova.
|
share as the backend for Nova.
|
||||||
-
|
|
||||||
name: storage/external-ceph
|
|
||||||
title: Deploy Using an External Ceph Cluster
|
|
||||||
files:
|
|
||||||
puppet/services/nova-compute.yaml:
|
|
||||||
parameters:
|
|
||||||
- NovaRbdPoolName
|
|
||||||
- NovaEnableRbdBackend
|
|
||||||
- CephClientUserName
|
|
||||||
puppet/services/cinder-volume.yaml:
|
|
||||||
parameters:
|
|
||||||
- CinderRbdPoolName
|
|
||||||
- CinderEnableIscsiBackend
|
|
||||||
- CinderEnableRbdBackend
|
|
||||||
puppet/services/glance-api.yaml:
|
|
||||||
parameters:
|
|
||||||
- GlanceRbdPoolName
|
|
||||||
- GlanceBackend
|
|
||||||
puppet/services/gnocchi-api.yaml:
|
|
||||||
parameters:
|
|
||||||
- GnocchiBackend
|
|
||||||
puppet/services/gnocchi-base.yaml:
|
|
||||||
parameters:
|
|
||||||
- GnocchiRbdPoolName
|
|
||||||
puppet/services/ceph-external.yaml:
|
|
||||||
parameters:
|
|
||||||
- CephClusterFSID
|
|
||||||
- CephClientKey
|
|
||||||
- CephExternalMonHost
|
|
||||||
- RbdDefaultFeatures
|
|
||||||
puppet/services/ceph-base.yaml:
|
|
||||||
parameters:
|
|
||||||
- CephAdminKey
|
|
||||||
sample_values:
|
|
||||||
CinderEnableIscsiBackend: False
|
|
||||||
CinderEnableRbdBackend: True
|
|
||||||
NovaEnableRbdBackend: True
|
|
||||||
GlanceBackend: rbd
|
|
||||||
GnocchiBackend: rbd
|
|
||||||
NovaRbdPoolName: vms
|
|
||||||
CinderRbdPoolName: volumes
|
|
||||||
GlanceRbdPoolName: images
|
|
||||||
GnocchiRbdPoolName: metrics
|
|
||||||
CephClientUserName: openstack
|
|
||||||
CephAdminKey: ''
|
|
||||||
description: |
|
|
||||||
A Heat environment file which can be used to enable the
|
|
||||||
use of an externally managed Ceph cluster.
|
|
||||||
resource_registry:
|
|
||||||
OS::TripleO::Services::CephExternal: ../../puppet/services/ceph-external.yaml
|
|
||||||
OS::TripleO::Services::CephMon: OS::Heat::None
|
|
||||||
OS::TripleO::Services::CephClient: OS::Heat::None
|
|
||||||
OS::TripleO::Services::CephOSD: OS::Heat::None
|
|
||||||
-
|
|
||||||
name: storage/cinder-netapp-config
|
name: storage/cinder-netapp-config
|
||||||
title: Enable the Cinder NetApp Backend
|
title: Enable the Cinder NetApp Backend
|
||||||
description: |
|
description: |
|
||||||
|
Loading…
x
Reference in New Issue
Block a user