The sys-cluster/ceph-14.2.16 changes the build behavior of the ceph application. With ebuild version 14.2.16 ceph is build against the global rocksdb installation on the system itself as a new default, in the ebuild is a new configuration option visible: -DWITH_SYSTEM_ROCKSDB=ON and dev-libs/rocksdb is installed as a dependancy. This will work with the rocksdb version up to dev-libs/rocksdb-6.14.6 but build against the version dev-libs/rocksdb-6.15.2 the osd Service became broken. The OSDs will stay offline after the OSD service started and you will find the following error message in the OSD error log: 2021-01-05 15:15:50.719 7f1c75bbec40 -1 rocksdb: NotFound: db/: No such file or directory 2021-01-05 15:15:50.719 7f1c75bbec40 -1 bluestore(/var/lib/ceph/osd/computevms-1) _open_db erroring opening db: /var/tmp/portage/sys-cluster/ceph-14.2.16/work/ceph-14.2.16/src/os/bluestore/Allocator.cc: In function 'virtual Allocator::SocketHook::~SocketHook()' thread 7f1c75bbec40 time 2021-01-05 15:15:51.141270 /var/tmp/portage/sys-cluster/ceph-14.2.16/work/ceph-14.2.16/src/os/bluestore/Allocator.cc: 53: FAILED ceph_assert(r == 0) ceph version 14.2.16 (762032d6f509d5e7ee7dc008d80fe9c87086603c) nautilus (stable) 1: (ceph::__ceph_assert_fail(char const*, char const*, int, char const*)+0x14f) [0x56355cdb297b] 2: (()+0x440b77) [0x56355cdb2b77] 3: (Allocator::~Allocator()+0) [0x56355d458070] 4: (HybridAllocator::~HybridAllocator()+0x17) [0x56355d4b9f17] 5: (BlueStore::_close_alloc()+0x48) [0x56355d335718] 6: (BlueStore::_open_db_and_around(bool)+0x19f) [0x56355d36353f] 7: (BlueStore::_mount(bool, bool)+0x592) [0x56355d3d0be2] 8: (OSD::init()+0x566) [0x56355ce99816] 9: (main()+0x37cb) [0x56355ce0c77b] 10: (__libc_start_main()+0xeb) [0x7f1c75c83edb] 11: (_start()+0x2a) [0x56355ce1eb3a] *** Caught signal (Aborted) ** in thread 7f1c75bbec40 thread_name:ceph-osd 2021-01-05 15:15:51.129 7f1c75bbec40 -1 /var/tmp/portage/sys-cluster/ceph-14.2.16/work/ceph-14.2.16/src/os/bluestore/Allocator.cc: In function 'virtual Allocator::SocketHook::~SocketHook()' thread 7f1c75bbec40 time 2021-01-05 15:15:51.141270 Reproducible: Always Steps to Reproduce: 1. emerge sys-cluster/ceph-14.2.16 2. start the ceph osd service Actual Results: The OSDs will fail to start Expected Results: The OSD Service should start and the OSD should be active in the Ceph cluster At the moment I use a workaround add the following line: >dev-libs/rocksdb-6.14.6 in a file inside the /etc/portage/package.mask/ folder, befor I emerge the sys-cluster/ceph-14.2.16 package.
Can confirm. Updated sys-cluster/ceph to 14.2.16 and now my OSD daemons are not starting.
Confirming that downgrade to dev-libs/rocksdb-6.14.6 and re-emerge of sys-cluster/ceph-14.2.16 worked and OSD daemons are starting again.
This issue also affects sys-cluster/ceph-15.2.8
Confirm: ceph 15.2.8 + 6.14.6 = works ceph 15.2.8 + 6.15.2 = doesn't work
The bug has been closed via the following commit(s): https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=0d0a165d3665487227432b4b28a2eb819c5ce9aa commit 0d0a165d3665487227432b4b28a2eb819c5ce9aa Author: Patrick McLean <patrick.mclean@sony.com> AuthorDate: 2021-01-20 22:09:39 +0000 Commit: Patrick McLean <chutzpah@gentoo.org> CommitDate: 2021-01-20 22:09:39 +0000 sys-cluster/ceph: Revbumps, force older rocksdb (bug #764221) Closes: https://bugs.gentoo.org/764221 Copyright: Sony Interactive Entertainment Inc. Package-Manager: Portage-3.0.13, Repoman-3.0.2 RepoMan-Options: --force Signed-off-by: Patrick McLean <chutzpah@gentoo.org> sys-cluster/ceph/{ceph-14.2.15.ebuild => ceph-14.2.15-r1.ebuild} | 4 ++-- sys-cluster/ceph/{ceph-14.2.16.ebuild => ceph-14.2.16-r1.ebuild} | 4 ++-- sys-cluster/ceph/{ceph-15.2.8.ebuild => ceph-15.2.8-r1.ebuild} | 4 ++-- 3 files changed, 6 insertions(+), 6 deletions(-)
*** Bug 765649 has been marked as a duplicate of this bug. ***