]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commit
Add per OSD crush_device_class definition 49555/head
authorFrancesco Pantano <fpantano@redhat.com>
Fri, 23 Dec 2022 13:45:40 +0000 (14:45 +0100)
committerFrancesco Pantano <fpantano@redhat.com>
Thu, 19 Jan 2023 21:01:23 +0000 (22:01 +0100)
commit6c6cb2f5130dbcf8e42cf03666173948411fc92b
tree588330f074136f491a8ba7ab300b6c1b8b6b9d13
parenta310a670df7b1ff0266490a3a8bc44238bd943df
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>
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