]> git.apps.os.sepia.ceph.com Git - ceph.git/commit
ceph-volume: work around phantom atari partitions 42752/head
authorBlaine Gardner <blaine.gardner@redhat.com>
Fri, 23 Jul 2021 18:56:35 +0000 (12:56 -0600)
committerGuillaume Abrioux <gabrioux@redhat.com>
Thu, 12 Aug 2021 11:29:30 +0000 (13:29 +0200)
commit69abcc0255898aa17d9dc68474bfad6552bccb55
treefbd6bf8983ed893ff292d9a919736a969e7cba88
parent2ae53f49468b5dda71812a28b96691258e1e0f50
ceph-volume: work around phantom atari partitions

See Rook issue https://github.com/rook/rook/issues/7940 for full
information.

Ceph bluestore disks can sometimes appear as though they have "phantom"
Atari (AHDI) partitions created on them when they don't in reality. This
is due to a series of bugs in the Linux kernel when it is built with
Atari support enabled. This behavior does not appear for raw mode OSDs on
partitions, only on disks.

Changing the on-disk format of Bluestore OSDs comes with
backwards-compatibility challenges, and fixing the issue in the Kernel
could be years before users get a fix. Working around the Kernel issue
in ceph-volume is therefore the best place to fix the issue for Ceph.

To work around the issue in Ceph volume, there are two behaviors that need
adjusted:
1. `ceph-volume inventory` should not report that a partition is
   available if the parent device is a BlueStore OSD.
2. `ceph-volume raw list` should report parent disks if the disk is a
   BlueStore OSD and not report the disk's children, BUT it should still
   report children if the parent disk is not a BlueStore OSD.

Signed-off-by: Blaine Gardner <blaine.gardner@redhat.com>
(cherry picked from commit 9212420bbc88e0caaf0b2302dd1f379f563f7d26)
src/ceph-volume/ceph_volume/devices/raw/list.py
src/ceph-volume/ceph_volume/tests/devices/raw/test_list.py [new file with mode: 0644]
src/ceph-volume/ceph_volume/tests/util/test_device.py
src/ceph-volume/ceph_volume/util/device.py
src/ceph-volume/ceph_volume/util/disk.py