From 753a3504184d966c63121ca95bc0135afbc83a75 Mon Sep 17 00:00:00 2001 From: Giulio Fidente Date: Wed, 28 Feb 2018 12:04:57 +0100 Subject: [PATCH] Remove support for puppet-ceph Deployment of a managed Ceph cluster using puppet-ceph is not supported from the Pike release. From Queens it is not supported use of puppet-ceph when using an external Ceph cluster either. This change removes the old templates necessary to support deployment of Ceph via puppet-ceph. Implements: blueprint remove-puppet-ceph Change-Id: I17b94e8023873f3129a55e69efd751be0674dfcb --- environments/ceph-radosgw.yaml | 8 - environments/puppet-ceph-devel.yaml | 24 --- environments/puppet-ceph-external.yaml | 42 ---- environments/puppet-ceph.yaml | 16 -- environments/services/ceph-mds.yaml | 5 - environments/services/ceph-rbdmirror.yaml | 5 - environments/storage/enable-ceph.yaml | 39 ---- environments/storage/external-ceph.yaml | 78 -------- puppet/services/ceph-base.yaml | 181 ----------------- puppet/services/ceph-client.yaml | 57 ------ puppet/services/ceph-external.yaml | 125 ------------ puppet/services/ceph-mds.yaml | 76 ------- puppet/services/ceph-mon.yaml | 187 ------------------ puppet/services/ceph-osd.yaml | 135 ------------- puppet/services/ceph-rgw.yaml | 122 ------------ puppet/services/pacemaker/ceph-rbdmirror.yaml | 62 ------ ...port-for-puppet-ceph-bdafca24a59e7075.yaml | 9 + sample-env-generator/storage.yaml | 88 --------- 18 files changed, 9 insertions(+), 1250 deletions(-) delete mode 100644 environments/ceph-radosgw.yaml delete mode 100644 environments/puppet-ceph-devel.yaml delete mode 100644 environments/puppet-ceph-external.yaml delete mode 100644 environments/puppet-ceph.yaml delete mode 100644 environments/services/ceph-mds.yaml delete mode 100644 environments/services/ceph-rbdmirror.yaml delete mode 100644 environments/storage/enable-ceph.yaml delete mode 100644 environments/storage/external-ceph.yaml delete mode 100644 puppet/services/ceph-base.yaml delete mode 100644 puppet/services/ceph-client.yaml delete mode 100644 puppet/services/ceph-external.yaml delete mode 100644 puppet/services/ceph-mds.yaml delete mode 100644 puppet/services/ceph-mon.yaml delete mode 100644 puppet/services/ceph-osd.yaml delete mode 100644 puppet/services/ceph-rgw.yaml delete mode 100644 puppet/services/pacemaker/ceph-rbdmirror.yaml create mode 100644 releasenotes/notes/remove-support-for-puppet-ceph-bdafca24a59e7075.yaml diff --git a/environments/ceph-radosgw.yaml b/environments/ceph-radosgw.yaml deleted file mode 100644 index 333c86b62d..0000000000 --- a/environments/ceph-radosgw.yaml +++ /dev/null @@ -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 diff --git a/environments/puppet-ceph-devel.yaml b/environments/puppet-ceph-devel.yaml deleted file mode 100644 index 6a69914ba5..0000000000 --- a/environments/puppet-ceph-devel.yaml +++ /dev/null @@ -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 - diff --git a/environments/puppet-ceph-external.yaml b/environments/puppet-ceph-external.yaml deleted file mode 100644 index 65bbc3e48c..0000000000 --- a/environments/puppet-ceph-external.yaml +++ /dev/null @@ -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: '' diff --git a/environments/puppet-ceph.yaml b/environments/puppet-ceph.yaml deleted file mode 100644 index 2b4dfa0536..0000000000 --- a/environments/puppet-ceph.yaml +++ /dev/null @@ -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 diff --git a/environments/services/ceph-mds.yaml b/environments/services/ceph-mds.yaml deleted file mode 100644 index 120a13a40a..0000000000 --- a/environments/services/ceph-mds.yaml +++ /dev/null @@ -1,5 +0,0 @@ -# ****************************************************************************** -# DEPRECATED: Use ../ceph-ansible/ceph-mds.yaml -# ****************************************************************************** -resource_registry: - OS::TripleO::Services::CephMds: ../../docker/services/ceph-ansible/ceph-mds.yaml diff --git a/environments/services/ceph-rbdmirror.yaml b/environments/services/ceph-rbdmirror.yaml deleted file mode 100644 index ff1748a9d3..0000000000 --- a/environments/services/ceph-rbdmirror.yaml +++ /dev/null @@ -1,5 +0,0 @@ -# ****************************************************************************** -# DEPRECATED: Use ../ceph-ansible/ceph-rbdmirror.yaml -# ****************************************************************************** -resource_registry: - OS::TripleO::Services::CephRbdMirror: ../../docker/services/ceph-ansible/ceph-rbdmirror.yaml diff --git a/environments/storage/enable-ceph.yaml b/environments/storage/enable-ceph.yaml deleted file mode 100644 index 8d8227b498..0000000000 --- a/environments/storage/enable-ceph.yaml +++ /dev/null @@ -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 diff --git a/environments/storage/external-ceph.yaml b/environments/storage/external-ceph.yaml deleted file mode 100644 index b5593d5c59..0000000000 --- a/environments/storage/external-ceph.yaml +++ /dev/null @@ -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: - - # - # Type: string - CephClientUserName: openstack - - # The Ceph cluster FSID. Must be a UUID. - # Mandatory. This parameter must be set by the user. - # Type: string - CephClusterFSID: - - # 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 diff --git a/puppet/services/ceph-base.yaml b/puppet/services/ceph-base.yaml deleted file mode 100644 index bd72c6496a..0000000000 --- a/puppet/services/ceph-base.yaml +++ /dev/null @@ -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 diff --git a/puppet/services/ceph-client.yaml b/puppet/services/ceph-client.yaml deleted file mode 100644 index 4c36dad1d1..0000000000 --- a/puppet/services/ceph-client.yaml +++ /dev/null @@ -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 diff --git a/puppet/services/ceph-external.yaml b/puppet/services/ceph-external.yaml deleted file mode 100644 index 7373f3b31b..0000000000 --- a/puppet/services/ceph-external.yaml +++ /dev/null @@ -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 diff --git a/puppet/services/ceph-mds.yaml b/puppet/services/ceph-mds.yaml deleted file mode 100644 index 1c0487e0ad..0000000000 --- a/puppet/services/ceph-mds.yaml +++ /dev/null @@ -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 diff --git a/puppet/services/ceph-mon.yaml b/puppet/services/ceph-mon.yaml deleted file mode 100644 index 86b469efbc..0000000000 --- a/puppet/services/ceph-mon.yaml +++ /dev/null @@ -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 diff --git a/puppet/services/ceph-osd.yaml b/puppet/services/ceph-osd.yaml deleted file mode 100644 index 3fbae490dd..0000000000 --- a/puppet/services/ceph-osd.yaml +++ /dev/null @@ -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 diff --git a/puppet/services/ceph-rgw.yaml b/puppet/services/ceph-rgw.yaml deleted file mode 100644 index 5a25d57444..0000000000 --- a/puppet/services/ceph-rgw.yaml +++ /dev/null @@ -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 diff --git a/puppet/services/pacemaker/ceph-rbdmirror.yaml b/puppet/services/pacemaker/ceph-rbdmirror.yaml deleted file mode 100644 index 06568a28e7..0000000000 --- a/puppet/services/pacemaker/ceph-rbdmirror.yaml +++ /dev/null @@ -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 \ No newline at end of file diff --git a/releasenotes/notes/remove-support-for-puppet-ceph-bdafca24a59e7075.yaml b/releasenotes/notes/remove-support-for-puppet-ceph-bdafca24a59e7075.yaml new file mode 100644 index 0000000000..96e4d78dad --- /dev/null +++ b/releasenotes/notes/remove-support-for-puppet-ceph-bdafca24a59e7075.yaml @@ -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. diff --git a/sample-env-generator/storage.yaml b/sample-env-generator/storage.yaml index 81bdcd155f..61b492c2fa 100644 --- a/sample-env-generator/storage.yaml +++ b/sample-env-generator/storage.yaml @@ -1,38 +1,4 @@ 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 title: Enable Cinder NFS Backend @@ -87,60 +53,6 @@ environments: description: | Configure and include this environment to enable the use of an NFS 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 title: Enable the Cinder NetApp Backend description: |