diff --git a/README.rst b/README.rst
index 4565f590fe..a5665b7812 100644
--- a/README.rst
+++ b/README.rst
@@ -87,7 +87,6 @@ Infrastructure components
Kolla-Ansible deploys containers for the following infrastructure components:
-- `Ceph `__ implementation for Cinder, Glance and Nova.
- `Collectd `__,
`Telegraf `__,
`InfluxDB `__,
diff --git a/ansible/group_vars/all.yml b/ansible/group_vars/all.yml
index cb584740d1..6421b1915f 100644
--- a/ansible/group_vars/all.yml
+++ b/ansible/group_vars/all.yml
@@ -394,7 +394,6 @@ prometheus_node_exporter_port: "9100"
prometheus_mysqld_exporter_port: "9104"
prometheus_haproxy_exporter_port: "9101"
prometheus_memcached_exporter_port: "9150"
-prometheus_ceph_mgr_exporter_port: "9283"
# Default cadvisor port of 8080 already in use
prometheus_cadvisor_port: "18080"
@@ -549,11 +548,6 @@ enable_ceilometer: "no"
enable_ceilometer_ipmi: "no"
enable_cells: "no"
enable_central_logging: "no"
-enable_ceph: "no"
-enable_ceph_mds: "no"
-enable_ceph_rgw: "no"
-enable_ceph_nfs: "no"
-enable_ceph_dashboard: "{{ enable_ceph | bool }}"
enable_chrony: "yes"
enable_cinder: "no"
enable_cinder_backup: "yes"
@@ -812,15 +806,11 @@ openstack_auth:
#######################
# Glance options
#######################
-# Using glance_backend_ceph rather than enable_ceph to determine whether to
-# use the file backend, as this allows for the external ceph case, where
-# enable_ceph is False.
glance_backend_file: "{{ not (glance_backend_ceph | bool or glance_backend_swift | bool or glance_backend_vmware | bool) }}"
-glance_backend_ceph: "{{ enable_ceph }}"
+glance_backend_ceph: "no"
glance_backend_vmware: "no"
enable_glance_image_cache: "no"
-# ceph backend has priority over swift in all-ceph clusters
-glance_backend_swift: "{{ not (enable_ceph | bool) and enable_swift | bool }}"
+glance_backend_swift: "{{ enable_swift | bool }}"
glance_file_datadir_volume: "glance"
glance_enable_rolling_upgrade: "no"
glance_api_hosts: "{{ [groups['glance-api']|first] if glance_backend_file | bool and glance_file_datadir_volume == 'glance' else groups['glance-api'] }}"
@@ -844,7 +834,7 @@ panko_database_type: "mysql"
#################
# Valid options are [ file, ceph, swift ]
# Defaults to file if ceph and swift are enabled; explicitly set to either if required.
-gnocchi_backend_storage: "{% if enable_ceph | bool and not enable_swift | bool %}ceph{% elif enable_swift | bool and not enable_ceph | bool %}swift{% else %}file{% endif %}"
+gnocchi_backend_storage: "{% if enable_swift | bool %}swift{% else %}file{% endif %}"
# Valid options are [redis, '']
gnocchi_incoming_storage: "{{ 'redis' if enable_redis | bool else '' }}"
@@ -854,7 +844,7 @@ gnocchi_metric_datadir_volume: "gnocchi"
#################################
# Cinder options
#################################
-cinder_backend_ceph: "{{ enable_ceph }}"
+cinder_backend_ceph: "no"
cinder_backend_vmwarevc_vmdk: "no"
cinder_volume_group: "cinder-volumes"
cinder_target_helper: "{{ 'lioadm' if ansible_os_family == 'RedHat' and ansible_distribution_major_version is version_compare('8', '>=') else 'tgtadm' }}"
@@ -913,7 +903,7 @@ neutron_legacy_iptables: "no"
#######################
# Nova options
#######################
-nova_backend_ceph: "{{ enable_ceph }}"
+nova_backend_ceph: "no"
nova_backend: "{{ 'rbd' if nova_backend_ceph | bool else 'default' }}"
# Valid options are [ kvm, qemu, vmware, xenapi ]
nova_compute_virt_type: "kvm"
@@ -964,43 +954,12 @@ octavia_amp_flavor_id:
qinling_kubernetes_certificates: "no"
###################
-# Ceph options
+# External Ceph options
###################
-# Ceph can be setup with a caching to improve performance. To use the cache you
-# must provide separate disks than those for the OSDs
-ceph_enable_cache: "no"
-
+# External Ceph - cephx auth enabled (this is the standard nowadays, defaults to yes)
external_ceph_cephx_enabled: "yes"
-# Ceph is not able to determine the size of a cache pool automatically,
-# so the configuration on the absolute size is required here, otherwise the flush/evict will not work.
-ceph_target_max_bytes: ""
-ceph_target_max_objects: ""
-
-# Valid options are [ forward, none, writeback ]
-ceph_cache_mode: "writeback"
-
-# Valid options are [ ext4, btrfs, xfs ]
-ceph_osd_filesystem: "xfs"
-
-# Set to 'yes-i-really-really-mean-it' to force wipe disks with existing partitions for OSDs. Only
-# set if you understand the consequences!
-ceph_osd_wipe_disk: ""
-
-# These are /etc/fstab options. Comma separated, no spaces (see fstab(8))
-ceph_osd_mount_options: "defaults,noatime"
-
-# A requirement for using the erasure-coded pools is you must setup a cache tier
-# Valid options are [ erasure, replicated ]
-ceph_pool_type: "replicated"
-
-# Integrate Ceph Rados Object Gateway with OpenStack keystone
-enable_ceph_rgw_keystone: "no"
-
-# Enable/disable ceph-rgw compatibility with OpenStack Swift
-# Valid options are [ True, False ]
-ceph_rgw_compatibility: "False"
-
+# External Ceph pool names
ceph_cinder_pool_name: "volumes"
ceph_cinder_backup_pool_name: "backups"
ceph_glance_pool_name: "images"
@@ -1014,38 +973,13 @@ ceph_gnocchi_user: "gnocchi"
ceph_manila_user: "manila"
ceph_nova_user: "nova"
-ceph_erasure_profile: "k=4 m=2 ruleset-failure-domain=host"
-ceph_rule: "default host {{ 'indep' if ceph_pool_type == 'erasure' else 'firstn' }}"
-ceph_cache_rule: "cache host firstn"
-
-# Set the pgs and pgps for pool
-# WARNING! These values are dependant on the size and shape of your cluster -
-# the default values are not suitable for production use. Please refer to the
-# Kolla Ceph documentation for more information.
-ceph_pool_pg_num: 8
-ceph_pool_pgp_num: 8
-
-# Set the store type for ceph OSD
-# Valid options are [ filestore, bluestore]
-ceph_osd_store_type: "bluestore"
-
-# Set the host type for ceph daemons
-# Valid options are [ IP, HOSTNAME, FQDN, INVENTORY ]
-# Note: For existing clusters, please don't modify this parameter. Otherwise,
-# the existing mon will be invalidated, and the existing osd crush map will
-# be changed.
-ceph_mon_host_type: "IP"
-ceph_mgr_host_type: "INVENTORY"
-ceph_osd_host_type: "IP"
-ceph_mds_host_type: "INVENTORY"
-
# External Ceph keyrings
ceph_cinder_keyring: "ceph.client.cinder.keyring"
ceph_cinder_backup_keyring: "ceph.client.cinder-backup.keyring"
ceph_glance_keyring: "ceph.client.glance.keyring"
ceph_gnocchi_keyring: "ceph.client.gnocchi.keyring"
ceph_manila_keyring: "ceph.client.manila.keyring"
-ceph_nova_keyring: "{% if enable_ceph | bool %}ceph.client.nova.keyring{% else %}{{ ceph_cinder_keyring }}{% endif %}"
+ceph_nova_keyring: "{{ ceph_cinder_keyring }}"
#####################
# VMware support
@@ -1088,7 +1022,7 @@ enable_prometheus_node_exporter: "{{ enable_prometheus | bool }}"
enable_prometheus_memcached_exporter: "{{ enable_memcached | bool }}"
enable_prometheus_cadvisor: "{{ enable_prometheus | bool }}"
enable_prometheus_alertmanager: "{{ enable_prometheus | bool }}"
-enable_prometheus_ceph_mgr_exporter: "{{ enable_ceph | bool and enable_prometheus | bool }}"
+enable_prometheus_ceph_mgr_exporter: "no"
enable_prometheus_openstack_exporter: "{{ enable_prometheus | bool }}"
enable_prometheus_elasticsearch_exporter: "{{ enable_prometheus | bool and enable_elasticsearch | bool }}"
enable_prometheus_blackbox_exporter: "{{ enable_prometheus | bool }}"
@@ -1097,6 +1031,7 @@ prometheus_alertmanager_user: "admin"
prometheus_openstack_exporter_interval: "60s"
prometheus_elasticsearch_exporter_interval: "60s"
prometheus_cmdline_extras:
+prometheus_ceph_mgr_exporter_endpoints: []
############
# Vitrage
diff --git a/ansible/inventory/all-in-one b/ansible/inventory/all-in-one
index c6ca408343..483bc94491 100644
--- a/ansible/inventory/all-in-one
+++ b/ansible/inventory/all-in-one
@@ -145,9 +145,6 @@ control
[murano:children]
control
-[ceph:children]
-control
-
[ironic:children]
control
@@ -314,25 +311,6 @@ neutron
[ironic-neutron-agent:children]
neutron
-# Ceph
-[ceph-mds:children]
-ceph
-
-[ceph-mgr:children]
-ceph
-
-[ceph-nfs:children]
-ceph
-
-[ceph-mon:children]
-ceph
-
-[ceph-rgw:children]
-ceph
-
-[ceph-osd:children]
-storage
-
# Cinder
[cinder-api:children]
cinder
diff --git a/ansible/inventory/multinode b/ansible/inventory/multinode
index e83aaf6de2..98e4f1bb18 100644
--- a/ansible/inventory/multinode
+++ b/ansible/inventory/multinode
@@ -176,9 +176,6 @@ control
[ironic:children]
control
-[ceph:children]
-control
-
[magnum:children]
control
@@ -333,25 +330,6 @@ neutron
[ironic-neutron-agent:children]
neutron
-# Ceph
-[ceph-mds:children]
-ceph
-
-[ceph-mgr:children]
-ceph
-
-[ceph-nfs:children]
-ceph
-
-[ceph-mon:children]
-ceph
-
-[ceph-rgw:children]
-ceph
-
-[ceph-osd:children]
-storage
-
# Cinder
[cinder-api:children]
cinder
diff --git a/ansible/library/kolla_ceph_keyring.py b/ansible/library/kolla_ceph_keyring.py
deleted file mode 100644
index ba61d36e98..0000000000
--- a/ansible/library/kolla_ceph_keyring.py
+++ /dev/null
@@ -1,160 +0,0 @@
-#!/usr/bin/env python
-
-# Copyright 2018 99cloud
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-import json
-import re
-import subprocess # nosec
-
-
-DOCUMENTATION = '''
----
-module: kolla_ceph_keyring
-short_description: >
- Module for update ceph client keyring caps in kolla.
-description:
- - A module used to update ceph client keyring caps in kolla.
-options:
- name:
- description:
- - the client name in ceph
- required: True
- type: str
- container_name:
- description:
- - the ceph mon container name
- required: True
- default: ceph_mon
- type: str
- caps:
- description:
- - the ceph auth caps
- required: True
- type: dict
-author: Jeffrey Zhang
-'''
-
-EXAMPLES = '''
-- name: configure admin client caps
- kolla_ceph_keyring:
- name: client.admin
- container_name: ceph_mon
- caps:
- mds: 'allow *'
- mon: 'allow *'
- osd: 'allow *'
- mgr: 'allow *'
-'''
-
-
-enoent_re = re.compile(r"\bENOENT\b")
-
-
-class CephKeyring(object):
- def __init__(self, name, caps, container_name='ceph_mon'):
- self.name = name
- self.caps = caps
- self.container_name = container_name
- self.changed = False
- self.message = None
-
- def _run(self, cmd):
- _prefix = ['docker', 'exec', self.container_name]
- cmd = _prefix + cmd
- proc = subprocess.Popen(cmd, # nosec
- stdout=subprocess.PIPE,
- stderr=subprocess.PIPE)
- stdout, stderr = proc.communicate()
- retcode = proc.poll()
- if retcode != 0:
- output = 'stdout: "%s", stderr: "%s"' % (stdout, stderr)
- raise subprocess.CalledProcessError(retcode, cmd, output)
- return stdout
-
- def _format_caps(self):
- caps = []
- for obj in sorted(self.caps):
- caps.extend([obj, self.caps[obj]])
- return caps
-
- def parse_stdout(self, stdout):
- keyring = json.loads(stdout)
- # there should be only one element
- return keyring[0]
-
- def ensure_keyring(self):
- try:
- stdout = self.get_keyring()
- except subprocess.CalledProcessError as e:
- if e.returncode != 2 or not enoent_re.search(e.output):
- # this is not a missing keyring case
- raise
- # keyring doesn't exsit, try to create it
- stdout = self.create_keyring()
- self.changed = True
- self.message = 'ceph keyring for %s is created' % self.name
- keyring = self.parse_stdout(stdout)
- if keyring['caps'] != self.caps:
- self.update_caps()
- stdout = self.get_keyring()
- keyring = self.parse_stdout(stdout)
- self.changed = True
- self.message = 'ceph keyring for %s is updated' % self.name
- self.keyring = keyring
- return self.keyring
-
- def get_keyring(self):
- ceph_cmd = ['ceph', '--format', 'json', 'auth', 'get', self.name]
- return self._run(ceph_cmd)
-
- def update_caps(self):
- ceph_cmd = ['ceph', '--format', 'json', 'auth', 'caps', self.name]
- caps = self._format_caps()
- ceph_cmd.extend(caps)
- self._run(ceph_cmd)
-
- def create_keyring(self):
- ceph_cmd = ['ceph', '--format', 'json', 'auth',
- 'get-or-create', self.name]
- caps = self._format_caps()
- ceph_cmd.extend(caps)
- return self._run(ceph_cmd)
-
-
-def main():
- specs = dict(
- name=dict(type='str', required=True),
- container_name=dict(type='str', default='ceph_mon'),
- caps=dict(type='dict', required=True)
- )
- module = AnsibleModule(argument_spec=specs) # noqa
- params = module.params
- ceph_keyring = CephKeyring(params['name'],
- params['caps'],
- params['container_name'])
- try:
- keyring = ceph_keyring.ensure_keyring()
- module.exit_json(changed=ceph_keyring.changed,
- keyring=keyring,
- message=ceph_keyring.message)
- except subprocess.CalledProcessError as ex:
- msg = ('Failed to call command: %s returncode: %s output: %s' %
- (ex.cmd, ex.returncode, ex.output))
- module.fail_json(msg=msg)
-
-
-from ansible.module_utils.basic import * # noqa
-if __name__ == "__main__":
- main()
diff --git a/ansible/roles/baremetal/defaults/main.yml b/ansible/roles/baremetal/defaults/main.yml
index 50d31c4edd..4a28dc2034 100644
--- a/ansible/roles/baremetal/defaults/main.yml
+++ b/ansible/roles/baremetal/defaults/main.yml
@@ -53,9 +53,6 @@ easy_install_available: >-
host_python_version: "{{ ansible_python.version.major }}.{{ ansible_python.version.minor }}"
host_python_major_version: "{{ ansible_python.version.major }}"
-# Ubuntu 18+ bundles nfs-ganesha 2.6.0 with Ceph Mimic packages,
-# which does udp rpcbind test even with NFSv3 disabled - therefore
-# rpcbind needs to be installed, when Ceph NFS is enabled.
debian_pkg_install:
- "{{ docker_apt_package }}"
- git
@@ -63,7 +60,6 @@ debian_pkg_install:
- "{% if not easy_install_available %}python{% if host_python_major_version == '3' %}3{% endif %}-pip{% endif %}"
- "{% if virtualenv is not none %}python{% if host_python_major_version == '3' %}3{% endif %}-virtualenv{% endif %}"
- "{% if enable_host_ntp | bool %}ntp{% endif %}"
- - "{% if enable_ceph_nfs|bool %}rpcbind{% endif %}"
redhat_pkg_install:
- "{{ docker_yum_package }}"
diff --git a/ansible/roles/ceph/defaults/main.yml b/ansible/roles/ceph/defaults/main.yml
deleted file mode 100644
index a1d407af7e..0000000000
--- a/ansible/roles/ceph/defaults/main.yml
+++ /dev/null
@@ -1,149 +0,0 @@
----
-project_name: "ceph"
-
-ceph_services:
- ceph-rgw:
- group: ceph-rgw
- enabled: "{{ enable_ceph_rgw|bool }}"
- haproxy:
- radosgw:
- enabled: "{{ enable_ceph|bool and enable_ceph_rgw|bool }}"
- mode: "http"
- external: false
- port: "{{ rgw_port }}"
- radosgw_external:
- enabled: "{{ enable_ceph|bool and enable_ceph_rgw|bool }}"
- mode: "http"
- external: true
- port: "{{ rgw_port }}"
-
-
-####################
-# Docker
-####################
-ceph_install_type: "{{ kolla_install_type }}"
-ceph_tag: "{{ openstack_tag }}"
-
-ceph_mds_image: "{{ docker_registry ~ '/' if docker_registry else '' }}{{ docker_namespace }}/{{ kolla_base_distro }}-{{ ceph_install_type }}-ceph-mds"
-ceph_mds_tag: "{{ ceph_tag }}"
-ceph_mds_image_full: "{{ ceph_mds_image }}:{{ ceph_mds_tag }}"
-
-ceph_mon_image: "{{ docker_registry ~ '/' if docker_registry else '' }}{{ docker_namespace }}/{{ kolla_base_distro }}-{{ ceph_install_type }}-ceph-mon"
-ceph_mon_tag: "{{ ceph_tag }}"
-ceph_mon_image_full: "{{ ceph_mon_image }}:{{ ceph_mon_tag }}"
-
-ceph_mgr_image: "{{ docker_registry ~ '/' if docker_registry else '' }}{{ docker_namespace }}/{{ kolla_base_distro }}-{{ ceph_install_type }}-ceph-mgr"
-ceph_mgr_tag: "{{ ceph_tag }}"
-ceph_mgr_image_full: "{{ ceph_mgr_image }}:{{ ceph_mgr_tag }}"
-
-ceph_nfs_image: "{{ docker_registry ~ '/' if docker_registry else '' }}{{ docker_namespace }}/{{ kolla_base_distro }}-{{ ceph_install_type }}-ceph-nfs"
-ceph_nfs_tag: "{{ ceph_tag }}"
-ceph_nfs_image_full: "{{ ceph_nfs_image }}:{{ ceph_nfs_tag }}"
-
-ceph_osd_image: "{{ docker_registry ~ '/' if docker_registry else '' }}{{ docker_namespace }}/{{ kolla_base_distro }}-{{ ceph_install_type }}-ceph-osd"
-ceph_osd_tag: "{{ ceph_tag }}"
-ceph_osd_image_full: "{{ ceph_osd_image }}:{{ ceph_osd_tag }}"
-
-ceph_rgw_image: "{{ docker_registry ~ '/' if docker_registry else '' }}{{ docker_namespace }}/{{ kolla_base_distro }}-{{ ceph_install_type }}-ceph-rgw"
-ceph_rgw_tag: "{{ ceph_tag }}"
-ceph_rgw_image_full: "{{ ceph_rgw_image }}:{{ ceph_rgw_tag }}"
-
-####################
-# Ceph
-####################
-osd_initial_weight: "1"
-ceph_debug: "{{ openstack_logging_debug }}"
-
-# Increase tcmalloc cache size
-ceph_tcmalloc_tc_bytes: "134217728"
-
-ceph_client_admin_keyring_caps:
- mds: "allow *"
- mon: "allow *"
- osd: "allow *"
- mgr: "allow *"
-
-ceph_client_mgr_keyring_caps:
- mon: 'allow profile mgr'
- osd: 'allow *'
- mds: 'allow *'
-
-ceph_client_mds_keyring_caps:
- mds: 'allow *'
- osd: 'allow *'
- mon: 'allow rwx'
-
-partition_name_osd_bootstrap: "{{ 'KOLLA_CEPH_OSD_BOOTSTRAP_BS' if ceph_osd_store_type == 'bluestore' else 'KOLLA_CEPH_OSD_BOOTSTRAP' }}"
-partition_name_cache_bootstrap: "{{ 'KOLLA_CEPH_OSD_CACHE_BOOTSTRAP_BS' if ceph_osd_store_type == 'bluestore' else 'KOLLA_CEPH_OSD_CACHE_BOOTSTRAP' }}"
-partition_name_osd_data: "{{ 'KOLLA_CEPH_DATA_BS' if ceph_osd_store_type == 'bluestore' else 'KOLLA_CEPH_DATA' }}"
-
-ceph_mon_hostname: "{%- if ceph_mon_host_type == 'HOSTNAME' -%}{{ ansible_hostname }}
- {%- elif ceph_mon_host_type == 'FQDN' -%}{{ ansible_fqdn }}
- {%- elif ceph_mon_host_type == 'INVENTORY' -%}{{ inventory_hostname }}
- {%- else -%}{{ storage_interface_address }}
- {%- endif %}"
-ceph_mgr_hostname: "{%- if ceph_mgr_host_type == 'HOSTNAME' -%}{{ ansible_hostname }}
- {%- elif ceph_mgr_host_type == 'FQDN' -%}{{ ansible_fqdn }}
- {%- elif ceph_mgr_host_type == 'INVENTORY' -%}{{ inventory_hostname }}
- {%- else -%}{{ storage_interface_address }}
- {%- endif %}"
-ceph_osd_hostname: "{%- if ceph_osd_host_type == 'HOSTNAME' -%}{{ ansible_hostname }}
- {%- elif ceph_osd_host_type == 'FQDN' -%}{{ ansible_fqdn }}
- {%- elif ceph_osd_host_type == 'INVENTORY' -%}{{ inventory_hostname }}
- {%- else -%}{{ storage_interface_address }}
- {%- endif %}"
-ceph_mds_hostname: "{%- if ceph_mds_host_type == 'HOSTNAME' -%}{{ ansible_hostname }}
- {%- elif ceph_mds_host_type == 'FQDN' -%}{{ ansible_fqdn }}
- {%- elif ceph_mds_host_type == 'INVENTORY' -%}{{ inventory_hostname }}
- {%- else -%}{{ storage_interface_address }}
- {%- endif %}"
-
-####################
-## Ceph_rgw_keystone
-####################
-swift_admin_endpoint: "{{ admin_protocol }}://{{ kolla_internal_fqdn | put_address_in_context('url') }}:{{ rgw_port }}{{ '/' if ceph_rgw_compatibility|bool else '/swift/' }}v1"
-swift_internal_endpoint: "{{ internal_protocol }}://{{ kolla_internal_fqdn | put_address_in_context('url') }}:{{ rgw_port }}{{ '/' if ceph_rgw_compatibility|bool else '/swift/' }}v1"
-swift_public_endpoint: "{{ public_protocol }}://{{ kolla_external_fqdn | put_address_in_context('url') }}:{{ rgw_port }}{{ '/' if ceph_rgw_compatibility|bool else '/swift/' }}v1"
-
-ceph_rgw_keystone_user: "ceph_rgw"
-
-openstack_swift_auth: "{{ openstack_auth }}"
-openstack_ceph_rgw_auth: "{{ openstack_auth }}"
-
-##########
-# Ceph MDS
-##########
-cephfs_data_pool_name: "cephfs_data"
-cephfs_data_pool_type: "{{ ceph_pool_type }}"
-cephfs_data_pool_cache_mode: "{{ ceph_cache_mode }}"
-cephfs_data_pool_pg_num: "{{ ceph_pool_pg_num }}"
-cephfs_data_pool_pgp_num: "{{ ceph_pool_pgp_num }}"
-cephfs_metadata_pool_name: "cephfs_metadata"
-cephfs_metadata_pool_type: "{{ ceph_pool_type }}"
-cephfs_metadata_pool_cache_mode: "{{ ceph_cache_mode }}"
-cephfs_metadata_pool_pg_num: "{{ ceph_pool_pg_num }}"
-cephfs_metadata_pool_pgp_num: "{{ ceph_pool_pgp_num }}"
-
-####################
-# Kolla
-####################
-kolla_ceph_use_udev: True
-
-
-####################
-# Keystone
-####################
-ceph_rgw_ks_services:
- - name: "swift"
- type: "object-store"
- description: "Openstack Object Storage"
- endpoints:
- - {'interface': 'admin', 'url': '{{ swift_admin_endpoint }}'}
- - {'interface': 'internal', 'url': '{{ swift_internal_endpoint }}'}
- - {'interface': 'public', 'url': '{{ swift_public_endpoint }}'}
-
-ceph_rgw_ks_users:
- - project: "service"
- user: "{{ ceph_rgw_keystone_user }}"
- password: "{{ ceph_rgw_keystone_password }}"
- role: "admin"
diff --git a/ansible/roles/ceph/meta/main.yml b/ansible/roles/ceph/meta/main.yml
deleted file mode 100644
index 6b4fff8fef..0000000000
--- a/ansible/roles/ceph/meta/main.yml
+++ /dev/null
@@ -1,3 +0,0 @@
----
-dependencies:
- - { role: common }
diff --git a/ansible/roles/ceph/tasks/bootstrap_mons.yml b/ansible/roles/ceph/tasks/bootstrap_mons.yml
deleted file mode 100644
index f117f60730..0000000000
--- a/ansible/roles/ceph/tasks/bootstrap_mons.yml
+++ /dev/null
@@ -1,53 +0,0 @@
----
-- name: Cleaning up temp file on localhost
- file:
- path: /tmp/kolla_ceph_cluster
- state: absent
- delegate_to: localhost
- changed_when: False
- check_mode: no
- run_once: True
-
-- name: Creating temp file on localhost
- copy:
- content: None
- dest: /tmp/kolla_ceph_cluster
- mode: 0644
- delegate_to: localhost
- changed_when: False
- check_mode: no
- run_once: True
-
-- name: Creating ceph_mon_config volume
- become: true
- kolla_docker:
- action: "create_volume"
- common_options: "{{ docker_common_options }}"
- name: "ceph_mon_config"
- register: ceph_mon_config_volume
-
-- name: Writing hostname of host with existing cluster files to temp file
- copy:
- content: "{{ inventory_hostname }}"
- dest: /tmp/kolla_ceph_cluster
- mode: 0644
- delegate_to: localhost
- changed_when: False
- check_mode: no
- when: not ceph_mon_config_volume.changed
-
-- name: Registering host from temp file
- set_fact:
- delegate_host: "{{ lookup('file', '/tmp/kolla_ceph_cluster') }}"
-
-- name: Cleaning up temp file on localhost
- file:
- path: /tmp/kolla_ceph_cluster
- state: absent
- delegate_to: localhost
- changed_when: False
- check_mode: no
- run_once: True
-
-- include_tasks: generate_cluster.yml
- when: delegate_host == 'None' and inventory_hostname == groups['ceph-mon'][0]
diff --git a/ansible/roles/ceph/tasks/bootstrap_osds.yml b/ansible/roles/ceph/tasks/bootstrap_osds.yml
deleted file mode 100644
index 6559f61847..0000000000
--- a/ansible/roles/ceph/tasks/bootstrap_osds.yml
+++ /dev/null
@@ -1,150 +0,0 @@
----
-- name: Looking up disks to bootstrap for Ceph OSDs
- become: true
- command: docker exec -t kolla_toolbox sudo -E ansible localhost
- -m find_disks
- -a "partition_name={{ partition_name_osd_bootstrap }} match_mode='prefix' use_udev={{ kolla_ceph_use_udev }}"
- register: osd_lookup
- changed_when: osd_lookup.stdout.find('localhost | SUCCESS => ') != -1 and (osd_lookup.stdout.split('localhost | SUCCESS => ')[1]|from_json).changed
- failed_when: osd_lookup.stdout.split()[2] != 'SUCCESS'
-
-- name: Parsing disk info for Ceph OSDs
- set_fact:
- osds_bootstrap: "{{ (osd_lookup.stdout.split('localhost | SUCCESS => ')[1]|from_json).disks|from_json }}"
-
-- name: Looking up disks to bootstrap for Ceph Cache OSDs
- become: true
- command: docker exec -t kolla_toolbox sudo -E ansible localhost
- -m find_disks
- -a "partition_name={{ partition_name_cache_bootstrap }} match_mode='prefix' use_udev={{ kolla_ceph_use_udev }}"
- register: osd_cache_lookup
- changed_when: osd_cache_lookup.stdout.find('localhost | SUCCESS => ') != -1 and (osd_cache_lookup.stdout.split('localhost | SUCCESS => ')[1]|from_json).changed
- failed_when: osd_cache_lookup.stdout.split()[2] != 'SUCCESS'
-
-- name: Parsing disk info for Ceph Cache OSDs
- set_fact:
- osds_cache_bootstrap: "{{ (osd_cache_lookup.stdout.split('localhost | SUCCESS => ')[1]|from_json).disks|from_json }}"
-
-- name: Prompting before wiping existing partitions
- pause:
- prompt: |
- WARNING: It seems {{ item.device }} is marked to be wiped and partitioned for Ceph data and
- a co-located journal, but appears to contain other existing partitions (>1).
-
- If you are sure you want this disk to be *wiped* for use with Ceph, press enter.
-
- Otherwise, press Ctrl-C, then 'A'. (You can disable this check by setting
- ceph_osd_wipe_disk: 'yes-i-really-really-mean-it' within globals.yml)
- with_items: "{{ osds_bootstrap|default([]) }}"
- when:
- - not item.external_journal | bool
- - item.device.split('/')[2] in ansible_devices # if there is no device in setup (like loopback, we don't need to warn user
- - ansible_devices[item.device.split('/')[2]].partitions|count > 1
- - ceph_osd_wipe_disk != "yes-i-really-really-mean-it"
-
-- name: Bootstrapping Ceph OSDs
- become: true
- kolla_docker:
- action: "start_container"
- common_options: "{{ docker_common_options }}"
- detach: False
- environment:
- KOLLA_BOOTSTRAP:
- KOLLA_CONFIG_STRATEGY: "{{ config_strategy }}"
- OSD_DEV: "{{ item.1.device }}"
- OSD_PARTITION: "{{ item.1.partition }}"
- OSD_PARTITION_NUM: "{{ item.1.partition_num }}"
- JOURNAL_DEV: "{{ item.1.journal_device }}"
- JOURNAL_PARTITION: "{{ item.1.journal }}"
- JOURNAL_PARTITION_NUM: "{{ item.1.journal_num }}"
- USE_EXTERNAL_JOURNAL: "{{ item.1.external_journal | bool }}"
- OSD_FILESYSTEM: "{{ ceph_osd_filesystem }}"
- OSD_INITIAL_WEIGHT: "{{ osd_initial_weight }}"
- HOSTNAME: "{{ ceph_osd_hostname }}"
- OSD_STORETYPE: "{{ ceph_osd_store_type }}"
- OSD_BS_DEV: "{{ item.1.device | default('') }}"
- OSD_BS_LABEL: "{{ item.1.partition_label | default('') }}"
- OSD_BS_PARTNUM: "{{ item.1.partition_num | default('') }}"
- OSD_BS_BLK_DEV: "{{ item.1.bs_blk_device | default('') }}"
- OSD_BS_BLK_LABEL: "{{ item.1.bs_blk_label | default('') }}"
- OSD_BS_BLK_PARTNUM: "{{ item.1.bs_blk_partition_num | default('') }}"
- OSD_BS_WAL_DEV: "{{ item.1.bs_wal_device | default('') }}"
- OSD_BS_WAL_LABEL: "{{ item.1.bs_wal_label | default('') }}"
- OSD_BS_WAL_PARTNUM: "{{ item.1.bs_wal_partition_num | default('') }}"
- OSD_BS_DB_DEV: "{{ item.1.bs_db_device | default('') }}"
- OSD_BS_DB_LABEL: "{{ item.1.bs_db_label | default('') }}"
- OSD_BS_DB_PARTNUM: "{{ item.1.bs_db_partition_num | default('') }}"
- image: "{{ ceph_osd_image_full }}"
- labels:
- BOOTSTRAP:
- name: "bootstrap_osd_{{ item.0 }}"
- privileged: True
- restart_policy: no
- volumes:
- - "{{ node_config_directory }}/ceph-osd/:{{ container_config_directory }}/:ro"
- - "/etc/localtime:/etc/localtime:ro"
- - "/dev/:/dev/"
- - "kolla_logs:/var/log/kolla/"
- with_indexed_items: "{{ osds_bootstrap|default([]) }}"
-
-- name: Prompting before wiping existing partitions
- pause:
- prompt: |
- WARNING: It seems {{ item.device }} is marked to be wiped and partitioned for Ceph data and
- a co-located journal, but appears to contain other existing partitions (>1).
-
- If you are sure you want this disk to be *wiped* for use with Ceph, press enter.
-
- Otherwise, press Ctrl-C, then 'A'. (You can disable this check by setting
- ceph_osd_wipe_disk: 'yes-i-really-really-mean-it' within globals.yml)
- with_items: "{{ osds_cache_bootstrap|default([]) }}"
- when:
- - not item.external_journal | bool
- - ansible_devices[item.device.split('/')[2]].partitions|count > 1
- - ceph_osd_wipe_disk != "yes-i-really-really-mean-it"
-
-- name: Bootstrapping Ceph Cache OSDs
- become: true
- kolla_docker:
- action: "start_container"
- common_options: "{{ docker_common_options }}"
- detach: False
- environment:
- KOLLA_BOOTSTRAP:
- KOLLA_CONFIG_STRATEGY: "{{ config_strategy }}"
- CEPH_CACHE:
- OSD_DEV: "{{ item.1.device }}"
- OSD_PARTITION: "{{ item.1.partition }}"
- OSD_PARTITION_NUM: "{{ item.1.partition_num }}"
- JOURNAL_DEV: "{{ item.1.journal_device }}"
- JOURNAL_PARTITION: "{{ item.1.journal }}"
- JOURNAL_PARTITION_NUM: "{{ item.1.journal_num }}"
- USE_EXTERNAL_JOURNAL: "{{ item.1.external_journal | bool }}"
- OSD_FILESYSTEM: "{{ ceph_osd_filesystem }}"
- OSD_INITIAL_WEIGHT: "{{ osd_initial_weight }}"
- HOSTNAME: "{{ ceph_osd_hostname }}"
- OSD_STORETYPE: "{{ ceph_osd_store_type }}"
- OSD_BS_DEV: "{{ item.1.device | default('') }}"
- OSD_BS_LABEL: "{{ item.1.partition_label | default('') }}"
- OSD_BS_PARTNUM: "{{ item.1.partition_num | default('') }}"
- OSD_BS_BLK_DEV: "{{ item.1.bs_blk_device | default('') }}"
- OSD_BS_BLK_LABEL: "{{ item.1.bs_blk_label | default('') }}"
- OSD_BS_BLK_PARTNUM: "{{ item.1.bs_blk_partition_num | default('') }}"
- OSD_BS_WAL_DEV: "{{ item.1.bs_wal_device | default('') }}"
- OSD_BS_WAL_LABEL: "{{ item.1.bs_wal_label|default('') }}"
- OSD_BS_WAL_PARTNUM: "{{ item.1.bs_wal_partition_num | default('') }}"
- OSD_BS_DB_DEV: "{{ item.1.bs_db_device | default('') }}"
- OSD_BS_DB_LABEL: "{{ item.1.bs_db_label | default('') }}"
- OSD_BS_DB_PARTNUM: "{{ item.1.bs_db_partition_num | default('') }}"
- image: "{{ ceph_osd_image_full }}"
- labels:
- BOOTSTRAP:
- name: "bootstrap_osd_cache_{{ item.0 }}"
- privileged: True
- restart_policy: no
- volumes:
- - "{{ node_config_directory }}/ceph-osd/:{{ container_config_directory }}/:ro"
- - "/etc/localtime:/etc/localtime:ro"
- - "/dev/:/dev/"
- - "kolla_logs:/var/log/kolla/"
- with_indexed_items: "{{ osds_cache_bootstrap|default([]) }}"
diff --git a/ansible/roles/ceph/tasks/check.yml b/ansible/roles/ceph/tasks/check.yml
deleted file mode 100644
index ed97d539c0..0000000000
--- a/ansible/roles/ceph/tasks/check.yml
+++ /dev/null
@@ -1 +0,0 @@
----
diff --git a/ansible/roles/ceph/tasks/config.yml b/ansible/roles/ceph/tasks/config.yml
deleted file mode 100644
index 6ea77cf965..0000000000
--- a/ansible/roles/ceph/tasks/config.yml
+++ /dev/null
@@ -1,70 +0,0 @@
----
-- name: Ensuring config directories exist
- file:
- path: "{{ node_config_directory }}/{{ item }}"
- state: "directory"
- owner: "{{ config_owner_user }}"
- group: "{{ config_owner_group }}"
- mode: "0770"
- become: true
- with_items:
- - "ceph-mon"
- - "ceph-osd"
- - "ceph-rgw"
- - "ceph-mgr"
- - "ceph-mds"
- - "ceph-nfs"
-
-- name: Copying over config.json files for services
- template:
- src: "{{ item.name }}.json.j2"
- dest: "{{ node_config_directory }}/{{ item.name }}/config.json"
- mode: "0660"
- become: true
- when:
- - inventory_hostname in groups[item.group]
- with_items:
- - name: "ceph-mon"
- group: ceph-mon
- - name: "ceph-osd"
- group: ceph-osd
- - name: "ceph-rgw"
- group: ceph-rgw
- - name: "ceph-mgr"
- group: ceph-mgr
- - name: "ceph-mds"
- group: ceph-mds
- - name: "ceph-nfs"
- group: ceph-nfs
-
-- name: Copying over ceph.conf
- vars:
- service_name: "{{ item }}"
- merge_configs:
- sources:
- - "{{ role_path }}/templates/ceph.conf.j2"
- - "{{ node_custom_config }}/ceph.conf"
- - "{{ node_custom_config }}/ceph/{{ inventory_hostname }}/ceph.conf"
- dest: "{{ node_config_directory }}/{{ item }}/ceph.conf"
- mode: "0660"
- become: true
- with_items:
- - "ceph-mon"
- - "ceph-osd"
- - "ceph-rgw"
- - "ceph-mgr"
- - "ceph-mds"
- - "ceph-nfs"
-
-- name: Copying over ganesha.conf for ceph-nfs
- template:
- src: "{{ item }}"
- dest: "{{ node_config_directory }}/ceph-nfs/ganesha.conf"
- mode: "0600"
- become: true
- when:
- - inventory_hostname in groups['ceph-nfs']
- with_first_found:
- - "{{ node_custom_config }}/ganesha.conf"
- - "{{ node_custom_config }}/ceph-nfs/ganesha.conf"
- - "ganesha.conf.j2"
diff --git a/ansible/roles/ceph/tasks/deploy.yml b/ansible/roles/ceph/tasks/deploy.yml
deleted file mode 100644
index d4c4a90911..0000000000
--- a/ansible/roles/ceph/tasks/deploy.yml
+++ /dev/null
@@ -1,62 +0,0 @@
----
-# NOTE(yoctozepto): this file is used during upgrade as well
-
-- include_tasks: config.yml
-
-- include_tasks: bootstrap_mons.yml
- when: inventory_hostname in groups['ceph-mon']
-
-- include_tasks: distribute_keyrings.yml
- when: kolla_action != "upgrade"
-
-- include_tasks: start_mons.yml
- when: inventory_hostname in groups['ceph-mon']
-
-# NOTE(yoctozepto): this ensures caps for admin are always up-to-date (run as earliest as possible = after MONs start)
-# this is retried because the cluster might not be fully operational yet (quorum gathering)
-- name: configuring client.admin caps
- become: true
- kolla_ceph_keyring:
- name: client.admin
- caps: "{{ ceph_client_admin_keyring_caps }}"
- run_once: True
- delegate_to: "{{ groups['ceph-mon'][0] }}"
- register: result
- until: result is success
- retries: 3
- delay: 15
-
-- include_tasks: start_mgrs.yml
- when: inventory_hostname in groups['ceph-mgr']
-
-- include_tasks: start_ceph_dashboard.yml
- when:
- - enable_ceph_dashboard | bool
- - inventory_hostname in groups['ceph-mon']
-
-- include_tasks: bootstrap_osds.yml
- when: inventory_hostname in groups['ceph-osd']
-
-- include_tasks: start_osds.yml
- when: inventory_hostname in groups['ceph-osd']
-
-- include_tasks: start_rgws.yml
- when:
- - enable_ceph_rgw | bool
- - inventory_hostname in groups['ceph-rgw']
-
-- include_tasks: start_rgw_keystone.yml
- when:
- - enable_ceph_rgw_keystone | bool
- - inventory_hostname in groups['ceph-rgw']
-
-- include_tasks: start_mdss.yml
- when:
- - enable_ceph_mds | bool
- - inventory_hostname in groups['ceph-mds']
-
-# NOTE(yoctozepto): nfs (cephfs-based) depends on mds so start it after
-- include_tasks: start_nfss.yml
- when:
- - enable_ceph_nfs | bool
- - inventory_hostname in groups['ceph-nfs']
diff --git a/ansible/roles/ceph/tasks/distribute_keyrings.yml b/ansible/roles/ceph/tasks/distribute_keyrings.yml
deleted file mode 100644
index 1c28eb9826..0000000000
--- a/ansible/roles/ceph/tasks/distribute_keyrings.yml
+++ /dev/null
@@ -1,79 +0,0 @@
----
-- name: Fetching Ceph keyrings
- become: true
- command: docker exec ceph_mon /usr/bin/python{{ distro_python_version }} /usr/bin/fetch_ceph_keys.py
- register: ceph_files_json
- changed_when: (ceph_files_json.stdout | from_json).changed
- failed_when: (ceph_files_json.stdout | from_json).failed
- delegate_to: "{{ delegate_host }}"
- run_once: True
-
-- name: Reading json from variable
- set_fact:
- ceph_files: "{{ (ceph_files_json.stdout | from_json) }}"
-
-- name: Pushing Ceph keyring for OSDs
- become: true
- bslurp:
- src: "{{ item.content }}"
- dest: "{{ node_config_directory }}/ceph-osd/{{ item.filename }}"
- sha1: "{{ item.sha1 | default('') }}"
- sha256: "{{ item.sha256 | default('') }}"
- mode: 0600
- with_items:
- - "{{ ceph_files['ceph.client.admin.keyring'] }}"
- when: inventory_hostname in groups['ceph-osd']
-
-- name: Pushing Ceph keyrings for Mons
- become: true
- bslurp:
- src: "{{ item.content }}"
- dest: "{{ node_config_directory }}/ceph-mon/{{ item.filename }}"
- sha1: "{{ item.sha1 | default('') }}"
- sha256: "{{ item.sha256 | default('') }}"
- mode: 0600
- with_items:
- - "{{ ceph_files['ceph.client.admin.keyring'] }}"
- - "{{ ceph_files['ceph.client.mon.keyring'] }}"
- - "{{ ceph_files['ceph.client.radosgw.keyring'] }}"
- - "{{ ceph_files['ceph.monmap'] }}"
- when: inventory_hostname in groups['ceph-mon']
-
-- name: Pushing Ceph keyrings for Mgrs
- become: true
- bslurp:
- src: "{{ item.content }}"
- dest: "{{ node_config_directory }}/ceph-mgr/{{ item.filename }}"
- sha1: "{{ item.sha1 | default('') }}"
- sha256: "{{ item.sha256 | default('') }}"
- mode: 0600
- with_items:
- - "{{ ceph_files['ceph.client.admin.keyring'] }}"
- when: inventory_hostname in groups['ceph-mgr']
-
-- name: Pushing Ceph keyrings for RGWs
- become: true
- bslurp:
- src: "{{ item.content }}"
- dest: "{{ node_config_directory }}/ceph-rgw/{{ item.filename }}"
- sha1: "{{ item.sha1 | default('') }}"
- sha256: "{{ item.sha256 | default('') }}"
- mode: 0600
- with_items:
- - "{{ ceph_files['ceph.client.admin.keyring'] }}"
- - "{{ ceph_files['ceph.client.radosgw.keyring'] }}"
- when: inventory_hostname in groups['ceph-rgw']
-
-- name: Pushing Ceph keyrings for NFSs
- become: true
- bslurp:
- src: "{{ item.content }}"
- dest: "{{ node_config_directory }}/ceph-nfs/{{ item.filename }}"
- sha1: "{{ item.sha1 | default('') }}"
- sha256: "{{ item.sha256 | default('') }}"
- mode: 0600
- with_items:
- - "{{ ceph_files['ceph.client.admin.keyring'] }}"
- when:
- - inventory_hostname in groups['ceph-nfs']
- - enable_ceph_nfs | bool
diff --git a/ansible/roles/ceph/tasks/generate_cluster.yml b/ansible/roles/ceph/tasks/generate_cluster.yml
deleted file mode 100644
index 886fc99742..0000000000
--- a/ansible/roles/ceph/tasks/generate_cluster.yml
+++ /dev/null
@@ -1,29 +0,0 @@
----
-- name: Generating initial Ceph keyrings and monmap
- become: true
- kolla_docker:
- action: "start_container"
- common_options: "{{ docker_common_options }}"
- detach: False
- environment:
- KOLLA_BOOTSTRAP:
- KOLLA_CONFIG_STRATEGY: "{{ config_strategy }}"
- MON_IP: "{{ storage_interface_address }}"
- HOSTNAME: "{{ ceph_mon_hostname }}"
- image: "{{ ceph_mon_image_full }}"
- labels:
- BOOTSTRAP:
- name: "bootstrap_ceph_mon"
- restart_policy: no
- volumes:
- - "{{ node_config_directory }}/ceph-mon/:{{ container_config_directory }}/:ro"
- - "/etc/localtime:/etc/localtime:ro"
- - "ceph_mon:/var/lib/ceph"
- - "ceph_mon_config:/etc/ceph"
- - "kolla_logs:/var/log/kolla/"
-
-- include_tasks: start_mons.yml
-
-- name: Setting host for cluster files
- set_fact:
- delegate_host: "{{ inventory_hostname }}"
diff --git a/ansible/roles/ceph/tasks/loadbalancer.yml b/ansible/roles/ceph/tasks/loadbalancer.yml
deleted file mode 100644
index 9c776685e3..0000000000
--- a/ansible/roles/ceph/tasks/loadbalancer.yml
+++ /dev/null
@@ -1,7 +0,0 @@
----
-- name: "Configure haproxy for {{ project_name }}"
- import_role:
- role: haproxy-config
- vars:
- project_services: "{{ ceph_services }}"
- tags: always
diff --git a/ansible/roles/ceph/tasks/main.yml b/ansible/roles/ceph/tasks/main.yml
deleted file mode 100644
index ab2a7dcfb6..0000000000
--- a/ansible/roles/ceph/tasks/main.yml
+++ /dev/null
@@ -1,14 +0,0 @@
----
-- name: Warn about deprecation
- debug:
- msg: >-
- Support for deploying Ceph via Kolla Ansible is deprecated. In a future
- release support for deploying Ceph will be removed from Kolla Ansible. Prior
- to this we will ensure a migration path to another tool such as Ceph
- Ansible (http://docs.ceph.com/ceph-ansible/master/>) is available. For new
- deployments it is recommended to use another tool to deploy Ceph to avoid a
- future migration. This can be integrated with OpenStack by following the
- external Ceph guide
- (https://docs.openstack.org/kolla-ansible/latest/reference/storage/external-ceph-guide.html).
-
-- include_tasks: "{{ kolla_action }}.yml"
diff --git a/ansible/roles/ceph/tasks/precheck.yml b/ansible/roles/ceph/tasks/precheck.yml
deleted file mode 100644
index 957b0a98bb..0000000000
--- a/ansible/roles/ceph/tasks/precheck.yml
+++ /dev/null
@@ -1,24 +0,0 @@
----
-- name: Get container facts
- become: true
- kolla_container_facts:
- name:
- - ceph_rgw
- register: container_facts
-
-- name: Checking free port for RadosGW
- wait_for:
- host: "{{ api_interface_address }}"
- port: "{{ rgw_port }}"
- connect_timeout: 1
- timeout: 1
- state: stopped
- when:
- - container_facts['ceph_rgw'] is not defined
- - inventory_hostname in groups['ceph-rgw']
-
-- name: Check whether the Swift service is enabled
- fail:
- msg: 'Ceph-rgw conflicts with Swift, and so you should only enable one of them'
- when: enable_swift | bool and enable_ceph_rgw | bool
- run_once: True
diff --git a/ansible/roles/ceph/tasks/pull.yml b/ansible/roles/ceph/tasks/pull.yml
deleted file mode 100644
index 1bea1fc8a2..0000000000
--- a/ansible/roles/ceph/tasks/pull.yml
+++ /dev/null
@@ -1,53 +0,0 @@
----
-- name: Pulling ceph-mon image
- become: true
- kolla_docker:
- action: "pull_image"
- common_options: "{{ docker_common_options }}"
- image: "{{ ceph_mon_image_full }}"
- when: inventory_hostname in groups['ceph-mon']
-
-- name: Pulling ceph-osd image
- become: true
- kolla_docker:
- action: "pull_image"
- common_options: "{{ docker_common_options }}"
- image: "{{ ceph_osd_image_full }}"
- when: inventory_hostname in groups['ceph-osd']
-
-- name: Pulling ceph-rgw image
- become: true
- kolla_docker:
- action: "pull_image"
- common_options: "{{ docker_common_options }}"
- image: "{{ ceph_rgw_image_full }}"
- when: inventory_hostname in groups['ceph-rgw']
-
-- name: Pulling ceph-mgr image
- become: true
- kolla_docker:
- action: "pull_image"
- common_options: "{{ docker_common_options }}"
- image: "{{ ceph_mgr_image_full }}"
- when:
- - inventory_hostname in groups['ceph-mgr']
-
-- name: Pulling ceph-mds image
- become: true
- kolla_docker:
- action: "pull_image"
- common_options: "{{ docker_common_options }}"
- image: "{{ ceph_mds_image_full }}"
- when:
- - enable_ceph_mds | bool
- - inventory_hostname in groups['ceph-mds']
-
-- name: Pulling ceph-nfs image
- become: true
- kolla_docker:
- action: "pull_image"
- common_options: "{{ docker_common_options }}"
- image: "{{ ceph_nfs_image_full }}"
- when:
- - enable_ceph_nfs | bool
- - inventory_hostname in groups['ceph-nfs']
diff --git a/ansible/roles/ceph/tasks/reconfigure.yml b/ansible/roles/ceph/tasks/reconfigure.yml
deleted file mode 100644
index 3b56f0f731..0000000000
--- a/ansible/roles/ceph/tasks/reconfigure.yml
+++ /dev/null
@@ -1,235 +0,0 @@
----
-- name: Ensuring the ceph_mon container is up
- become: true
- kolla_docker:
- name: "{{ item.name }}"
- action: "get_container_state"
- register: ceph_mon_container_state
- failed_when: not ceph_mon_container_state.Running
- when: inventory_hostname in groups[item.group]
- with_items:
- - { name: ceph_mon, group: ceph-mon }
-
-- name: Looking up OSDs for Ceph
- become: true
- command: docker exec -t kolla_toolbox sudo -E ansible localhost
- -m find_disks
- -a "partition_name={{ partition_name_osd_data }} match_mode='prefix' use_udev={{ kolla_ceph_use_udev }}"
- register: osd_lookup
- changed_when: osd_lookup.stdout.find('localhost | SUCCESS => ') != -1 and (osd_lookup.stdout.split('localhost | SUCCESS => ')[1]|from_json).changed
- failed_when: osd_lookup.stdout.split()[2] != 'SUCCESS'
- when: inventory_hostname in groups['ceph-osd']
-
-- name: Reading data from variable
- set_fact:
- osds: "{{ (osd_lookup.stdout.split('localhost | SUCCESS => ')[1]|from_json).disks|from_json }}"
- when: inventory_hostname in groups['ceph-osd']
-
-- name: Gathering OSD IDs
- command: "cat /var/lib/ceph/osd/{{ item['fs_uuid'] }}/whoami"
- with_items: "{{ osds|default({}) }}"
- register: osd_ids
- changed_when: False
- failed_when: osd_ids.rc != 0
- when: inventory_hostname in groups['ceph-osd']
-
-- name: Ensuring the ceph_osd container is up
- become: true
- kolla_docker:
- name: "ceph_osd_{{ item.stdout }}"
- action: "get_container_state"
- register: ceph_osd_container_state
- failed_when: not ceph_osd_container_state.Running
- when: inventory_hostname in groups['ceph-osd']
- with_items: "{{ osd_ids.results|default({}) }}"
-
-- name: Ensuring the ceph_rgw container is up
- become: true
- kolla_docker:
- name: "{{ item.name }}"
- action: "get_container_state"
- register: ceph_rgw_container_state
- failed_when: not ceph_rgw_container_state.Running
- when:
- - enable_ceph_rgw | bool
- - inventory_hostname in groups[item.group]
- with_items:
- - { name: ceph_rgw, group: ceph-rgw }
-
-- include_tasks: config.yml
-
-- name: Check the configs in ceph_mon container
- become: true
- command: docker exec {{ item.name }} /usr/local/bin/kolla_set_configs --check
- changed_when: false
- failed_when: false
- register: ceph_mon_check_results
- when: inventory_hostname in groups[item.group]
- with_items:
- - { name: ceph_mon, group: ceph-mon }
-
-- name: Check the configs in the ceph_osd container
- become: true
- command: docker exec ceph_osd_{{ item.stdout }} /usr/local/bin/kolla_set_configs --check
- changed_when: false
- failed_when: false
- register: ceph_osd_check_results
- with_items: "{{ osd_ids.results|default({}) }}"
- when: inventory_hostname in groups['ceph-osd']
-
-- name: Check the configs in ceph_rgw container
- become: true
- command: docker exec {{ item.name }} /usr/local/bin/kolla_set_configs --check
- changed_when: false
- failed_when: false
- register: ceph_rgw_check_results
- when:
- - enable_ceph_rgw | bool
- - inventory_hostname in groups[item.group]
- with_items:
- - { name: ceph_rgw, group: ceph-rgw }
-
-- name: Containers config strategy for ceph_mon container
- become: true
- kolla_docker:
- name: "{{ item.name }}"
- action: "get_container_env"
- register: ceph_mon_container_envs
- when: inventory_hostname in groups[item.group]
- with_items:
- - { name: ceph_mon, group: ceph-mon }
-
-- name: Containers config strategy for the ceph_osd containers
- become: true
- kolla_docker:
- name: "ceph_osd_{{ item.stdout }}"
- action: "get_container_env"
- register: ceph_osd_container_envs
- with_items: "{{ osd_ids.results|default({}) }}"
- when:
- - inventory_hostname in groups['ceph-osd']
- - osds
-
-- name: Containers config strategy for ceph_rgw container
- become: true
- kolla_docker:
- name: "{{ item.name }}"
- action: "get_container_env"
- register: ceph_rgw_container_envs
- when:
- - enable_ceph_rgw | bool
- - inventory_hostname in groups[item.group]
- with_items:
- - { name: ceph_rgw, group: ceph-rgw }
-
-- name: Remove the ceph_mon container
- become: true
- kolla_docker:
- name: "{{ item[0]['name'] }}"
- action: "remove_container"
- register: remove_ceph_mon_container
- when:
- - inventory_hostname in groups[item[0]['group']]
- - config_strategy == "COPY_ONCE" or item[1]['KOLLA_CONFIG_STRATEGY'] == 'COPY_ONCE'
- - item[2]['rc'] == 1
- with_together:
- - [{ name: ceph_mon, group: ceph-mon }]
- - "{{ ceph_mon_container_envs.results }}"
- - "{{ ceph_mon_check_results.results }}"
-
-- name: Remove the ceph_osd containers
- become: true
- kolla_docker:
- name: "ceph_osd_{{ item.0.stdout }}"
- action: "remove_container"
- register: remove_ceph_osd_containers
- when:
- - inventory_hostname in groups['ceph-osd']
- - config_strategy == "COPY_ONCE" or item[1]['KOLLA_CONFIG_STRATEGY'] == 'COPY_ONCE'
- - item[2]['rc'] == 1
- - osds
- with_together:
- - "{{ osd_ids.results|default({}) }}"
- - "{{ ceph_osd_container_envs.results }}"
- - "{{ ceph_osd_check_results.results }}"
-
-- name: Remove the ceph_rgw container
- become: true
- kolla_docker:
- name: "{{ item[0]['name'] }}"
- action: "remove_container"
- register: remove_ceph_rgw_container
- when:
- - enable_ceph_rgw | bool
- - inventory_hostname in groups[item[0]['group']]
- - config_strategy == "COPY_ONCE" or item[1]['KOLLA_CONFIG_STRATEGY'] == 'COPY_ONCE'
- - item[2]['rc'] == 1
- with_together:
- - [{ name: ceph_rgw, group: ceph-rgw }]
- - "{{ ceph_rgw_container_envs.results }}"
- - "{{ ceph_rgw_check_results.results }}"
-
-- include_tasks: start_mons.yml
- when:
- - inventory_hostname in groups['ceph-mon']
- - remove_ceph_mon_container.changed
-
-- include_tasks: start_osds.yml
- when:
- - inventory_hostname in groups['ceph-osd']
- - remove_ceph_osd_containers.changed
-
-- include_tasks: start_rgws.yml
- when:
- - inventory_hostname in groups['ceph-rgw']
- - remove_ceph_rgw_container.changed
-
-- name: Restart the ceph_mon container
- become: true
- kolla_docker:
- name: "ceph_mon"
- action: "restart_container"
- when:
- - inventory_hostname in groups['ceph-mon']
- - config_strategy == 'COPY_ALWAYS'
- - item[0]['KOLLA_CONFIG_STRATEGY'] != 'COPY_ONCE'
- - item[1]['rc'] == 1
- with_together:
- - "{{ ceph_mon_container_envs.results }}"
- - "{{ ceph_mon_check_results.results }}"
-
-- name: Restart the ceph_osd container
- become: true
- kolla_docker:
- name: "ceph_osd_{{ item.0.stdout }}"
- action: "restart_container"
- when:
- - inventory_hostname in groups['ceph-osd']
- - config_strategy == 'COPY_ALWAYS'
- - item[1]['KOLLA_CONFIG_STRATEGY'] != 'COPY_ONCE'
- - item[2]['rc'] == 1
- - osds
- with_together:
- - "{{ osd_ids.results|default({}) }}"
- - "{{ ceph_osd_container_envs.results }}"
- - "{{ ceph_osd_check_results.results }}"
-
-- name: Restart the ceph_rgw container
- become: true
- kolla_docker:
- name: "ceph_rgw"
- action: "restart_container"
- when:
- - enable_ceph_rgw | bool
- - inventory_hostname in groups['ceph-rgw']
- - config_strategy == 'COPY_ALWAYS'
- - item[0]['KOLLA_CONFIG_STRATEGY'] != 'COPY_ONCE'
- - item[1]['rc'] == 1
- with_together:
- - "{{ ceph_rgw_container_envs.results }}"
- - "{{ ceph_rgw_check_results.results }}"
-
-- include_tasks: start_rgw_keystone.yml
- when:
- - ceph_rgw_container_envs.results
- - enable_ceph_rgw_keystone | bool
diff --git a/ansible/roles/ceph/tasks/start_ceph_dashboard.yml b/ansible/roles/ceph/tasks/start_ceph_dashboard.yml
deleted file mode 100644
index 4b26c6b9e3..0000000000
--- a/ansible/roles/ceph/tasks/start_ceph_dashboard.yml
+++ /dev/null
@@ -1,6 +0,0 @@
----
-- name: Enable ceph dashboard
- become: true
- command: docker exec ceph_mon ceph mgr module enable dashboard --force
- changed_when: false
- run_once: true
diff --git a/ansible/roles/ceph/tasks/start_mdss.yml b/ansible/roles/ceph/tasks/start_mdss.yml
deleted file mode 100644
index 9e1a66ed9d..0000000000
--- a/ansible/roles/ceph/tasks/start_mdss.yml
+++ /dev/null
@@ -1,63 +0,0 @@
----
-- include_tasks: ../../ceph_pools.yml
- vars:
- pool_name: "{{ item.pool_name }}"
- pool_type: "{{ item.pool_type }}"
- cache_mode: "{{ item.cache_mode }}"
- pool_pg_num: "{{ item.pool_pg_num }}"
- pool_pgp_num: "{{ item.pool_pgp_num }}"
- pool_application: "cephfs"
- with_items:
- - pool_name: "{{ cephfs_data_pool_name }}"
- pool_type: "{{ cephfs_data_pool_type }}"
- cache_mode: "{{ cephfs_data_pool_cache_mode }}"
- pool_pg_num: "{{ cephfs_data_pool_pg_num }}"
- pool_pgp_num: "{{ cephfs_data_pool_pgp_num }}"
- - pool_name: "{{ cephfs_metadata_pool_name }}"
- pool_type: "{{ cephfs_metadata_pool_type }}"
- cache_mode: "{{ cephfs_metadata_pool_cache_mode }}"
- pool_pg_num: "{{ cephfs_metadata_pool_pg_num }}"
- pool_pgp_num: "{{ cephfs_metadata_pool_pgp_num }}"
-
-- name: Geting ceph mds keyring
- become: true
- kolla_ceph_keyring:
- name: "mds.{{ ceph_mds_hostname }}"
- caps: "{{ ceph_client_mds_keyring_caps }}"
- register: ceph_mds_auth
- delegate_to: "{{ groups['ceph-mon'][0] }}"
-
-- name: Pushing ceph mds keyring to ceph-mds
- become: true
- copy:
- content: |
- [mds.{{ ceph_mds_hostname }}]
- key = {{ ceph_mds_auth.keyring.key }}
- dest: "{{ node_config_directory }}/ceph-mds/ceph.mds.{{ ceph_mds_hostname }}.keyring"
- mode: "0600"
-
-- name: Starting ceph-mds container
- become: true
- kolla_docker:
- action: "start_container"
- common_options: "{{ docker_common_options }}"
- image: "{{ ceph_mds_image_full }}"
- name: "ceph_mds"
- volumes:
- - "{{ node_config_directory }}/ceph-mds/:{{ container_config_directory }}/:ro"
- - "/etc/localtime:/etc/localtime:ro"
- - "kolla_logs:/var/log/kolla/"
-
-- name: Checking whether cephfs is created
- become: true
- command: docker exec ceph_mon ceph fs get cephfs
- register: cephfs_stat
- failed_when: false
- changed_when: false
- run_once: true
-
-- name: Creating ceph new filesystem
- become: true
- command: docker exec ceph_mon ceph fs new cephfs cephfs_metadata cephfs_data
- run_once: true
- when: cephfs_stat.rc != 0
diff --git a/ansible/roles/ceph/tasks/start_mgrs.yml b/ansible/roles/ceph/tasks/start_mgrs.yml
deleted file mode 100644
index fe0b162de1..0000000000
--- a/ansible/roles/ceph/tasks/start_mgrs.yml
+++ /dev/null
@@ -1,36 +0,0 @@
----
-- name: Getting ceph mgr keyring
- become: true
- kolla_ceph_keyring:
- name: "mgr.{{ ceph_mgr_hostname }}"
- caps: "{{ ceph_client_mgr_keyring_caps }}"
- register: ceph_mgr_keyring
- delegate_to: "{{ groups['ceph-mon'][0] }}"
-
-- name: Pushing ceph mgr keyring to ceph-mgr
- become: true
- copy:
- content: |
- [mgr.{{ ceph_mgr_hostname }}]
- key = {{ ceph_mgr_keyring.keyring.key }}
- dest: "{{ node_config_directory }}/ceph-mgr/ceph.mgr.{{ ceph_mgr_hostname }}.keyring"
- mode: "0600"
-
-- name: Starting ceph-mgr container
- become: true
- kolla_docker:
- action: "start_container"
- common_options: "{{ docker_common_options }}"
- image: "{{ ceph_mgr_image_full }}"
- name: "ceph_mgr"
- volumes:
- - "{{ node_config_directory }}/ceph-mgr/:{{ container_config_directory }}/:ro"
- - "/etc/localtime:/etc/localtime:ro"
- - "kolla_logs:/var/log/kolla"
-
-- name: Enable the ceph mgr prometheus module
- become: true
- command: docker exec ceph_mgr ceph mgr module enable prometheus
- when:
- - inventory_hostname in groups['ceph-mgr']
- - enable_prometheus_ceph_mgr_exporter | bool
diff --git a/ansible/roles/ceph/tasks/start_mons.yml b/ansible/roles/ceph/tasks/start_mons.yml
deleted file mode 100644
index 0cb4884364..0000000000
--- a/ansible/roles/ceph/tasks/start_mons.yml
+++ /dev/null
@@ -1,17 +0,0 @@
----
-- name: Starting ceph-mon container
- become: true
- kolla_docker:
- action: "start_container"
- common_options: "{{ docker_common_options }}"
- environment:
- KOLLA_CONFIG_STRATEGY: "{{ config_strategy }}"
- HOSTNAME: "{{ ceph_mon_hostname }}"
- image: "{{ ceph_mon_image_full }}"
- name: "ceph_mon"
- volumes:
- - "{{ node_config_directory }}/ceph-mon/:{{ container_config_directory }}/:ro"
- - "/etc/localtime:/etc/localtime:ro"
- - "ceph_mon:/var/lib/ceph"
- - "ceph_mon_config:/etc/ceph"
- - "kolla_logs:/var/log/kolla/"
diff --git a/ansible/roles/ceph/tasks/start_nfss.yml b/ansible/roles/ceph/tasks/start_nfss.yml
deleted file mode 100644
index 61eaf7ad95..0000000000
--- a/ansible/roles/ceph/tasks/start_nfss.yml
+++ /dev/null
@@ -1,12 +0,0 @@
----
-- name: Starting ceph-nfs container
- become: true
- kolla_docker:
- action: "start_container"
- common_options: "{{ docker_common_options }}"
- image: "{{ ceph_nfs_image_full }}"
- name: "ceph_nfs"
- volumes:
- - "{{ node_config_directory }}/ceph-nfs/:{{ container_config_directory }}/:ro"
- - "/etc/localtime:/etc/localtime:ro"
- - "kolla_logs:/var/log/kolla/"
diff --git a/ansible/roles/ceph/tasks/start_osds.yml b/ansible/roles/ceph/tasks/start_osds.yml
deleted file mode 100644
index e89cd3c2eb..0000000000
--- a/ansible/roles/ceph/tasks/start_osds.yml
+++ /dev/null
@@ -1,59 +0,0 @@
----
-- name: Looking up OSDs for Ceph
- become: true
- command: docker exec -t kolla_toolbox sudo -E ansible localhost
- -m find_disks
- -a "partition_name={{ partition_name_osd_data }} match_mode='prefix' use_udev={{ kolla_ceph_use_udev }}"
- register: osd_lookup
- changed_when: osd_lookup.stdout.find('localhost | SUCCESS => ') != -1 and (osd_lookup.stdout.split('localhost | SUCCESS => ')[1]|from_json).changed
- failed_when: osd_lookup.stdout.split()[2] != 'SUCCESS'
-
-- name: Parsing disk info for Ceph OSDs
- set_fact:
- osds: "{{ (osd_lookup.stdout.split('localhost | SUCCESS => ')[1]|from_json).disks|from_json }}"
-
-- name: Mounting Ceph OSD volumes
- become: true
- mount:
- src: "UUID={{ item.fs_uuid }}"
- fstype: "{{ ceph_osd_filesystem }}"
- state: mounted
- name: "/var/lib/ceph/osd/{{ item['fs_uuid'] }}"
- opts: "{{ ceph_osd_mount_options }}"
- with_items: "{{ osds }}"
- become_method: sudo
-
-- name: Gathering OSD IDs
- become: true
- command: "cat /var/lib/ceph/osd/{{ item['fs_uuid'] }}/whoami"
- with_items: "{{ osds }}"
- register: id
- changed_when: False
- failed_when: id.rc != 0
-
-- name: Starting ceph-osd container
- become: true
- kolla_docker:
- action: "start_container"
- common_options: "{{ docker_common_options }}"
- environment:
- KOLLA_CONFIG_STRATEGY: "{{ config_strategy }}"
- OSD_ID: "{{ item.0.stdout }}"
- JOURNAL_PARTITION: "{{ item.1.journal }}"
- TCMALLOC_MAX_TOTAL_THREAD_CACHE_BYTES: "{{ ceph_tcmalloc_tc_bytes }}"
- OSD_STORETYPE: "{{ ceph_osd_store_type }}"
- OSD_BS_FSUUID: "{{ item.1['fs_uuid'] }}"
- image: "{{ ceph_osd_image_full }}"
- name: "ceph_osd_{{ item.0.stdout }}"
- pid_mode: "host"
- privileged: True
- volumes:
- - "{{ node_config_directory }}/ceph-osd/:{{ container_config_directory }}/:ro"
- - "/etc/localtime:/etc/localtime:ro"
- - "/dev/:/dev/"
- - "/var/lib/ceph/osd/{{ item.1['fs_uuid'] }}:/var/lib/ceph/osd/ceph-{{ item.0.stdout }}"
- - "kolla_logs:/var/log/kolla/"
- with_together:
- - "{{ id.results }}"
- - "{{ osds }}"
- when: osds
diff --git a/ansible/roles/ceph/tasks/start_rgw_keystone.yml b/ansible/roles/ceph/tasks/start_rgw_keystone.yml
deleted file mode 100644
index 175e8614b1..0000000000
--- a/ansible/roles/ceph/tasks/start_rgw_keystone.yml
+++ /dev/null
@@ -1,20 +0,0 @@
----
-- import_role:
- name: service-ks-register
- vars:
- service_ks_register_auth: "{{ openstack_ceph_rgw_auth }}"
- service_ks_register_services: "{{ ceph_rgw_ks_services }}"
- service_ks_register_users: "{{ ceph_rgw_ks_users }}"
- tags: always
-
-- name: Creating the ResellerAdmin role
- become: true
- kolla_toolbox:
- module_name: "os_keystone_role"
- module_args:
- name: "ResellerAdmin"
- region_name: "{{ openstack_region_name }}"
- auth: "{{ openstack_ceph_rgw_auth }}"
- endpoint_type: "{{ openstack_interface }}"
- cacert: "{{ openstack_cacert }}"
- run_once: True
diff --git a/ansible/roles/ceph/tasks/start_rgws.yml b/ansible/roles/ceph/tasks/start_rgws.yml
deleted file mode 100644
index 559c4c8c68..0000000000
--- a/ansible/roles/ceph/tasks/start_rgws.yml
+++ /dev/null
@@ -1,12 +0,0 @@
----
-- name: Starting ceph-rgw container
- become: true
- kolla_docker:
- action: "start_container"
- common_options: "{{ docker_common_options }}"
- image: "{{ ceph_rgw_image_full }}"
- name: "ceph_rgw"
- volumes:
- - "{{ node_config_directory }}/ceph-rgw/:{{ container_config_directory }}/:ro"
- - "/etc/localtime:/etc/localtime:ro"
- - "kolla_logs:/var/log/kolla/"
diff --git a/ansible/roles/ceph/tasks/stop.yml b/ansible/roles/ceph/tasks/stop.yml
deleted file mode 100644
index bb4dcdf3d4..0000000000
--- a/ansible/roles/ceph/tasks/stop.yml
+++ /dev/null
@@ -1,70 +0,0 @@
----
-- name: Stopping ceph-mon container
- become: true
- kolla_docker:
- action: "stop_container"
- common_options: "{{ docker_common_options }}"
- name: "ceph_mon"
- when:
- - inventory_hostname in groups['ceph-mon']
- - "'ceph_mon' not in skip_stop_containers"
-
-- name: Find running ceph-osds containers
- become: true
- command: "docker ps --filter name=ceph_osd_ --format '{% raw %}{{ .Names }}{% endraw %}'"
- register: ceph_osd_containers
-
-- name: Stopping ceph-osd container
- become: true
- kolla_docker:
- action: "stop_container"
- common_options: "{{ docker_common_options }}"
- name: "{{ item }}"
- with_items: "{{ ceph_osd_containers.stdout_lines }}"
- when:
- - inventory_hostname in groups['ceph-osd']
- - ceph_osd_containers.stdout_lines | length >= 1
- - item not in skip_stop_containers
-
-- name: Stopping ceph-rgw container
- become: true
- kolla_docker:
- action: "stop_container"
- common_options: "{{ docker_common_options }}"
- name: "ceph_rgw"
- when:
- - inventory_hostname in groups['ceph-rgw']
- - enable_ceph_rgw | bool
- - "'ceph_rgw' not in skip_stop_containers"
-
-- name: Stopping ceph-mgr container
- become: true
- kolla_docker:
- action: "stop_container"
- common_options: "{{ docker_common_options }}"
- name: "ceph_mgr"
- when:
- - inventory_hostname in groups['ceph-mgr']
- - "'ceph_mgr' not in skip_stop_containers"
-
-- name: Stopping ceph-mds container
- become: true
- kolla_docker:
- action: "stop_container"
- common_options: "{{ docker_common_options }}"
- name: "ceph_mds"
- when:
- - enable_ceph_mds | bool
- - inventory_hostname in groups['ceph-mds']
- - "'ceph_mds' not in skip_stop_containers"
-
-- name: Stopping ceph-nfs container
- become: true
- kolla_docker:
- action: "stop_container"
- common_options: "{{ docker_common_options }}"
- name: "ceph_nfs"
- when:
- - enable_ceph_nfs | bool
- - inventory_hostname in groups['ceph-nfs']
- - "'ceph_nfs' not in skip_stop_containers"
diff --git a/ansible/roles/ceph/tasks/upgrade.yml b/ansible/roles/ceph/tasks/upgrade.yml
deleted file mode 100644
index 2239ceac04..0000000000
--- a/ansible/roles/ceph/tasks/upgrade.yml
+++ /dev/null
@@ -1,17 +0,0 @@
----
-- include_tasks: deploy.yml
-
-- name: Check final release (as running on MONs)
- become: true
- command: "docker exec ceph_mon ceph -m {{ 'storage' | kolla_address }} versions"
- changed_when: false
- register: ceph_release_command
- delegate_to: "{{ groups['ceph-mon'][0] }}"
- run_once: true
-
-- name: Finalize the upgrade by disallowing older OSDs
- become: true
- command: "docker exec ceph_mon ceph -m {{ 'storage' | kolla_address }} osd require-osd-release {{ ((ceph_release_command.stdout|from_json).mon | string).split(' ')[4] }}"
- changed_when: false
- delegate_to: "{{ groups['ceph-mon'][0] }}"
- run_once: true
diff --git a/ansible/roles/ceph/templates/ceph-mds.json.j2 b/ansible/roles/ceph/templates/ceph-mds.json.j2
deleted file mode 100644
index f6b2144deb..0000000000
--- a/ansible/roles/ceph/templates/ceph-mds.json.j2
+++ /dev/null
@@ -1,17 +0,0 @@
-{
- "command": "/usr/bin/ceph-mds -f -c /etc/ceph/ceph.conf -i {{ ceph_mds_hostname }}",
- "config_files": [
- {
- "source": "{{ container_config_directory }}/ceph.conf",
- "dest": "/etc/ceph/ceph.conf",
- "owner": "ceph",
- "perm": "0600"
- },
- {
- "source": "{{ container_config_directory }}/ceph.mds.{{ ceph_mds_hostname }}.keyring",
- "dest": "/var/lib/ceph/mds/ceph-{{ ceph_mds_hostname }}/keyring",
- "owner": "root",
- "perm": "0644"
- }
- ]
-}
diff --git a/ansible/roles/ceph/templates/ceph-mgr.json.j2 b/ansible/roles/ceph/templates/ceph-mgr.json.j2
deleted file mode 100644
index 48ce22b3b0..0000000000
--- a/ansible/roles/ceph/templates/ceph-mgr.json.j2
+++ /dev/null
@@ -1,23 +0,0 @@
-{
- "command": "/usr/bin/ceph-mgr -f -i {{ ceph_mgr_hostname }}",
- "config_files": [
- {
- "source": "{{ container_config_directory }}/ceph.conf",
- "dest": "/etc/ceph/ceph.conf",
- "owner": "ceph",
- "perm": "0600"
- },
- {
- "source": "{{ container_config_directory }}/ceph.mgr.{{ ceph_mgr_hostname }}.keyring",
- "dest": "/var/lib/ceph/mgr/ceph-{{ ceph_mgr_hostname }}/keyring",
- "owner": "ceph",
- "perm": "0600"
- },
- {
- "source": "{{ container_config_directory }}/ceph.client.admin.keyring",
- "dest": "/etc/ceph/ceph.client.admin.keyring",
- "owner": "ceph",
- "perm": "0600"
- }
- ]
-}
diff --git a/ansible/roles/ceph/templates/ceph-mon.json.j2 b/ansible/roles/ceph/templates/ceph-mon.json.j2
deleted file mode 100644
index 60b88c0e80..0000000000
--- a/ansible/roles/ceph/templates/ceph-mon.json.j2
+++ /dev/null
@@ -1,39 +0,0 @@
-{
- "command": "/usr/bin/ceph-mon -f {% if ceph_debug %}-d{% endif %} -i {{ ceph_mon_hostname }} --public-addr {{ storage_interface_address | put_address_in_context('url') }}:6789",
- "config_files": [
- {
- "source": "{{ container_config_directory }}/ceph.conf",
- "dest": "/etc/ceph/ceph.conf",
- "owner": "ceph",
- "perm": "0600"
- },
- {
- "source": "{{ container_config_directory }}/ceph.client.admin.keyring",
- "dest": "/etc/ceph/ceph.client.admin.keyring",
- "owner": "ceph",
- "perm": "0600",
- "optional": true
- },
- {
- "source": "{{ container_config_directory }}/ceph.client.mon.keyring",
- "dest": "/etc/ceph/ceph.client.mon.keyring",
- "owner": "ceph",
- "perm": "0600",
- "optional": true
- },
- {
- "source": "{{ container_config_directory }}/ceph.client.radosgw.keyring",
- "dest": "/etc/ceph/ceph.client.radosgw.keyring",
- "owner": "ceph",
- "perm": "0600",
- "optional": true
- },
- {
- "source": "{{ container_config_directory }}/ceph.monmap",
- "dest": "/etc/ceph/ceph.monmap",
- "owner": "ceph",
- "perm": "0600",
- "optional": true
- }
- ]
-}
diff --git a/ansible/roles/ceph/templates/ceph-nfs.json.j2 b/ansible/roles/ceph/templates/ceph-nfs.json.j2
deleted file mode 100644
index 45b75d7402..0000000000
--- a/ansible/roles/ceph/templates/ceph-nfs.json.j2
+++ /dev/null
@@ -1,24 +0,0 @@
-{
- "command": "/usr/bin/ganesha.nfsd -F -f /etc/ganesha/ganesha.conf",
- "config_files": [
- {
- "source": "{{ container_config_directory }}/ganesha.conf",
- "dest": "/etc/ganesha/ganesha.conf",
- "owner": "ceph",
- "perm": "0600"
- },
- {
- "source": "{{ container_config_directory }}/ceph.conf",
- "dest": "/etc/ceph/ceph.conf",
- "owner": "ceph",
- "perm": "0600"
- },
- {
- "source": "{{ container_config_directory }}/ceph.client.admin.keyring",
- "dest": "/etc/ceph/ceph.client.admin.keyring",
- "owner": "ceph",
- "perm": "0600",
- "optional": true
- }
- ]
-}
diff --git a/ansible/roles/ceph/templates/ceph-osd.json.j2 b/ansible/roles/ceph/templates/ceph-osd.json.j2
deleted file mode 100644
index a73488e72e..0000000000
--- a/ansible/roles/ceph/templates/ceph-osd.json.j2
+++ /dev/null
@@ -1,17 +0,0 @@
-{
- "command": "/usr/bin/ceph-osd -f {% if ceph_debug %}-d{% endif %} --public-addr {{ storage_interface_address }} --cluster-addr {{ 'cluster' | kolla_address }}",
- "config_files": [
- {
- "source": "{{ container_config_directory }}/ceph.conf",
- "dest": "/etc/ceph/ceph.conf",
- "owner": "ceph",
- "perm": "0600"
- },
- {
- "source": "{{ container_config_directory }}/ceph.client.admin.keyring",
- "dest": "/etc/ceph/ceph.client.admin.keyring",
- "owner": "ceph",
- "perm": "0600"
- }
- ]
-}
diff --git a/ansible/roles/ceph/templates/ceph-rgw.json.j2 b/ansible/roles/ceph/templates/ceph-rgw.json.j2
deleted file mode 100644
index 9789651da5..0000000000
--- a/ansible/roles/ceph/templates/ceph-rgw.json.j2
+++ /dev/null
@@ -1,23 +0,0 @@
-{
- "command": "/usr/bin/radosgw -c /etc/ceph/ceph.conf -n client.radosgw.gateway -f",
- "config_files": [
- {
- "source": "{{ container_config_directory }}/ceph.conf",
- "dest": "/etc/ceph/ceph.conf",
- "owner": "ceph",
- "perm": "0600"
- },
- {
- "source": "{{ container_config_directory }}/ceph.client.admin.keyring",
- "dest": "/etc/ceph/ceph.client.admin.keyring",
- "owner": "ceph",
- "perm": "0600"
- },
- {
- "source": "{{ container_config_directory }}/ceph.client.radosgw.keyring",
- "dest": "/etc/ceph/ceph.client.radosgw.keyring",
- "owner": "ceph",
- "perm": "0600"
- }
- ]
-}
diff --git a/ansible/roles/ceph/templates/ceph.conf.j2 b/ansible/roles/ceph/templates/ceph.conf.j2
deleted file mode 100644
index 10209e1f05..0000000000
--- a/ansible/roles/ceph/templates/ceph.conf.j2
+++ /dev/null
@@ -1,70 +0,0 @@
-[global]
-log file = /var/log/kolla/ceph/$cluster-$name.log
-log to syslog = false
-err to syslog = false
-log to stderr = false
-err to stderr = false
-
-fsid = {{ ceph_cluster_fsid }}
-{% if ceph_mon_host_type == 'HOSTNAME' %}
-mon initial members = {% for host in groups['ceph-mon'] %}{{ hostvars[host]['ansible_hostname'] }}{% if not loop.last %}, {% endif %}{% endfor %}
-{% elif ceph_mon_host_type == 'FQDN' %}
-mon initial members = {% for host in groups['ceph-mon'] %}{{ hostvars[host]['ansible_fqdn'] }}{% if not loop.last %}, {% endif %}{% endfor %}
-{% elif ceph_mon_host_type == 'INVENTORY' %}
-mon initial members = {% for host in groups['ceph-mon'] %}{{ host }}{% if not loop.last %}, {% endif %}{% endfor %}
-{%- else %}
-mon initial members = {% for host in groups['ceph-mon'] %}{{ 'storage' | kolla_address(host) }}{% if not loop.last %}, {% endif %}{% endfor %}
-{% endif %}
-
-mon host = {% for host in groups['ceph-mon'] %}{{ 'storage' | kolla_address(host) }}{% if not loop.last %}, {% endif %}{% endfor %}
-
-mon addr = {% for host in groups['ceph-mon'] %}{{ 'storage' | kolla_address(host) | put_address_in_context('url') }}:6789{% if not loop.last %}, {% endif %}{% endfor %}
-
-{% if storage_address_family == 'ipv6' %}
-ms bind ipv6 = true
-{% endif %}
-
-auth cluster required = cephx
-auth service required = cephx
-auth client required = cephx
-
-# NOTE(inc0): This line will mean that if ceph was upgraded, it will run as root
-# until contents of /var/lib/ceph are chowned to ceph user.
-# This change was introduced in Jewel version and we should include
-# chown operation in upgrade procedure. https://bugs.launchpad.net/kolla/+bug/1620702
-setuser match path = /var/lib/ceph/$type/$cluster-$id
-
-# NOTE(Jeffrey4l): kolla is using node ip as host bucket name, whereas `osd
-# crush update on start` feature depends on hostname. Disable this feature for
-# less confusion and upgrade impact.
-osd crush update on start = false
-
-[mon]
-# NOTE(SamYaple): The monitor files have been known to grow very large. The
-# only fix for that is to compact the files.
-mon compact on start = true
-mon cluster log file = /var/log/kolla/ceph/$cluster.log
-
-{% if service_name is defined and service_name == 'ceph-rgw' %}
-[client.radosgw.gateway]
-host = {{ 'storage' | kolla_address }}
-rgw frontends = civetweb port={{ api_interface_address | put_address_in_context('url') }}:{{ rgw_port }}
-{% if enable_ceph_rgw_keystone | bool %}
-rgw_keystone_url = {{ keystone_admin_url }}
-rgw_keystone_admin_user = {{ ceph_rgw_keystone_user }}
-rgw_keystone_admin_password = {{ ceph_rgw_keystone_password }}
-rgw_keystone_admin_project = service
-rgw_keystone_admin_domain = default
-rgw_keystone_api_version = 3
-rgw_keystone_accepted_roles = admin, {{ keystone_default_user_role }}
-rgw_keystone_accepted_admin_roles = ResellerAdmin
-rgw_swift_versioning_enabled = true
-{% endif %}
-keyring = /etc/ceph/ceph.client.radosgw.keyring
-log file = /var/log/kolla/ceph/client.radosgw.gateway.log
-{% if ceph_rgw_compatibility | bool %}
-rgw_swift_url_prefix = "/"
-rgw_enable_apis = swift,swift_auth,admin
-rgw_swift_enforce_content_length = true
-{% endif %}
-{% endif %}
diff --git a/ansible/roles/ceph/templates/ganesha.conf.j2 b/ansible/roles/ceph/templates/ganesha.conf.j2
deleted file mode 100644
index 2c51ae61d9..0000000000
--- a/ansible/roles/ceph/templates/ganesha.conf.j2
+++ /dev/null
@@ -1,37 +0,0 @@
-NFS_CORE_PARAM {
- Protocols = 4;
- Enable_NLM = false;
- Enable_RQUOTA = false;
- Enable_UDP = false;
-}
-
-NFS_KRB5 {
- Active_krb5 = false;
-}
-
-EXPORT
-{
- Export_id=1;
-
- Path = "/";
-
- Pseudo = /cephfs;
-
- Access_Type = RW;
-
- Protocols = 4;
-
- Transports = TCP;
-
- FSAL {
- Name = CEPH;
- }
-}
-
-LOG {
- Facility {
- name = FILE;
- destination = "/var/log/kolla/ceph/ceph-nfs.log";
- enable = active;
- }
-}
diff --git a/ansible/roles/ceph_pools.yml b/ansible/roles/ceph_pools.yml
deleted file mode 100644
index a5c3007964..0000000000
--- a/ansible/roles/ceph_pools.yml
+++ /dev/null
@@ -1,117 +0,0 @@
----
-# TODO(SamYaple): Improve failed_when and changed_when tests if possible
-- name: Creating ceph erasure profile
- become: true
- command: docker exec ceph_mon ceph osd erasure-code-profile set erasure-profile {{ ceph_erasure_profile }}
- delegate_to: "{{ groups['ceph-mon'][0] }}"
- changed_when: False
- failed_when: False
- run_once: True
- when: pool_type == "erasure"
-
-- name: Creating ceph ruleset
- become: true
- command: docker exec ceph_mon ceph osd crush rule create-erasure disks erasure-profile
- delegate_to: "{{ groups['ceph-mon'][0] }}"
- changed_when: False
- failed_when: False
- run_once: True
- when: pool_type == "erasure"
-
-- name: Creating ceph ruleset
- become: true
- command: docker exec ceph_mon ceph osd crush rule create-simple disks {{ ceph_rule }}
- delegate_to: "{{ groups['ceph-mon'][0] }}"
- changed_when: False
- failed_when: False
- run_once: True
- when: pool_type == "replicated"
-
-- name: Creating ceph pool
- become: true
- command: docker exec ceph_mon ceph osd pool create {{ pool_name }} {{ pool_pg_num }} {{ pool_pgp_num }} {{ pool_type }} {{ 'erasure-profile' if pool_type == 'erasure' else '' }} disks
- delegate_to: "{{ groups['ceph-mon'][0] }}"
- changed_when: False
- run_once: True
-
-- name: enable application for ceph pool
- become: true
- command: docker exec ceph_mon ceph osd pool application enable {{ pool_name }} {{ pool_application }}
- changed_when: False
- delegate_to: "{{ groups['ceph-mon'][0] }}"
- run_once: True
-
-- name: Creating ceph ruleset for cache
- become: true
- command: docker exec ceph_mon ceph osd crush rule create-simple cache {{ ceph_cache_rule }}
- delegate_to: "{{ groups['ceph-mon'][0] }}"
- changed_when: False
- failed_when: False
- run_once: True
- when: ceph_enable_cache | bool
-
-- name: Creating ceph pool for cache
- become: true
- command: docker exec ceph_mon ceph osd pool create {{ pool_name }}-cache 128 128 replicated cache
- delegate_to: "{{ groups['ceph-mon'][0] }}"
- changed_when: False
- run_once: True
- when: ceph_enable_cache | bool
-
-- name: Adding cache to pool
- become: true
- command: docker exec ceph_mon ceph osd tier add {{ pool_name }} {{ pool_name }}-cache
- delegate_to: "{{ groups['ceph-mon'][0] }}"
- changed_when: False
- failed_when: False
- run_once: True
- when: ceph_enable_cache | bool
-
-- name: Setting cache-mode
- become: true
- command: docker exec ceph_mon ceph osd tier cache-mode {{ pool_name }}-cache {{ cache_mode }}
- delegate_to: "{{ groups['ceph-mon'][0] }}"
- changed_when: False
- failed_when: False
- run_once: True
- when: ceph_enable_cache | bool
-
-- name: Setting cache overlay for pool
- become: true
- command: docker exec ceph_mon ceph osd tier set-overlay {{ pool_name }} {{ pool_name }}-cache
- delegate_to: "{{ groups['ceph-mon'][0] }}"
- changed_when: False
- failed_when: False
- run_once: True
- when: ceph_enable_cache | bool
-
-- name: Setting cache hit_set_type
- become: true
- command: docker exec ceph_mon ceph osd pool set {{ pool_name }}-cache hit_set_type bloom
- delegate_to: "{{ groups['ceph-mon'][0] }}"
- changed_when: False
- failed_when: False
- run_once: True
- when: ceph_enable_cache | bool
-
-- name: Setting cache target_max_bytes
- become: true
- command: docker exec ceph_mon ceph osd pool set {{ pool_name }}-cache target_max_bytes {{ ceph_target_max_bytes }}
- delegate_to: "{{ groups['ceph-mon'][0] }}"
- changed_when: False
- failed_when: False
- run_once: True
- when:
- - ceph_enable_cache | bool
- - ceph_target_max_bytes != ''
-
-- name: Setting cache target_max_objects
- become: true
- command: docker exec ceph_mon ceph osd pool set {{ pool_name }}-cache target_max_objects {{ ceph_target_max_objects }}
- delegate_to: "{{ groups['ceph-mon'][0] }}"
- changed_when: False
- failed_when: False
- run_once: True
- when:
- - ceph_enable_cache | bool
- - ceph_target_max_objects != ''
diff --git a/ansible/roles/cinder/defaults/main.yml b/ansible/roles/cinder/defaults/main.yml
index 98c0a582bf..88e260941c 100644
--- a/ansible/roles/cinder/defaults/main.yml
+++ b/ansible/roles/cinder/defaults/main.yml
@@ -47,45 +47,6 @@ cinder_services:
volumes: "{{ cinder_backup_default_volumes + cinder_backup_extra_volumes }}"
dimensions: "{{ cinder_backup_dimensions }}"
-####################
-# Ceph
-####################
-ceph_cinder_pool_type: "{{ ceph_pool_type }}"
-ceph_cinder_cache_mode: "{{ ceph_cache_mode }}"
-ceph_cinder_backup_pool_type: "{{ ceph_pool_type }}"
-ceph_cinder_backup_cache_mode: "{{ ceph_cache_mode }}"
-
-# Due to Ansible issues on include, you cannot override these variables. Please
-# override the variables they reference instead.
-cinder_pool_name: "{{ ceph_cinder_pool_name }}"
-cinder_pool_type: "{{ ceph_cinder_pool_type }}"
-cinder_cache_mode: "{{ ceph_cinder_cache_mode }}"
-cinder_pool_pg_num: "{{ ceph_pool_pg_num }}"
-cinder_pool_pgp_num: "{{ ceph_pool_pgp_num }}"
-
-cinder_backup_pool_name: "{{ ceph_cinder_backup_pool_name }}"
-cinder_backup_pool_type: "{{ ceph_cinder_backup_pool_type }}"
-cinder_backup_cache_mode: "{{ ceph_cinder_backup_cache_mode }}"
-cinder_backup_pool_pg_num: "{{ ceph_pool_pg_num }}"
-cinder_backup_pool_pgp_num: "{{ ceph_pool_pgp_num }}"
-
-ceph_client_cinder_keyring_caps:
- mon: 'profile rbd'
- osd: >-
- profile rbd pool={{ ceph_cinder_pool_name }},
- profile rbd pool={{ ceph_nova_pool_name }},
- profile rbd pool={{ ceph_glance_pool_name }},
- profile rbd pool={{ ceph_cinder_pool_name }}-cache,
- profile rbd pool={{ ceph_nova_pool_name }}-cache,
- profile rbd pool={{ ceph_glance_pool_name }}-cache
-
-ceph_client_cinder_backup_keyring_caps:
- mon: 'profile rbd'
- osd: >-
- profile rbd pool={{ ceph_cinder_backup_pool_name }},
- profile rbd pool={{ ceph_cinder_backup_pool_name }}-cache
-
-
####################
# Database
####################
diff --git a/ansible/roles/cinder/tasks/ceph.yml b/ansible/roles/cinder/tasks/ceph.yml
deleted file mode 100644
index 5e318db480..0000000000
--- a/ansible/roles/cinder/tasks/ceph.yml
+++ /dev/null
@@ -1,75 +0,0 @@
----
-- name: Copying over ceph.conf(s)
- vars:
- services_need_config:
- - "cinder-volume"
- - "cinder-backup"
- merge_configs:
- sources:
- - "{{ role_path }}/../ceph/templates/ceph.conf.j2"
- - "{{ node_custom_config }}/ceph.conf"
- - "{{ node_custom_config }}/ceph/{{ inventory_hostname }}/ceph.conf"
- dest: "{{ node_config_directory }}/{{ item.key }}/ceph.conf"
- mode: "0660"
- become: true
- when:
- - item.value.enabled | bool
- - inventory_hostname in groups[item.value.group]
- - item.key in services_need_config
- with_dict: "{{ cinder_services }}"
- notify:
- - Restart {{ item.key }} container
-
-- include_tasks: ../../ceph_pools.yml
- vars:
- pool_name: "{{ cinder_pool_name }}"
- pool_type: "{{ cinder_pool_type }}"
- cache_mode: "{{ cinder_cache_mode }}"
- pool_pg_num: "{{ cinder_pool_pg_num }}"
- pool_pgp_num: "{{ cinder_pool_pgp_num }}"
- pool_application: "rbd"
-
-- include_tasks: ../../ceph_pools.yml
- vars:
- pool_name: "{{ cinder_backup_pool_name }}"
- pool_type: "{{ cinder_backup_pool_type }}"
- cache_mode: "{{ cinder_backup_cache_mode }}"
- pool_pg_num: "{{ cinder_backup_pool_pg_num }}"
- pool_pgp_num: "{{ cinder_backup_pool_pgp_num }}"
- pool_application: "rbd"
-
-- name: Pulling cephx keyring for cinder
- become: true
- kolla_ceph_keyring:
- name: client.cinder
- caps: "{{ ceph_client_cinder_keyring_caps }}"
- register: cephx_key_cinder
- delegate_to: "{{ groups['ceph-mon'][0] }}"
- run_once: True
-
-- name: Pulling cephx keyring for cinder-backup
- become: true
- kolla_ceph_keyring:
- name: client.cinder-backup
- caps: "{{ ceph_client_cinder_backup_keyring_caps }}"
- register: cephx_key_cinder_backup
- delegate_to: "{{ groups['ceph-mon'][0] }}"
- run_once: True
-
-- name: Pushing cephx keyring
- copy:
- content: |
- [client.{{ item.key_name }}]
- key = {{ item.key }}
- dest: "{{ node_config_directory }}/{{ item.service_name }}/ceph.client.{{ item.key_name }}.keyring"
- mode: "0600"
- become: true
- with_items:
- - { service_name: "cinder-volume", key_name: "cinder", key: "{{ cephx_key_cinder.keyring.key }}" }
- - { service_name: "cinder-backup", key_name: "cinder", key: "{{ cephx_key_cinder.keyring.key }}" }
- - { service_name: "cinder-backup", key_name: "cinder-backup", key: "{{ cephx_key_cinder_backup.keyring.key }}" }
- when:
- - inventory_hostname in groups[item.service_name]
- - cinder_services[item.service_name].enabled | bool
- notify:
- - "Restart {{ item.service_name }} container"
diff --git a/ansible/roles/cinder/tasks/config.yml b/ansible/roles/cinder/tasks/config.yml
index 9e9db41fd3..40505d9128 100644
--- a/ansible/roles/cinder/tasks/config.yml
+++ b/ansible/roles/cinder/tasks/config.yml
@@ -12,18 +12,9 @@
- item.value.enabled | bool
with_dict: "{{ cinder_services }}"
-- include_tasks: ceph.yml
- when:
- - (enable_ceph | bool) and (cinder_backend_ceph | bool)
- - inventory_hostname in groups['ceph-mon'] or
- inventory_hostname in groups['cinder-api'] or
- inventory_hostname in groups['cinder-volume'] or
- inventory_hostname in groups['cinder-scheduler'] or
- inventory_hostname in groups['cinder-backup']
-
- include_tasks: external_ceph.yml
when:
- - (not enable_ceph | bool) and (cinder_backend_ceph | bool)
+ - cinder_backend_ceph | bool
- inventory_hostname in groups['cinder-volume'] or
inventory_hostname in groups['cinder-backup']
diff --git a/ansible/roles/cinder/tasks/deploy.yml b/ansible/roles/cinder/tasks/deploy.yml
index d7bd033ac9..ad850c58b5 100644
--- a/ansible/roles/cinder/tasks/deploy.yml
+++ b/ansible/roles/cinder/tasks/deploy.yml
@@ -3,8 +3,7 @@
when: inventory_hostname in groups['cinder-api']
- include_tasks: config.yml
- when: inventory_hostname in groups['ceph-mon'] or
- inventory_hostname in groups['cinder-api'] or
+ when: inventory_hostname in groups['cinder-api'] or
inventory_hostname in groups['cinder-volume'] or
inventory_hostname in groups['cinder-scheduler'] or
inventory_hostname in groups['cinder-backup']
diff --git a/ansible/roles/common/tasks/config.yml b/ansible/roles/common/tasks/config.yml
index 5734bd9864..d3043f9a50 100644
--- a/ansible/roles/common/tasks/config.yml
+++ b/ansible/roles/common/tasks/config.yml
@@ -290,7 +290,6 @@
- { name: "barbican", enabled: "{{ enable_barbican }}" }
- { name: "blazar", enabled: "{{ enable_blazar }}" }
- { name: "ceilometer", enabled: "{{ enable_ceilometer }}" }
- - { name: "ceph", enabled: "{{ enable_ceph }}" }
- { name: "chrony", enabled: "{{ enable_chrony }}" }
- { name: "cinder", enabled: "{{ enable_cinder }}" }
- { name: "cloudkitty", enabled: "{{ enable_cloudkitty }}" }
diff --git a/ansible/roles/common/templates/cron-logrotate-ceph.conf.j2 b/ansible/roles/common/templates/cron-logrotate-ceph.conf.j2
deleted file mode 100644
index d54a2ae9d0..0000000000
--- a/ansible/roles/common/templates/cron-logrotate-ceph.conf.j2
+++ /dev/null
@@ -1,7 +0,0 @@
-"/var/log/kolla/ceph/*.log"
-{
- create 644 root root
- postrotate
- chmod 644 /var/log/kolla/ceph/*.log
- endscript
-}
diff --git a/ansible/roles/common/templates/cron.json.j2 b/ansible/roles/common/templates/cron.json.j2
index 63a29c8124..f207e3db3c 100644
--- a/ansible/roles/common/templates/cron.json.j2
+++ b/ansible/roles/common/templates/cron.json.j2
@@ -5,7 +5,6 @@
( 'barbican', enable_barbican ),
( 'blazar', enable_blazar ),
( 'ceilometer', enable_ceilometer ),
- ( 'ceph', enable_ceph ),
( 'chrony', enable_chrony ),
( 'cinder', enable_cinder ),
( 'cloudkitty', enable_cloudkitty ),
diff --git a/ansible/roles/glance/defaults/main.yml b/ansible/roles/glance/defaults/main.yml
index faed1b0af3..61478bbfed 100644
--- a/ansible/roles/glance/defaults/main.yml
+++ b/ansible/roles/glance/defaults/main.yml
@@ -67,27 +67,6 @@ glance_notification_topics:
glance_enabled_notification_topics: "{{ glance_notification_topics | selectattr('enabled', 'equalto', true) | list }}"
-####################
-# Ceph
-####################
-ceph_glance_pool_type: "{{ ceph_pool_type }}"
-ceph_glance_cache_mode: "{{ ceph_cache_mode }}"
-
-# Due to Ansible issues on include, you cannot override these variables. Please
-# override the variables they reference instead.
-glance_pool_name: "{{ ceph_glance_pool_name }}"
-glance_pool_type: "{{ ceph_glance_pool_type }}"
-glance_cache_mode: "{{ ceph_glance_cache_mode }}"
-glance_pool_pg_num: "{{ ceph_pool_pg_num }}"
-glance_pool_pgp_num: "{{ ceph_pool_pgp_num }}"
-
-ceph_client_glance_keyring_caps:
- mon: 'profile rbd'
- osd: >-
- profile rbd pool={{ ceph_glance_pool_name }},
- profile rbd pool={{ ceph_glance_pool_name }}-cache
-
-
####################
# Database
####################
diff --git a/ansible/roles/glance/tasks/ceph.yml b/ansible/roles/glance/tasks/ceph.yml
deleted file mode 100644
index bc29bf2fb1..0000000000
--- a/ansible/roles/glance/tasks/ceph.yml
+++ /dev/null
@@ -1,60 +0,0 @@
----
-- name: Copying over ceph.conf(s)
- merge_configs:
- sources:
- - "{{ role_path }}/../ceph/templates/ceph.conf.j2"
- - "{{ node_custom_config }}/ceph.conf"
- - "{{ node_custom_config }}/ceph/{{ inventory_hostname }}/ceph.conf"
- dest: "{{ node_config_directory }}/glance-api/ceph.conf"
- mode: "0660"
- become: true
- when:
- - glance_services['glance-api'].host_in_groups | bool
- - glance_services['glance-api'].enabled | bool
- notify:
- - Restart glance-api container
-
-- include_tasks: ../../ceph_pools.yml
- vars:
- pool_name: "{{ glance_pool_name }}"
- pool_type: "{{ glance_pool_type }}"
- cache_mode: "{{ glance_cache_mode }}"
- pool_pg_num: "{{ glance_pool_pg_num }}"
- pool_pgp_num: "{{ glance_pool_pgp_num }}"
- pool_application: "rbd"
-
-- name: Pulling cephx keyring
- become: true
- kolla_ceph_keyring:
- name: client.glance
- caps: "{{ ceph_client_glance_keyring_caps }}"
- register: cephx_key
- delegate_to: "{{ groups['ceph-mon'][0] }}"
- run_once: True
-
-- name: Pushing cephx keyring
- copy:
- content: |
- [client.glance]
- key = {{ cephx_key.keyring.key }}
- dest: "{{ node_config_directory }}/glance-api/ceph.client.glance.keyring"
- mode: "0600"
- become: true
- when:
- - glance_services['glance-api'].host_in_groups | bool
- - glance_services['glance-api'].enabled | bool
- notify:
- - Restart glance-api container
-
-- name: Ensuring config directory has correct owner and permission
- become: true
- file:
- path: "{{ node_config_directory }}/{{ item }}"
- recurse: yes
- owner: "{{ config_owner_user }}"
- group: "{{ config_owner_group }}"
- when:
- - glance_services[item].host_in_groups | bool
- - glance_services[item].enabled | bool
- with_items:
- - "glance-api"
diff --git a/ansible/roles/glance/tasks/config.yml b/ansible/roles/glance/tasks/config.yml
index cdd589b520..d6e4ec9689 100644
--- a/ansible/roles/glance/tasks/config.yml
+++ b/ansible/roles/glance/tasks/config.yml
@@ -12,14 +12,8 @@
- item.value.enabled | bool
with_dict: "{{ glance_services }}"
-- include_tasks: ceph.yml
- when:
- - enable_ceph | bool
- - glance_backend_ceph | bool
-
- include_tasks: external_ceph.yml
when:
- - not enable_ceph | bool
- glance_backend_ceph | bool
- name: Check if policies shall be overwritten
diff --git a/ansible/roles/gnocchi/defaults/main.yml b/ansible/roles/gnocchi/defaults/main.yml
index 758e1de128..2f8f026003 100644
--- a/ansible/roles/gnocchi/defaults/main.yml
+++ b/ansible/roles/gnocchi/defaults/main.yml
@@ -36,27 +36,6 @@ gnocchi_services:
dimensions: "{{ gnocchi_statsd_dimensions }}"
-####################
-# Ceph
-####################
-ceph_gnocchi_pool_type: "{{ ceph_pool_type }}"
-ceph_gnocchi_cache_mode: "{{ ceph_cache_mode }}"
-
-# Due to Ansible issues on include, you cannot override these variables. Please
-# override the variables they reference instead.
-gnocchi_pool_name: "{{ ceph_gnocchi_pool_name }}"
-gnocchi_pool_type: "{{ ceph_gnocchi_pool_type }}"
-gnocchi_cache_mode: "{{ ceph_gnocchi_cache_mode }}"
-gnocchi_pool_pg_num: "{{ ceph_pool_pg_num }}"
-gnocchi_pool_pgp_num: "{{ ceph_pool_pgp_num }}"
-
-ceph_client_gnocchi_keyring_caps:
- mon: 'profile rbd'
- osd: >-
- profile rbd pool={{ ceph_gnocchi_pool_name }},
- profile rbd pool={{ ceph_gnocchi_pool_name }}-cache
-
-
####################
# Swift
####################
diff --git a/ansible/roles/gnocchi/tasks/ceph.yml b/ansible/roles/gnocchi/tasks/ceph.yml
deleted file mode 100644
index e26d54b041..0000000000
--- a/ansible/roles/gnocchi/tasks/ceph.yml
+++ /dev/null
@@ -1,51 +0,0 @@
----
-- name: Copying over ceph.conf(s)
- merge_configs:
- sources:
- - "{{ role_path }}/../ceph/templates/ceph.conf.j2"
- - "{{ node_custom_config }}/ceph.conf"
- - "{{ node_custom_config }}/ceph/{{ inventory_hostname }}/ceph.conf"
- dest: "{{ node_config_directory }}/{{ item }}/ceph.conf"
- mode: "0660"
- become: true
- when: inventory_hostname in groups[item]
- with_items:
- - "gnocchi-api"
- - "gnocchi-metricd"
- - "gnocchi-statsd"
- notify:
- - Restart {{ item }} container
-
-- include_tasks: ../../ceph_pools.yml
- vars:
- pool_name: "{{ gnocchi_pool_name }}"
- pool_type: "{{ gnocchi_pool_type }}"
- cache_mode: "{{ gnocchi_cache_mode }}"
- pool_pg_num: "{{ gnocchi_pool_pg_num }}"
- pool_pgp_num: "{{ gnocchi_pool_pgp_num }}"
- pool_application: "rgw"
-
-- name: Pulling cephx keyring
- become: true
- kolla_ceph_keyring:
- name: client.gnocchi
- caps: "{{ ceph_client_gnocchi_keyring_caps }}"
- register: cephx_key
- delegate_to: "{{ groups['ceph-mon'][0] }}"
- run_once: True
-
-- name: Pushing cephx keyring
- copy:
- content: |
- [client.gnocchi]
- key = {{ cephx_key.keyring.key }}
- dest: "{{ node_config_directory }}/{{ item }}/ceph.client.gnocchi.keyring"
- mode: "0600"
- become: true
- when: inventory_hostname in groups[item]
- with_items:
- - "gnocchi-api"
- - "gnocchi-metricd"
- - "gnocchi-statsd"
- notify:
- - Restart {{ item }} container
diff --git a/ansible/roles/gnocchi/tasks/config.yml b/ansible/roles/gnocchi/tasks/config.yml
index aa4612028b..c4492859f8 100644
--- a/ansible/roles/gnocchi/tasks/config.yml
+++ b/ansible/roles/gnocchi/tasks/config.yml
@@ -12,14 +12,8 @@
- item.value.enabled | bool
with_dict: "{{ gnocchi_services }}"
-- include_tasks: ceph.yml
- when:
- - enable_ceph | bool
- - gnocchi_backend_storage == 'ceph'
-
- include_tasks: external_ceph.yml
when:
- - not enable_ceph | bool
- gnocchi_backend_storage == 'ceph'
- name: Check if policies shall be overwritten
diff --git a/ansible/roles/haproxy/tasks/precheck.yml b/ansible/roles/haproxy/tasks/precheck.yml
index 6c32157ca6..69cbf03bb0 100644
--- a/ansible/roles/haproxy/tasks/precheck.yml
+++ b/ansible/roles/haproxy/tasks/precheck.yml
@@ -858,19 +858,6 @@
- haproxy_stat.find('outward_rabbitmq_management') == -1
- "host_running_haproxy == 'None'"
-- name: Checking free port for RadosGW HAProxy
- wait_for:
- host: "{{ kolla_internal_vip_address }}"
- port: "{{ rgw_port }}"
- connect_timeout: 1
- timeout: 1
- state: stopped
- when:
- - enable_ceph_rgw | bool
- - inventory_hostname in groups['haproxy']
- - haproxy_stat.find('radosgw') == -1
- - "host_running_haproxy == 'None'"
-
- name: Checking free port for Sahara API HAProxy
wait_for:
host: "{{ kolla_internal_vip_address }}"
diff --git a/ansible/roles/manila/defaults/main.yml b/ansible/roles/manila/defaults/main.yml
index 10507a54bd..50cad390da 100644
--- a/ansible/roles/manila/defaults/main.yml
+++ b/ansible/roles/manila/defaults/main.yml
@@ -45,21 +45,6 @@ manila_services:
dimensions: "{{ manila_data_dimensions }}"
-#####################
-## Ceph
-#####################
-
-ceph_client_manila_keyring_caps:
- mon: >-
- allow r,
- allow command "auth del",
- allow command "auth caps",
- allow command "auth get",
- allow command "auth get-or-create"
- osd: 'allow rw'
- mds: 'allow *'
-
-
#####################
## Database
#####################
diff --git a/ansible/roles/manila/tasks/ceph.yml b/ansible/roles/manila/tasks/ceph.yml
deleted file mode 100644
index dc02f7e589..0000000000
--- a/ansible/roles/manila/tasks/ceph.yml
+++ /dev/null
@@ -1,32 +0,0 @@
----
-- name: Copying over ceph.conf for manila
- merge_configs:
- sources:
- - "{{ role_path }}/../ceph/templates/ceph.conf.j2"
- - "{{ node_custom_config }}/ceph.conf"
- - "{{ node_custom_config }}/ceph/{{ inventory_hostname }}/ceph.conf"
- dest: "{{ node_config_directory }}/manila-share/ceph.conf"
- mode: "0660"
- become: true
- notify:
- - Restart manila-share container
-
-- name: Pulling cephx keyring for manila
- become: true
- kolla_ceph_keyring:
- name: client.manila
- caps: "{{ ceph_client_manila_keyring_caps }}"
- register: cephx_key_manila
- delegate_to: "{{ groups['ceph-mon'][0] }}"
- run_once: True
-
-- name: Pushing cephx keyring
- copy:
- content: |
- [client.manila]
- key = {{ cephx_key_manila.keyring.key }}
- dest: "{{ node_config_directory }}/manila-share/ceph.client.manila.keyring"
- mode: "0600"
- become: true
- notify:
- - Restart manila-share container
diff --git a/ansible/roles/manila/tasks/config.yml b/ansible/roles/manila/tasks/config.yml
index 78eff7c59a..edf9198152 100644
--- a/ansible/roles/manila/tasks/config.yml
+++ b/ansible/roles/manila/tasks/config.yml
@@ -12,17 +12,8 @@
- item.value.enabled | bool
with_dict: "{{ manila_services }}"
-- include_tasks: ceph.yml
- when:
- - enable_ceph | bool
- - enable_ceph_mds | bool
- - (enable_manila_backend_cephfs_native | bool) or (enable_manila_backend_cephfs_nfs | bool)
- - inventory_hostname in groups['manila-share']
-
- include_tasks: external_ceph.yml
when:
- - not enable_ceph| bool
- - not enable_ceph_mds| bool
- (enable_manila_backend_cephfs_native | bool) or (enable_manila_backend_cephfs_nfs | bool)
- inventory_hostname in groups['manila-share']
diff --git a/ansible/roles/manila/tasks/deploy.yml b/ansible/roles/manila/tasks/deploy.yml
index bb2457d0b5..b3f48817f3 100644
--- a/ansible/roles/manila/tasks/deploy.yml
+++ b/ansible/roles/manila/tasks/deploy.yml
@@ -19,6 +19,5 @@
- include_tasks: fix_cephfs_owner.yml
when:
- - not enable_ceph | bool or enable_ceph_mds | bool
- enable_manila_backend_cephfs_native | bool
- inventory_hostname in groups['manila-share']
diff --git a/ansible/roles/nova-cell/defaults/main.yml b/ansible/roles/nova-cell/defaults/main.yml
index 6d7161cd8e..36cc26b8a4 100644
--- a/ansible/roles/nova-cell/defaults/main.yml
+++ b/ansible/roles/nova-cell/defaults/main.yml
@@ -66,33 +66,12 @@ nova_cell_services:
dimensions: "{{ nova_compute_ironic_dimensions }}"
####################
-# Ceph
+# Ceph options
####################
-ceph_nova_pool_type: "{{ ceph_pool_type }}"
-ceph_nova_cache_mode: "{{ ceph_cache_mode }}"
-
-# Due to Ansible issues on include, you cannot override these variables. Please
-# override the variables they reference instead.
-nova_pool_name: "{{ ceph_nova_pool_name }}"
-nova_pool_type: "{{ ceph_nova_pool_type }}"
-nova_cache_mode: "{{ ceph_nova_cache_mode }}"
-nova_pool_pg_num: "{{ ceph_pool_pg_num }}"
-nova_pool_pgp_num: "{{ ceph_pool_pgp_num }}"
-
# Discard option for nova managed disks. Requires libvirt (1, 0, 6) or later and
# qemu (1, 6, 0) or later. Set to "" to disable.
nova_hw_disk_discard: "unmap"
-ceph_client_nova_keyring_caps:
- mon: 'profile rbd'
- osd: >-
- profile rbd pool={{ ceph_cinder_pool_name }},
- profile rbd pool={{ ceph_cinder_pool_name }}-cache,
- profile rbd pool={{ ceph_nova_pool_name }},
- profile rbd pool={{ ceph_nova_pool_name }}-cache,
- profile rbd pool={{ ceph_glance_pool_name }},
- profile rbd pool={{ ceph_glance_pool_name }}-cache
-
####################
# Cells Options
####################
diff --git a/ansible/roles/nova-cell/tasks/ceph.yml b/ansible/roles/nova-cell/tasks/ceph.yml
deleted file mode 100644
index afaca88125..0000000000
--- a/ansible/roles/nova-cell/tasks/ceph.yml
+++ /dev/null
@@ -1,119 +0,0 @@
----
-- name: Ensuring config directory exists
- file:
- path: "{{ node_config_directory }}/{{ item }}"
- state: "directory"
- mode: "0770"
- become: true
- with_items:
- - "nova-libvirt/secrets"
- when: inventory_hostname in groups[nova_cell_compute_group]
-
-- name: Copying over ceph.conf(s)
- vars:
- service_name: "{{ item }}"
- merge_configs:
- sources:
- - "{{ role_path }}/../ceph/templates/ceph.conf.j2"
- - "{{ node_custom_config }}/ceph.conf"
- - "{{ node_custom_config }}/ceph/{{ inventory_hostname }}/ceph.conf"
- dest: "{{ node_config_directory }}/{{ item }}/ceph.conf"
- mode: "0660"
- become: true
- with_items:
- - "nova-compute"
- - "nova-libvirt"
- when: inventory_hostname in groups[nova_cell_compute_group]
- notify:
- - Restart {{ item }} container
-
-- include_tasks: ../../ceph_pools.yml
- vars:
- pool_name: "{{ nova_pool_name }}"
- pool_type: "{{ nova_pool_type }}"
- cache_mode: "{{ nova_cache_mode }}"
- pool_pg_num: "{{ nova_pool_pg_num }}"
- pool_pgp_num: "{{ nova_pool_pgp_num }}"
- pool_application: "rbd"
-
-- name: Pulling cephx keyring for nova
- become: true
- kolla_ceph_keyring:
- name: client.nova
- caps: "{{ ceph_client_nova_keyring_caps }}"
- register: nova_cephx_key
- delegate_to: "{{ groups['ceph-mon'][0] }}"
- run_once: True
-
-- name: Pulling cinder cephx keyring for libvirt
- become: true
- command: docker exec ceph_mon ceph auth get-key client.cinder
- register: cinder_cephx_raw_key
- delegate_to: "{{ groups['ceph-mon'][0] }}"
- when:
- - enable_cinder | bool
- - cinder_backend_ceph | bool
- changed_when: False
- run_once: True
-
-- name: Pushing cephx keyring for nova
- copy:
- content: |
- [client.nova]
- key = {{ nova_cephx_key.keyring.key }}
- dest: "{{ node_config_directory }}/nova-compute/ceph.client.nova.keyring"
- mode: "0600"
- become: true
- when: inventory_hostname in groups[nova_cell_compute_group]
- notify:
- - Restart nova-compute container
-
-- name: Pushing secrets xml for libvirt
- template:
- src: "secret.xml.j2"
- dest: "{{ node_config_directory }}/nova-libvirt/secrets/{{ item.uuid }}.xml"
- mode: "0600"
- become: true
- when:
- - inventory_hostname in groups[nova_cell_compute_group]
- - item.enabled | bool
- with_items:
- - uuid: "{{ rbd_secret_uuid }}"
- name: client.nova secret
- enabled: true
- - uuid: "{{ cinder_rbd_secret_uuid }}"
- name: client.cinder secret
- enabled: "{{ enable_cinder | bool and cinder_backend_ceph | bool }}"
- notify:
- - Restart nova-libvirt container
-
-- name: Pushing secrets key for libvirt
- copy:
- content: "{{ item.content }}"
- dest: "{{ node_config_directory }}/nova-libvirt/secrets/{{ item.uuid }}.base64"
- mode: "0600"
- become: true
- when:
- - inventory_hostname in groups[nova_cell_compute_group]
- - item.enabled | bool
- with_items:
- - uuid: "{{ rbd_secret_uuid }}"
- content: "{{ nova_cephx_key.keyring.key }}"
- enabled: true
- - uuid: "{{ cinder_rbd_secret_uuid }}"
- content: "{{ cinder_cephx_raw_key.stdout|default('') }}"
- enabled: "{{ enable_cinder | bool and cinder_backend_ceph | bool }}"
- notify:
- - Restart nova-libvirt container
-
-- name: Ensuring config directory has correct owner and permission
- become: true
- file:
- path: "{{ node_config_directory }}/{{ item }}"
- recurse: yes
- owner: "{{ config_owner_user }}"
- group: "{{ config_owner_group }}"
- with_items:
- - "nova-compute"
- - "nova-libvirt/secrets"
- when: inventory_hostname in groups[nova_cell_compute_group]
diff --git a/ansible/roles/nova-cell/tasks/config.yml b/ansible/roles/nova-cell/tasks/config.yml
index be5ef3c919..b4c19d72e6 100644
--- a/ansible/roles/nova-cell/tasks/config.yml
+++ b/ansible/roles/nova-cell/tasks/config.yml
@@ -36,15 +36,9 @@
- kolla_copy_ca_into_containers | bool
with_dict: "{{ nova_cell_services }}"
-- include_tasks: ceph.yml
- when:
- - enable_ceph | bool and nova_backend == "rbd"
- - inventory_hostname in groups[nova_cell_conductor_group] or
- inventory_hostname in groups[nova_cell_compute_group]
-
- include_tasks: external_ceph.yml
when:
- - not enable_ceph | bool and (nova_backend == "rbd" or cinder_backend_ceph | bool)
+ - (nova_backend == "rbd" or cinder_backend_ceph | bool)
- inventory_hostname in groups[nova_cell_compute_group]
- name: Check if policies shall be overwritten
diff --git a/ansible/roles/prechecks/tasks/service_checks.yml b/ansible/roles/prechecks/tasks/service_checks.yml
index 2fe630cdca..a3bc00ff60 100644
--- a/ansible/roles/prechecks/tasks/service_checks.yml
+++ b/ansible/roles/prechecks/tasks/service_checks.yml
@@ -44,3 +44,10 @@
- kolla_enable_tls_external | bool or kolla_enable_tls_internal | bool
- not (kolla_enable_tls_external | bool and kolla_enable_tls_internal | bool)
- kolla_same_external_internal_vip | bool
+
+- name: Validate that enable_ceph is disabled
+ run_once: True
+ fail:
+ msg: "We are sorry but enable_ceph is no longer supported. Please use external ceph support."
+ when:
+ - (enable_ceph | default()) | bool
diff --git a/ansible/roles/prometheus/templates/prometheus.yml.j2 b/ansible/roles/prometheus/templates/prometheus.yml.j2
index 2acf076465..5384b7b5f5 100644
--- a/ansible/roles/prometheus/templates/prometheus.yml.j2
+++ b/ansible/roles/prometheus/templates/prometheus.yml.j2
@@ -70,8 +70,8 @@ scrape_configs:
honor_labels: true
static_configs:
- targets:
-{% for host in groups["ceph-mgr"] %}
- - '{{ 'api' | kolla_address(host) | put_address_in_context('url') }}:{{ hostvars[host]['prometheus_ceph_mgr_exporter_port'] }}'
+{% for exporter in prometheus_ceph_mgr_exporter_endpoints %}
+ - '{{ exporter }}'
{% endfor %}
{% endif %}
diff --git a/ansible/site.yml b/ansible/site.yml
index 70f0f83d19..e71f113534 100644
--- a/ansible/site.yml
+++ b/ansible/site.yml
@@ -20,7 +20,6 @@
- enable_barbican_{{ enable_barbican | bool }}
- enable_blazar_{{ enable_blazar | bool }}
- enable_ceilometer_{{ enable_ceilometer | bool }}
- - enable_ceph_{{ enable_ceph | bool }}
- enable_chrony_{{ enable_chrony | bool }}
- enable_cinder_{{ enable_cinder | bool }}
- enable_cloudkitty_{{ enable_cloudkitty | bool }}
@@ -133,11 +132,6 @@
tasks_from: loadbalancer
tags: blazar
when: enable_blazar | bool
- - include_role:
- role: ceph
- tasks_from: loadbalancer
- tags: ceph
- when: enable_ceph | bool
- include_role:
role: cinder
tasks_from: loadbalancer
@@ -590,22 +584,6 @@
tags: keystone,
when: enable_keystone | bool }
-- name: Apply role ceph
- gather_facts: false
- hosts:
- - ceph-mds
- - ceph-mgr
- - ceph-mon
- - ceph-nfs
- - ceph-osd
- - ceph-rgw
- - '&enable_ceph_True'
- serial: '{{ kolla_serial|default("0") }}'
- roles:
- - { role: ceph,
- tags: ceph,
- when: enable_ceph | bool }
-
- name: Apply role kafka
gather_facts: false
hosts:
@@ -656,7 +634,6 @@
- name: Apply role glance
gather_facts: false
hosts:
- - ceph-mon
- glance-api
- '&enable_glance_True'
serial: '{{ kolla_serial|default("0") }}'
@@ -682,7 +659,6 @@
- name: Apply role cinder
gather_facts: false
hosts:
- - ceph-mon
- cinder-api
- cinder-backup
- cinder-scheduler
@@ -897,7 +873,6 @@
- name: Apply role manila
gather_facts: false
hosts:
- - ceph-mon
- manila-api
- manila-data
- manila-share
@@ -912,7 +887,6 @@
- name: Apply role gnocchi
gather_facts: false
hosts:
- - ceph-mon
- gnocchi-api
- gnocchi-metricd
- gnocchi-statsd
diff --git a/doc/source/admin/production-architecture-guide.rst b/doc/source/admin/production-architecture-guide.rst
index f2248ad498..4cc858011e 100644
--- a/doc/source/admin/production-architecture-guide.rst
+++ b/doc/source/admin/production-architecture-guide.rst
@@ -25,7 +25,7 @@ A basic Kolla inventory consists of several types of nodes, known in Ansible as
* Compute - Compute nodes for compute services. This is where guest VMs
live.
-* Storage - Storage nodes, for cinder-volume, LVM or ceph-osd.
+* Storage - Storage nodes for cinder-volume, LVM or Swift.
* Monitoring - Monitor nodes which host monitoring services.
diff --git a/doc/source/reference/shared-services/glance-guide.rst b/doc/source/reference/shared-services/glance-guide.rst
index 2b3dae4e1e..4896a50175 100644
--- a/doc/source/reference/shared-services/glance-guide.rst
+++ b/doc/source/reference/shared-services/glance-guide.rst
@@ -39,10 +39,10 @@ Usage of glance file backend under shared filesystem:
Ceph backend
~~~~~~~~~~~~
-To make use of ``ceph`` backend in glance, simply enable ceph or external ceph.
+To make use of ``ceph`` backend in glance, simply enable external ceph.
By default will enable backend ceph automatically.
-Please refer to :doc:`../storage/ceph-guide`
-or :doc:`../storage/external-ceph-guide` on how to configure this backend.
+Please refer to :doc:`../storage/external-ceph-guide`
+on how to configure this backend.
To enable the ceph backend manually:
diff --git a/doc/source/reference/storage/ceph-guide.rst b/doc/source/reference/storage/ceph-guide.rst
deleted file mode 100644
index 6ce522ce4d..0000000000
--- a/doc/source/reference/storage/ceph-guide.rst
+++ /dev/null
@@ -1,532 +0,0 @@
-.. _ceph-guide:
-
-============================================
-Ceph - Software Defined Storage (Deprecated)
-============================================
-
-.. warning::
- Support for deploying Ceph via Kolla Ansible is deprecated. In a future
- release support for deploying Ceph will be removed from Kolla Ansible. Prior
- to this we will ensure a migration path to another tool such as `Ceph
- Ansible `__ is available. For new
- deployments it is recommended to use another tool to deploy Ceph to avoid a
- future migration. This can be integrated with OpenStack by following
- :doc:`external-ceph-guide`.
-
-.. note::
- The out-of-the-box Ceph deployment requires 3 hosts with at least one block
- device on each host that can be dedicated for sole use by Ceph.
-
- However, with tweaks to the Ceph cluster you can deploy a **healthy** cluster
- with a single host and a single block device.
-
-Requirements
-------------
-
-* A minimum of 3 hosts for a vanilla deploy
-* A minimum of 1 block device per host
-
-Preparation
------------
-
-To prepare a disk for use as a
-`Ceph OSD `_ you must add a
-special partition label to the disk. This partition label is how Kolla detects
-the disks to format and bootstrap. Any disk with a matching partition label
-will be reformatted so use caution.
-
-Filestore
-~~~~~~~~~
-
-.. note::
-
- From Rocky release - kolla-ansible by default creates Bluestore OSDs.
- Please see Configuration section to change that behaviour.
-
-To prepare a filestore OSD as a storage drive, execute the following
-operations:
-
-.. warning::
-
- ALL DATA ON $DISK will be LOST! Where $DISK is /dev/sdb or something similar.
-
-.. code-block:: console
-
- parted $DISK -s -- mklabel gpt mkpart KOLLA_CEPH_OSD_BOOTSTRAP 1 -1
-
-The following shows an example of using parted to configure ``/dev/sdb`` for
-usage with Kolla.
-
-.. code-block:: console
-
- parted /dev/sdb -s -- mklabel gpt mkpart KOLLA_CEPH_OSD_BOOTSTRAP 1 -1
- parted /dev/sdb print
- Model: VMware, VMware Virtual S (scsi)
- Disk /dev/sdb: 10.7GB
- Sector size (logical/physical): 512B/512B
- Partition Table: gpt
- Number Start End Size File system Name Flags
- 1 1049kB 10.7GB 10.7GB KOLLA_CEPH_OSD_BOOTSTRAP
-
-Bluestore
-~~~~~~~~~
-
-To prepare a bluestore OSD partition, execute the following operations:
-
-.. code-block:: console
-
- parted $DISK -s -- mklabel gpt mkpart KOLLA_CEPH_OSD_BOOTSTRAP_BS 1 -1
-
-If only one device is offered, Kolla Ceph will create the bluestore OSD on the
-device. Kolla Ceph will create two partitions for OSD and block separately.
-
-If more than one devices are offered for one bluestore OSD, Kolla Ceph will
-create partitions for block, block.wal and block.db according to the partition
-labels.
-
-To prepare a bluestore OSD block partition, execute the following operations:
-
-.. code-block:: console
-
- parted $DISK -s -- mklabel gpt mkpart KOLLA_CEPH_OSD_BOOTSTRAP_BS_FOO_B 1 -1
-
-To prepare a bluestore OSD block.wal partition, execute the following
-operations:
-
-.. code-block:: console
-
- parted $DISK -s -- mklabel gpt mkpart KOLLA_CEPH_OSD_BOOTSTRAP_BS_FOO_W 1 -1
-
-To prepare a bluestore OSD block.db partition, execute the following
-operations:
-
-.. code-block:: console
-
- parted $DISK -s -- mklabel gpt mkpart KOLLA_CEPH_OSD_BOOTSTRAP_BS_FOO_D 1 -1
-
-Kolla Ceph will handle the bluestore OSD according to the above up to four
-partition labels. In Ceph bluestore OSD, the block.wal and block.db partitions
-are not mandatory.
-
-.. note::
-
- In the case there are more than one devices in one bluestore OSD and there
- are more than one bluestore OSD in one node, it is required to use suffixes
- (``_42``, ``_FOO``, ``_FOO42``, ..). Kolla Ceph will gather all the
- partition labels and deploy bluestore OSD on top of the devices which have
- the same suffix in the partition label.
-
-
-Using an external journal drive
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-.. note::
-
- The section is only meaningful for Ceph filestore OSD.
-
-The steps documented above created a journal partition of 5 GByte
-and a data partition with the remaining storage capacity on the same tagged
-drive.
-
-It is a common practice to place the journal of an OSD on a separate
-journal drive. This section documents how to use an external journal drive.
-
-Prepare the storage drive in the same way as documented above:
-
-.. warning::
-
- ALL DATA ON $DISK will be LOST! Where $DISK is /dev/sdb or something similar.
-
-.. code-block:: console
-
- parted $DISK -s -- mklabel gpt mkpart KOLLA_CEPH_OSD_BOOTSTRAP_FOO 1 -1
-
-To prepare the journal external drive execute the following command:
-
-.. code-block:: console
-
- parted $DISK -s -- mklabel gpt mkpart KOLLA_CEPH_OSD_BOOTSTRAP_FOO_J 1 -1
-
-.. note::
-
- Use different suffixes (``_42``, ``_FOO``, ``_FOO42``, ..) to use different external
- journal drives for different storage drives. One external journal drive can only
- be used for one storage drive.
-
-.. note::
-
- The partition labels ``KOLLA_CEPH_OSD_BOOTSTRAP`` and ``KOLLA_CEPH_OSD_BOOTSTRAP_J``
- are not working when using external journal drives. It is required to use
- suffixes (``_42``, ``_FOO``, ``_FOO42``, ..). If you want to setup only one
- storage drive with one external journal drive it is also necessary to use a suffix.
-
-
-Configuration
--------------
-
-Edit the ``[storage]`` group in the inventory which contains the hostname
-of the hosts that have the block devices you have prepped as shown above.
-
-.. code-block:: ini
-
- [storage]
- controller
- compute1
-
-Enable Ceph in ``/etc/kolla/globals.yml``:
-
-.. code-block:: yaml
-
- enable_ceph: "yes"
-
-Ceph RADOS Gateway
-~~~~~~~~~~~~~~~~~~
-
-RadosGW is optional, enable it in ``/etc/kolla/globals.yml``:
-
-.. code-block:: yaml
-
- enable_ceph_rgw: "yes"
-
-You can enable RadosGW to be registered as Swift in Keystone catalog:
-
-.. code-block:: yaml
-
- enable_ceph_rgw_keystone: "yes"
-
-.. note::
-
- By default RadosGW supports both Swift and S3 API, and it is not
- completely compatible with Swift API. The option `ceph_rgw_compatibility`
- in ``/etc/kolla/globals.yml`` can enable/disable the RadosGW
- compatibility with Swift API completely. After changing the value, run the
- "reconfigureā command to enable.
-
-RGW requires a healthy cluster in order to be successfully deployed. On initial
-start up, RGW will create several pools. The first pool should be in an
-operational state to proceed with the second one, and so on. So, in the case of
-an **all-in-one** deployment, it is necessary to change the default number of
-copies for the pools before deployment. Modify the file
-``/etc/kolla/config/ceph.conf`` and add the contents:
-
-.. path /etc/kolla/config/ceph.conf
-.. code-block:: ini
-
- [global]
- osd pool default size = 1
- osd pool default min size = 1
-
-NFS
-~~~
-
-NFS is an optional feature, you can enable it in ``/etc/kolla/globals.yml``:
-
-.. code-block:: yaml
-
- enable_ceph_nfs: "yes"
-
-.. note::
-
- If you are using Ubuntu, please enable Ceph NFS before using
- ``kolla-ansible bootstrap-servers`` command - it will install required rpcbind
- package.
-
-Store type
-~~~~~~~~~~
-
-Configure the Ceph store type in ``/etc/kolla/globals.yml``, the default
-value is ``bluestore`` in Rocky:
-
-.. code-block:: yaml
-
- ceph_osd_store_type: "bluestore"
-
-Recommendations
----------------
-
-Placement groups
-~~~~~~~~~~~~~~~~
-
-Regarding number of placement groups (PGs)
-
-Kolla sets very conservative values for the number of PGs per pool
-(`ceph_pool_pg_num` and `ceph_pool_pgp_num`). This is in order to ensure
-the majority of users will be able to deploy Ceph out of the box. It is
-*highly* recommended to consult the official Ceph documentation regarding
-these values before running Ceph in any kind of production scenario.
-
-Cluster Network
-~~~~~~~~~~~~~~~
-
-To build a high performance and secure Ceph Storage Cluster, the Ceph community
-recommend the use of two separate networks: public network and cluster network.
-Edit the ``/etc/kolla/globals.yml`` and configure the ``cluster_interface``:
-
-.. path /etc/kolla/globals.yml
-.. code-block:: yaml
-
- cluster_interface: "eth2"
-
-For more details, see `NETWORK CONFIGURATION REFERENCE
-`_
-of Ceph Documentation.
-
-Deployment
-----------
-
-Finally deploy the Ceph-enabled OpenStack:
-
-.. code-block:: console
-
- kolla-ansible deploy -i path/to/inventory
-
-.. note::
-
- Kolla Ceph supports mixed Ceph OSD deployment, i.e. some Ceph OSDs are
- bluestore, the others are filestore. The ``ceph_osd_store_type`` of each
- Ceph OSD can be configured under ``[storage]`` in the multinode inventory
- file. The Ceph OSD store type is unique in one storage node. For example:
-
-.. code-block:: ini
-
- [storage]
- storage_node1_hostname ceph_osd_store_type=bluestore
- storage_node2_hostname ceph_osd_store_type=bluestore
- storage_node3_hostname ceph_osd_store_type=filestore
- storage_node4_hostname ceph_osd_store_type=filestore
-
-Using Cache Tiering
--------------------
-
-An optional `cache tiering `_
-can be deployed by formatting at least one cache device and enabling cache.
-tiering in the globals.yml configuration file.
-
-To prepare a filestore OSD as a cache device, execute the following
-operations:
-
-.. code-block:: console
-
- parted $DISK -s -- mklabel gpt mkpart KOLLA_CEPH_OSD_CACHE_BOOTSTRAP 1 -1
-
-.. note::
-
- To prepare a bluestore OSD as a cache device, change the partition name in
- the above command to "KOLLA_CEPH_OSD_CACHE_BOOTSTRAP_BS". The deployment of
- bluestore cache OSD is the same as bluestore OSD.
-
-Enable the Ceph cache tier in ``/etc/kolla/globals.yml``:
-
-.. code-block:: yaml
-
- enable_ceph: "yes"
- ceph_enable_cache: "yes"
- # Valid options are [ forward, none, writeback ]
- ceph_cache_mode: "writeback"
-
-After this run the playbooks as you normally would, for example:
-
-.. code-block:: console
-
- kolla-ansible deploy -i path/to/inventory
-
-Setting up an Erasure Coded Pool
---------------------------------
-
-`Erasure code `_
-is the new big thing from Ceph. Kolla has the ability to setup your Ceph pools
-as erasure coded pools. Due to technical limitations with Ceph, using erasure
-coded pools as OpenStack uses them requires a cache tier. Additionally, you
-must make the choice to use an erasure coded pool or a replicated pool
-(the default) when you initially deploy. You cannot change this without
-completely removing the pool and recreating it.
-
-To enable erasure coded pools add the following options to your
-``/etc/kolla/globals.yml`` configuration file:
-
-.. code-block:: yaml
-
- # A requirement for using the erasure-coded pools is you must setup a cache tier
- # Valid options are [ erasure, replicated ]
- ceph_pool_type: "erasure"
- # Optionally, you can change the profile
- #ceph_erasure_profile: "k=4 m=2 ruleset-failure-domain=host"
-
-Managing Ceph
--------------
-
-Check the Ceph status for more diagnostic information. The sample output below
-indicates a healthy cluster:
-
-.. code-block:: console
-
- docker exec ceph_mon ceph -s
-
- cluster:
- id: f2ed6c00-c043-4e1c-81b6-07c512db26b1
- health: HEALTH_OK
-
- services:
- mon: 1 daemons, quorum 172.16.31.121
- mgr: poc12-01(active)
- osd: 4 osds: 4 up, 4 in; 5 remapped pgs
-
- data:
- pools: 4 pools, 512 pgs
- objects: 0 objects, 0 bytes
- usage: 432 MB used, 60963 MB / 61395 MB avail
- pgs: 512 active+clean
-
-If Ceph is run in an **all-in-one** deployment or with less than three storage
-nodes, further configuration is required. It is necessary to change the default
-number of copies for the pool. The following example demonstrates how to change
-the number of copies for the pool to 1:
-
-.. code-block:: console
-
- docker exec ceph_mon ceph osd pool set rbd size 1
-
-All the pools must be modified if Glance, Nova, and Cinder have been deployed.
-An example of modifying the pools to have 2 copies:
-
-.. code-block:: console
-
- for p in images vms volumes backups; do docker exec ceph_mon ceph osd pool set ${p} size 2; done
-
-If using a cache tier, these changes must be made as well:
-
-.. code-block:: console
-
- for p in images vms volumes backups; do docker exec ceph_mon ceph osd pool set ${p}-cache size 2; done
-
-The default pool Ceph creates is named **rbd**. It is safe to remove this pool:
-
-.. code-block:: console
-
- docker exec ceph_mon ceph osd pool delete rbd rbd --yes-i-really-really-mean-it
-
-Troubleshooting
----------------
-
-Deploy fails with 'Fetching Ceph keyrings ... No JSON object could be decoded'
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-If an initial deploy of Ceph fails, perhaps due to improper configuration or
-similar, the cluster will be partially formed and will need to be reset for a
-successful deploy.
-
-In order to do this the operator should remove the `ceph_mon_config` volume
-from each Ceph monitor node:
-
-.. code-block:: console
-
- ansible -i ansible/inventory/multinode \
- -a 'docker volume rm ceph_mon_config' \
- ceph-mon
-
-Simple 3 Node Example
----------------------
-
-This example will show how to deploy Ceph in a very simple setup using 3
-storage nodes. 2 of those nodes (kolla1 and kolla2) will also provide other
-services like control, network, compute, and monitoring. The 3rd
-(kolla3) node will only act as a storage node.
-
-This example will only focus on the Ceph aspect of the deployment and assumes
-that you can already deploy a fully functional environment using 2 nodes that
-does not employ Ceph yet. So we will be adding to the existing multinode
-inventory file you already have.
-
-Each of the 3 nodes are assumed to have two disk, ``/dev/sda`` (40GB)
-and ``/dev/sdb`` (10GB). Size is not all that important... but for now make
-sure each sdb disk are of the same size and are at least 10GB. This example
-will use a single disk (/dev/sdb) for both Ceph data and journal. It will not
-implement caching.
-
-Here is the top part of the multinode inventory file used in the example
-environment before adding the 3rd node for Ceph:
-
-.. code-block:: ini
-
- [control]
- # These hostname must be resolvable from your deployment host
- kolla1.ducourrier.com
- kolla2.ducourrier.com
-
- [network]
- kolla1.ducourrier.com
- kolla2.ducourrier.com
-
- [compute]
- kolla1.ducourrier.com
- kolla2.ducourrier.com
-
- [monitoring]
- kolla1.ducourrier.com
- kolla2.ducourrier.com
-
- [storage]
- kolla1.ducourrier.com
- kolla2.ducourrier.com
-
-Configuration
-~~~~~~~~~~~~~
-
-To prepare the 2nd disk (/dev/sdb) of each nodes for use by Ceph you will need
-to add a partition label to it as shown below:
-
-.. code-block:: console
-
- parted /dev/sdb -s -- mklabel gpt mkpart KOLLA_CEPH_OSD_BOOTSTRAP 1 -1
-
-Make sure to run this command on each of the 3 nodes or the deployment will
-fail.
-
-Next, edit the multinode inventory file and make sure the 3 nodes are listed
-under ``[storage]``. In this example I will add kolla3.ducourrier.com to the
-existing inventory file:
-
-.. code-block:: ini
-
- [control]
- # These hostname must be resolvable from your deployment host
- kolla1.ducourrier.com
- kolla2.ducourrier.com
-
- [network]
- kolla1.ducourrier.com
- kolla2.ducourrier.com
-
- [compute]
- kolla1.ducourrier.com
- kolla2.ducourrier.com
-
- [monitoring]
- kolla1.ducourrier.com
- kolla2.ducourrier.com
-
- [storage]
- kolla1.ducourrier.com
- kolla2.ducourrier.com
- kolla3.ducourrier.com
-
-It is now time to enable Ceph in the environment by editing the
-``/etc/kolla/globals.yml`` file:
-
-.. code-block:: yaml
-
- enable_ceph: "yes"
- enable_ceph_rgw: "yes"
- enable_cinder: "yes"
- glance_backend_file: "no"
- glance_backend_ceph: "yes"
-
-Deployment
-~~~~~~~~~~
-
-Finally deploy the Ceph-enabled configuration:
-
-.. code-block:: console
-
- kolla-ansible deploy -i path/to/inventory-file
-
diff --git a/doc/source/reference/storage/external-ceph-guide.rst b/doc/source/reference/storage/external-ceph-guide.rst
index 11879c7a59..1b34e2bfb2 100644
--- a/doc/source/reference/storage/external-ceph-guide.rst
+++ b/doc/source/reference/storage/external-ceph-guide.rst
@@ -22,17 +22,8 @@ creating the pool and keyrings with appropriate permissions for each service.
Enabling External Ceph
~~~~~~~~~~~~~~~~~~~~~~
-Using external Ceph with Kolla means not to deploy Ceph via Kolla. Therefore,
-disable Ceph deployment in ``/etc/kolla/globals.yml``
-
-.. code-block:: yaml
-
- enable_ceph: "no"
-
-There are flags indicating individual services to use ceph or not which default
-to the value of ``enable_ceph``. Those flags now need to be activated in order
-to activate external Ceph integration. This can be done individually per
-service in ``/etc/kolla/globals.yml``:
+To activate external Ceph integration you need to enable Ceph backend.
+This can be done individually per service in ``/etc/kolla/globals.yml``:
.. code-block:: yaml
@@ -42,9 +33,6 @@ service in ``/etc/kolla/globals.yml``:
gnocchi_backend_storage: "ceph"
enable_manila_backend_cephfs_native: "yes"
-The combination of ``enable_ceph: "no"`` and ``_backend_ceph: "yes"``
-triggers the activation of external ceph mechanism in Kolla.
-
Edit the Inventory File
~~~~~~~~~~~~~~~~~~~~~~~
diff --git a/doc/source/reference/storage/index.rst b/doc/source/reference/storage/index.rst
index e17e82836c..4729164675 100644
--- a/doc/source/reference/storage/index.rst
+++ b/doc/source/reference/storage/index.rst
@@ -8,7 +8,6 @@ supported by kolla.
.. toctree::
:maxdepth: 1
- ceph-guide
external-ceph-guide
cinder-guide
cinder-guide-hnas
diff --git a/doc/source/reference/storage/manila-guide.rst b/doc/source/reference/storage/manila-guide.rst
index 3183f590db..363848178e 100644
--- a/doc/source/reference/storage/manila-guide.rst
+++ b/doc/source/reference/storage/manila-guide.rst
@@ -35,12 +35,11 @@ services are properly working.
Preparation and Deployment
~~~~~~~~~~~~~~~~~~~~~~~~~~
-Cinder and Ceph are required, enable it in ``/etc/kolla/globals.yml``:
+Cinder is required, enable it in ``/etc/kolla/globals.yml``:
.. code-block:: console
enable_cinder: "yes"
- enable_ceph: "yes"
Enable Manila and generic back end in ``/etc/kolla/globals.yml``:
diff --git a/doc/source/user/quickstart.rst b/doc/source/user/quickstart.rst
index 9c8fa32251..e99f828c7c 100644
--- a/doc/source/user/quickstart.rst
+++ b/doc/source/user/quickstart.rst
@@ -388,7 +388,7 @@ There are a few options that are required to deploy Kolla-Ansible:
.. note::
- This only affects OpenStack services. Infrastructure services like Ceph are
+ This only affects OpenStack services. Infrastructure services are
always "binary".
.. note::
diff --git a/etc/kolla/globals.yml b/etc/kolla/globals.yml
index 807f6581ef..104e02a998 100644
--- a/etc/kolla/globals.yml
+++ b/etc/kolla/globals.yml
@@ -232,11 +232,6 @@
#enable_ceilometer_ipmi: "no"
#enable_cells: "no"
#enable_central_logging: "no"
-#enable_ceph: "no"
-#enable_ceph_mds: "no"
-#enable_ceph_rgw: "no"
-#enable_ceph_nfs: "no"
-#enable_ceph_dashboard: "{{ enable_ceph | bool }}"
#enable_chrony: "yes"
#enable_cinder: "no"
#enable_cinder_backup: "yes"
@@ -367,37 +362,34 @@
# to configure IPv6 in RabbitMQ server.
#rabbitmq_server_additional_erl_args: ""
-##############
-# Ceph options
-##############
-# Ceph can be setup with a caching to improve performance. To use the cache you
-# must provide separate disks than those for the OSDs
-#ceph_enable_cache: "no"
-
-# Set to no if using external Ceph without cephx.
+#######################
+# External Ceph options
+#######################
+# External Ceph - cephx auth enabled (this is the standard nowadays, defaults to yes)
#external_ceph_cephx_enabled: "yes"
-# Ceph is not able to determine the size of a cache pool automatically,
-# so the configuration on the absolute size is required here, otherwise the flush/evict will not work.
-#ceph_target_max_bytes: ""
-#ceph_target_max_objects: ""
-
-# Valid options are [ forward, none, writeback ]
-#ceph_cache_mode: "writeback"
-
-# A requirement for using the erasure-coded pools is you must setup a cache tier
-# Valid options are [ erasure, replicated ]
-#ceph_pool_type: "replicated"
-
-# Integrate ceph rados object gateway with openstack keystone
-#enable_ceph_rgw_keystone: "no"
-
-# Set the pgs and pgps for pool
-# WARNING! These values are dependant on the size and shape of your cluster -
-# the default values are not suitable for production use. Please refer to the
-# Kolla Ceph documentation for more information.
-#ceph_pool_pg_num: 8
-#ceph_pool_pgp_num: 8
+# Glance
+#ceph_glance_keyring: "ceph.client.glance.keyring"
+#ceph_glance_user: "glance"
+#ceph_glance_pool_name: "images"
+# Cinder
+#ceph_cinder_keyring: "ceph.client.cinder.keyring"
+#ceph_cinder_user: "cinder"
+#ceph_cinder_pool_name: "volumes"
+#ceph_cinder_backup_keyring: "ceph.client.cinder-backup.keyring"
+#ceph_cinder_backup_user: "cinder-backup"
+#ceph_cinder_backup_pool_name: "backups"
+# Nova
+#ceph_nova_keyring: "{{ ceph_cinder_keyring }}"
+#ceph_nova_user: "nova"
+#ceph_nova_pool_name: "vms"
+# Gnocchi
+#ceph_gnocchi_keyring: "ceph.client.gnocchi.keyring"
+#ceph_gnocchi_user: "gnocchi"
+#ceph_gnocchi_pool_name: "gnocchi"
+# Manila
+#ceph_manila_keyring: "ceph.client.manila.keyring"
+#ceph_manila_user: "manila"
#############################
# Keystone - Identity Options
@@ -455,7 +447,7 @@
# Gnocchi options
#################
# Valid options are [ file, ceph ]
-#gnocchi_backend_storage: "{{ 'ceph' if enable_ceph|bool else 'file' }}"
+#gnocchi_backend_storage: "file"
# Valid options are [redis, '']
#gnocchi_incoming_storage: "{{ 'redis' if enable_redis | bool else '' }}"
@@ -464,7 +456,7 @@
# Cinder - Block Storage Options
################################
# Enable / disable Cinder backends
-#cinder_backend_ceph: "{{ enable_ceph }}"
+#cinder_backend_ceph: "no"
#cinder_backend_vmwarevc_vmdk: "no"
#cinder_volume_group: "cinder-volumes"
# Valid options are [ '', redis, etcd ]
@@ -499,7 +491,7 @@
########################
# Nova - Compute Options
########################
-#nova_backend_ceph: "{{ enable_ceph }}"
+#nova_backend_ceph: "no"
# Valid options are [ qemu, kvm, vmware, xenapi ]
#nova_compute_virt_type: "kvm"
@@ -632,7 +624,7 @@
#enable_prometheus_cadvisor: "{{ enable_prometheus | bool }}"
#enable_prometheus_memcached: "{{ enable_prometheus | bool }}"
#enable_prometheus_alertmanager: "{{ enable_prometheus | bool }}"
-#enable_prometheus_ceph_mgr_exporter: "{{ enable_prometheus | bool and enable_ceph | bool }}"
+#enable_prometheus_ceph_mgr_exporter: "no"
#enable_prometheus_openstack_exporter: "{{ enable_prometheus | bool }}"
#enable_prometheus_elasticsearch_exporter: "{{ enable_prometheus | bool and enable_elasticsearch | bool }}"
#enable_prometheus_blackbox_exporter: "{{ enable_prometheus | bool }}"
@@ -640,6 +632,12 @@
# List of extra parameters passed to prometheus. You can add as many to the list.
#prometheus_cmdline_extras:
+# Example of setting endpoints for prometheus ceph mgr exporter.
+# You should add all ceph mgr's in your external ceph deployment.
+#prometheus_ceph_mgr_exporter_endpoints:
+# - host1:port1
+# - host2:port2
+
#########
# Freezer
#########
diff --git a/etc/kolla/passwords.yml b/etc/kolla/passwords.yml
index 28e7a2516d..f4d4928c17 100644
--- a/etc/kolla/passwords.yml
+++ b/etc/kolla/passwords.yml
@@ -1,11 +1,9 @@
---
###################
-# Ceph options
+# External Ceph options
####################
# These options must be UUID4 values in string format
# XXXXXXXX-XXXX-4XXX-XXXX-XXXXXXXXXXXX
-ceph_cluster_fsid:
-ceph_rgw_keystone_password:
# for backward compatible consideration, rbd_secret_uuid is only used for nova,
# cinder_rbd_secret_uuid is used for cinder
rbd_secret_uuid:
diff --git a/kolla_ansible/cmd/genpwd.py b/kolla_ansible/cmd/genpwd.py
index 6e9ec49778..60e508397b 100755
--- a/kolla_ansible/cmd/genpwd.py
+++ b/kolla_ansible/cmd/genpwd.py
@@ -103,8 +103,7 @@ def main():
passwords_file = os.path.expanduser(args.passwords)
# These keys should be random uuids
- uuid_keys = ['ceph_cluster_fsid',
- 'rbd_secret_uuid',
+ uuid_keys = ['rbd_secret_uuid',
'cinder_rbd_secret_uuid',
'gnocchi_project_id',
'gnocchi_resource_id',
diff --git a/releasenotes/notes/remove-kolla-ceph-adbb5d66bd0192f3.yaml b/releasenotes/notes/remove-kolla-ceph-adbb5d66bd0192f3.yaml
new file mode 100644
index 0000000000..9e5c8a1141
--- /dev/null
+++ b/releasenotes/notes/remove-kolla-ceph-adbb5d66bd0192f3.yaml
@@ -0,0 +1,7 @@
+---
+upgrade:
+ - |
+ Support for deploying Ceph has been removed, after it was deprecated in
+ Stein. Please use an external tool to deploy Ceph and integrate it with
+ Kolla-Ansible deployed OpenStack by following the `external Ceph guide
+ `__.
diff --git a/tests/get_logs.sh b/tests/get_logs.sh
index ae6b10c05c..9b619dc1a7 100644
--- a/tests/get_logs.sh
+++ b/tests/get_logs.sh
@@ -77,20 +77,14 @@ copy_logs() {
# docker related information
(docker info && docker images && docker ps -a && docker network ls && docker inspect $(docker ps -aq)) > ${LOG_DIR}/system_logs/docker-info.txt
- # ceph related logs
- # NOTE(mnasiadka): regex to match both ceph_mon and ceph-mon-$hostname
- for container in $(docker ps --filter name=ceph.\?mon --format "{{.Names}}"); do
- if [ $container == "ceph_mon" ]; then
- CEPH_LOG_DIR="${LOG_DIR}/kolla/ceph"
- else
- CEPH_LOG_DIR="${LOG_DIR}/ceph"
- mkdir -p ${CEPH_LOG_DIR}
- fi
- docker exec ${container} ceph --connect-timeout 5 -s > ${CEPH_LOG_DIR}/ceph_s.txt
+ # ceph-ansible related logs
+ mkdir -p ${LOG_DIR}/ceph
+ for container in $(docker ps --filter name=ceph-mon --format "{{.Names}}"); do
+ docker exec ${container} ceph --connect-timeout 5 -s > ${LOG_DIR}/ceph/ceph_s.txt
# NOTE(yoctozepto): osd df removed on purpose to avoid CI POST_FAILURE due to a possible hang:
# as of ceph mimic it hangs when MON is operational but MGR not
# its usefulness is mediocre and having POST_FAILUREs is bad
- docker exec ${container} ceph --connect-timeout 5 osd tree > ${CEPH_LOG_DIR}/ceph_osd_tree.txt
+ docker exec ${container} ceph --connect-timeout 5 osd tree > ${LOG_DIR}/ceph/ceph_osd_tree.txt
done
# bifrost related logs
diff --git a/tests/run.yml b/tests/run.yml
index 205544fad5..a6188523c2 100644
--- a/tests/run.yml
+++ b/tests/run.yml
@@ -21,7 +21,7 @@
need_build_image: false
build_image_tag: "change_{{ zuul.change | default('none') }}"
openstack_core_enabled: "{{ openstack_core_enabled }}"
- openstack_core_tested: "{{ scenario in ['core', 'ceph', 'ceph-ansible', 'zun', 'cells', 'swift'] }}"
+ openstack_core_tested: "{{ scenario in ['core', 'ceph-ansible', 'zun', 'cells', 'swift'] }}"
dashboard_enabled: "{{ openstack_core_enabled }}"
# TODO(mgoddard): Remove when previous_release is ussuri.
playbook_python_version: "{{ '2' if is_upgrade and previous_release == 'train' else '3' }}"
@@ -34,10 +34,10 @@
- name: Prepare disks for a storage service
script: "setup_disks.sh {{ disk_type }}"
- when: scenario in ['ceph', 'ceph-ansible', 'zun', 'swift']
+ when: scenario in ['ceph-ansible', 'zun', 'swift']
become: true
vars:
- disk_type: "{{ ceph_storetype if scenario in ['ceph', 'ceph-ansible'] else scenario }}"
+ disk_type: "{{ ceph_storetype if scenario in ['ceph-ansible'] else scenario }}"
ceph_storetype: "{{ hostvars[inventory_hostname].get('ceph_osd_storetype') }}"
- hosts: primary
@@ -124,10 +124,6 @@
- src: "tests/templates/nova-compute-overrides.j2"
dest: /etc/kolla/config/nova/nova-compute.conf
when: "{{ openstack_core_enabled }}"
- # ceph.conf
- - src: "tests/templates/ceph-overrides.j2"
- dest: /etc/kolla/config/ceph.conf
- when: "{{ scenario == 'ceph' }}"
# bifrost/dib.yml
- src: "tests/templates/bifrost-dib-overrides.j2"
dest: /etc/kolla/config/bifrost/dib.yml
@@ -471,10 +467,6 @@
# nova-compute.conf
- src: "tests/templates/nova-compute-overrides.j2"
dest: /etc/kolla/config/nova/nova-compute.conf
- # ceph.conf
- - src: "tests/templates/ceph-overrides.j2"
- dest: /etc/kolla/config/ceph.conf
- when: "{{ scenario == 'ceph' }}"
when: item.when | default(true)
# TODO(mgoddard): Remove this block when previous_release is ussuri.
diff --git a/tests/setup_disks.sh b/tests/setup_disks.sh
index 3f4fe0169d..670f642e86 100644
--- a/tests/setup_disks.sh
+++ b/tests/setup_disks.sh
@@ -22,38 +22,6 @@ elif [ $1 = 'swift' ]; then
parted $free_device -s -- mklabel gpt mkpart KOLLA_SWIFT_DATA 1 -1
free_partition=${free_device}p1
mkfs.xfs -L d0 $free_partition
-elif [ $1 = 'filestore' ]; then
- #setup devices for Kolla Ceph filestore OSD
- dd if=/dev/zero of=/opt/data/kolla/ceph-osd1.img bs=5M count=1000
- LOOP=$(losetup -f)
- losetup $LOOP /opt/data/kolla/ceph-osd1.img
- parted $LOOP -s -- mklabel gpt mkpart KOLLA_CEPH_OSD_BOOTSTRAP_OSD1 1 -1
-
- dd if=/dev/zero of=/opt/data/kolla/ceph-journal1.img bs=5M count=512
- LOOP=$(losetup -f)
- losetup $LOOP /opt/data/kolla/ceph-journal1.img
- parted $LOOP -s -- mklabel gpt mkpart KOLLA_CEPH_OSD_BOOTSTRAP_OSD1_J 1 -1
-elif [ $1 = 'bluestore' ]; then
- # Setup devices for Kolla Ceph bluestore OSD
- dd if=/dev/zero of=/opt/data/kolla/ceph-osd0.img bs=5M count=100
- LOOP=$(losetup -f)
- losetup $LOOP /opt/data/kolla/ceph-osd0.img
- parted $LOOP -s -- mklabel gpt mkpart KOLLA_CEPH_OSD_BOOTSTRAP_BS_OSD0 1 -1
-
- dd if=/dev/zero of=/opt/data/kolla/ceph-osd0-b.img bs=5M count=1000
- LOOP=$(losetup -f)
- losetup $LOOP /opt/data/kolla/ceph-osd0-b.img
- parted $LOOP -s -- mklabel gpt mkpart KOLLA_CEPH_OSD_BOOTSTRAP_BS_OSD0_B 1 -1
-
- dd if=/dev/zero of=/opt/data/kolla/ceph-osd0-w.img bs=5M count=200
- LOOP=$(losetup -f)
- losetup $LOOP /opt/data/kolla/ceph-osd0-w.img
- parted $LOOP -s -- mklabel gpt mkpart KOLLA_CEPH_OSD_BOOTSTRAP_BS_OSD0_W 1 -1
-
- dd if=/dev/zero of=/opt/data/kolla/ceph-osd0-d.img bs=5M count=200
- LOOP=$(losetup -f)
- losetup $LOOP /opt/data/kolla/ceph-osd0-d.img
- parted $LOOP -s -- mklabel gpt mkpart KOLLA_CEPH_OSD_BOOTSTRAP_BS_OSD0_D 1 -1
elif [ $1 = 'ceph-lvm' ]; then
free_device=$(losetup -f)
fallocate -l 10G /var/lib/ceph-osd1.img
diff --git a/tests/templates/ceph-inventory.j2 b/tests/templates/ceph-inventory.j2
index 17edcdbdca..b9f87dcb43 100644
--- a/tests/templates/ceph-inventory.j2
+++ b/tests/templates/ceph-inventory.j2
@@ -1,6 +1,6 @@
[storage]
{% for host in hostvars %}
-{{ host }} ansible_host={{ hostvars[host]['ansible_host'] }} ansible_user=kolla ansible_ssh_private_key_file={{ ansible_env.HOME ~ '/.ssh/id_rsa_kolla' }} ceph_osd_store_type={{ 'filestore' if host == 'primary' else 'bluestore' }}
+{{ host }} ansible_host={{ hostvars[host]['ansible_host'] }} ansible_user=kolla ansible_ssh_private_key_file={{ ansible_env.HOME ~ '/.ssh/id_rsa_kolla' }}
{% endfor %}
# Ceph-Ansible hosts
diff --git a/tests/templates/globals-default.j2 b/tests/templates/globals-default.j2
index 7a258298f1..849a042f9c 100644
--- a/tests/templates/globals-default.j2
+++ b/tests/templates/globals-default.j2
@@ -53,27 +53,6 @@ openstack_release: "{{ previous_release }}"
{% endif %}
{% endif %}
-{% if scenario == "ceph" %}
-enable_ceph: "yes"
-enable_ceph_mds: "yes"
-enable_ceph_rgw: "yes"
-enable_ceph_rgw_keystone: "yes"
-enable_ceph_nfs: "yes"
-enable_cinder: "yes"
-ceph_pool_pg_num: 8
-ceph_pool_pgp_num: 8
-{% if address_family == 'ipv6' %}
-# NOTE(yoctozepto): ceph won't accept IPv6 address as hostname (due to ':', '.' were fine)
-# hence use inventory name as the others do
-# this is Train feature so would fail upgrades from Stein
-ceph_mon_host_type: "INVENTORY"
-ceph_osd_host_type: "INVENTORY"
-{% endif %}
-# This is experimental feature, disable if gate fail.
-# In multinode jobs without ceph rolling upgrade fails.
-glance_enable_rolling_upgrade: "yes"
-{% endif %}
-
{% if scenario == "zun" %}
enable_zun: "yes"
enable_kuryr: "yes"
diff --git a/tests/templates/inventory.j2 b/tests/templates/inventory.j2
index f63db24abb..7441f4e019 100644
--- a/tests/templates/inventory.j2
+++ b/tests/templates/inventory.j2
@@ -17,7 +17,7 @@
[storage]
{% for host in hostvars %}
-{{ host }} ansible_host={{ hostvars[host]['ansible_host'] }} ansible_user=kolla ansible_ssh_private_key_file={{ ansible_env.HOME ~ '/.ssh/id_rsa_kolla' }} ceph_osd_store_type={{ 'filestore' if host == 'primary' else 'bluestore' }}
+{{ host }} ansible_host={{ hostvars[host]['ansible_host'] }} ansible_user=kolla ansible_ssh_private_key_file={{ ansible_env.HOME ~ '/.ssh/id_rsa_kolla' }}
{% endfor %}
[monitoring]
@@ -156,8 +156,11 @@ control
[murano:children]
control
+{# TODO(mnasiadka): Remove in Victoria #}
+{% if scenario == 'ceph-ansible' and is_previous_release and previous_release == 'train' %}
[ceph:children]
control
+{% endif %}
[ironic:children]
control
@@ -321,6 +324,8 @@ neutron
[ironic-neutron-agent:children]
neutron
+{# TODO(mnasiadka): Remove in Victoria #}
+{% if scenario == 'ceph-ansible' and is_previous_release and previous_release == 'train' %}
# Ceph
[ceph-mds:children]
ceph
@@ -339,6 +344,7 @@ ceph
[ceph-osd:children]
storage
+{% endif %}
# Cinder
[cinder-api:children]
diff --git a/tests/test-core-openstack.sh b/tests/test-core-openstack.sh
index c479ce5d37..29334b58eb 100755
--- a/tests/test-core-openstack.sh
+++ b/tests/test-core-openstack.sh
@@ -11,7 +11,7 @@ function test_smoke {
openstack --debug compute service list
openstack --debug network agent list
openstack --debug orchestration service list
- if [[ $SCENARIO == "ceph" ]] || [[ $SCENARIO == "ceph-ansible" ]] || [[ $SCENARIO == "zun" ]]; then
+ if [[ $SCENARIO == "ceph-ansible" ]] | [[ $SCENARIO == "zun" ]]; then
openstack --debug volume service list
fi
}
@@ -28,7 +28,7 @@ function test_instance_boot {
fi
echo "SUCCESS: Server creation"
- if [[ $SCENARIO == "ceph" ]] || [ $SCENARIO == "ceph-ansible" ] || [[ $SCENARIO == "zun" ]]; then
+ if [[ $SCENARIO == "ceph-ansible" ]] || [[ $SCENARIO == "zun" ]]; then
echo "TESTING: Cinder volume attachment"
openstack volume create --size 2 test_volume
attempt=1
diff --git a/tools/cleanup-host b/tools/cleanup-host
index cc885558cf..dfffa6157f 100755
--- a/tools/cleanup-host
+++ b/tools/cleanup-host
@@ -37,14 +37,6 @@ fi
echo "Creating a fstab backup..."
sudo cp /etc/fstab /etc/fstab_backup
-echo "Unmounting Ceph OSD disks"
-for mount in $(mount | awk '/\/var\/lib\/ceph/ { print $3 }'); do
- umount $mount
-done
-
-echo "Removing ceph references from fstab..."
-sudo sed -i '/\/var\/lib\/ceph\/osd\//d' /etc/fstab
-
if [[ "$enable_swift" == "yes" ]]; then
echo "Removing swift references from fstab..."
cat /etc/fstab | grep "/srv/node/d*" | xargs umount
diff --git a/tools/setup_gate.sh b/tools/setup_gate.sh
index 36e768cae6..d30d829eac 100755
--- a/tools/setup_gate.sh
+++ b/tools/setup_gate.sh
@@ -35,10 +35,6 @@ function setup_config {
GATE_IMAGES="bifrost"
fi
- if [[ $SCENARIO == "ceph" ]]; then
- GATE_IMAGES+=",^ceph,^cinder"
- fi
-
if [[ $SCENARIO == "ceph-ansible" ]]; then
GATE_IMAGES+=",^cinder"
fi
diff --git a/tools/validate-all-file.py b/tools/validate-all-file.py
index 6acbc08a72..21e5bef841 100755
--- a/tools/validate-all-file.py
+++ b/tools/validate-all-file.py
@@ -150,8 +150,7 @@ def check_docker_become():
for x in YAML_INCLUDE_PATTERNS])
excludes = r'|'.join([fnmatch.translate(x)
for x in YAML_EXCLUDE_PATTERNS])
- docker_modules = ('kolla_docker', 'kolla_ceph_keyring',
- 'kolla_container_facts', 'kolla_toolbox')
+ docker_modules = ('kolla_docker', 'kolla_container_facts', 'kolla_toolbox')
cmd_modules = ('command', 'shell')
return_code = 0
roles_path = os.path.join(PROJECT_ROOT, 'ansible', 'roles')
diff --git a/zuul.d/jobs.yaml b/zuul.d/jobs.yaml
index 6ff28d4de1..ac4163bae9 100644
--- a/zuul.d/jobs.yaml
+++ b/zuul.d/jobs.yaml
@@ -76,24 +76,6 @@
base_distro: ubuntu
install_type: binary
-- job:
- name: kolla-ansible-ubuntu-source-ceph
- parent: kolla-ansible-ceph-base
- nodeset: kolla-ansible-bionic-multi
- timeout: 9000
- vars:
- base_distro: ubuntu
- install_type: source
-
-- job:
- name: kolla-ansible-centos-source-ceph
- parent: kolla-ansible-ceph-base
- nodeset: kolla-ansible-centos-multi
- timeout: 9000
- vars:
- base_distro: centos
- install_type: source
-
- job:
name: kolla-ansible-centos-source-ceph-ansible
parent: kolla-ansible-ceph-ansible-base
diff --git a/zuul.d/project.yaml b/zuul.d/project.yaml
index d351bb0478..723d1911d4 100644
--- a/zuul.d/project.yaml
+++ b/zuul.d/project.yaml
@@ -16,8 +16,6 @@
- kolla-ansible-debian-source
- kolla-ansible-ubuntu-source
- kolla-ansible-ubuntu-source-multinode-ipv6
- - kolla-ansible-ubuntu-source-ceph
- - kolla-ansible-centos-source-ceph
- kolla-ansible-bifrost-centos-source
# FIXME(mgoddard): Bifrost CentOS 8 support in progress.
# - kolla-ansible-centos8-source-bifrost
@@ -40,8 +38,6 @@
- kolla-ansible-ubuntu-source-ironic
- kolla-ansible-centos-source-upgrade
- kolla-ansible-ubuntu-source-upgrade
- - kolla-ansible-centos-source-upgrade-ceph
- - kolla-ansible-ubuntu-source-upgrade-ceph
- kolla-ansible-centos-binary
- kolla-ansible-centos8-binary
- kolla-ansible-ubuntu-binary
@@ -80,7 +76,5 @@
- kolla-ansible-ubuntu-source-ironic
- kolla-ansible-centos-source-upgrade
- kolla-ansible-ubuntu-source-upgrade
- - kolla-ansible-centos-source-upgrade-ceph
- - kolla-ansible-ubuntu-source-upgrade-ceph
- kolla-ansible-centos-source-mariadb
- kolla-ansible-ubuntu-source-mariadb