]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commit
ceph-volume: work around phantom atari partitions 42753/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:24:59 +0000 (13:24 +0200)
commitb146a3759fd186810c2dea851d41e3ba95bd1eac
treebb347d25e2c3bb529ce3df24cd01c3b89e78b428
parent68964390c65a65e1736d62c55715f15d510d9ae0
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