]> git.apps.os.sepia.ceph.com Git - ceph.git/commit
Add per OSD crush_device_class definition 50444/head
authorFrancesco Pantano <fpantano@redhat.com>
Fri, 23 Dec 2022 13:45:40 +0000 (14:45 +0100)
committerAdam King <adking@redhat.com>
Wed, 8 Mar 2023 19:36:19 +0000 (14:36 -0500)
commit302b08aa26e4634c07985f5c6e17dedb11c089c1
tree0fc7d50bdd41b8ce45de3d9293d28ec8cc315c7e
parent7d89e5011e2e5e1a0540a65ca139f6cf4908f9c7
Add per OSD crush_device_class definition

This patch introduces a per osd crush_device_class definition in the
DriveGroup spec. The Device object is extended to support a
crush_device_class parameter which is processed by ceph-volume when
drives are prepared in batch mode. According to the per osd defined
crush device classes, drives are collected and grouped in a dict that is
used to produce a set of ceph-volume commands that eventually apply (if
defined) the right device class. The test_drive_group unit tests are
also extended to make sure we're not breaking compatibility with the
default definition and the new syntax is validated, raising an exception
if it's violated.

Fixes: https://tracker.ceph.com/issues/58184
Signed-off-by: Francesco Pantano <fpantano@redhat.com>
(cherry picked from commit 6c6cb2f5130dbcf8e42cf03666173948411fc92b)

Conflicts:
src/python-common/ceph/deployment/drive_group.py
doc/cephadm/services/osd.rst
src/python-common/ceph/deployment/drive_group.py
src/python-common/ceph/deployment/inventory.py
src/python-common/ceph/deployment/translate.py
src/python-common/ceph/tests/test_drive_group.py