[quincy] invalid osd_class_dir blocks rados client connections
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Ubuntu Cloud Archive |
Fix Released
|
Undecided
|
Unassigned | ||
Yoga |
Fix Released
|
Undecided
|
Unassigned | ||
ceph (Ubuntu) |
Fix Released
|
Critical
|
Chris MacNaughton | ||
Jammy |
Fix Released
|
Critical
|
Chris MacNaughton | ||
Kinetic |
Fix Released
|
Critical
|
Chris MacNaughton |
Bug Description
[Impact]
A Ceph cluster that has upgraded from before 19.04 will break upon upgrade to Ceph Quincy (Jammy and Kinetic).
Ubuntu packaging is configuring `osd_class_dir` with a relative path `CMAKE_
The default value for `osd_class_dir` changed in Quincy, starting with v17.1.0 [1].
The ceph-osd service relies on the `osd_class_dir` path to find and load class libraries that extend RADOS [2]. When this is set incorrectly, RADOS clients fail with repeated "Operation not supported" errors:
```
2022-08-
2022-08-
2022-08-
2022-08-
2022-08-
2022-08-
```
The ceph-osd service will also report `_load_class` errors:
```
2022-08-
```
Admins can resolve this issue by manually setting `osd_class_dir` to the correct value. Run the following command on a ceph-mon:
```
sudo ceph config set global osd_class_dir /usr/lib/
```
Then restart all ceph-osd services to pick up the new `osd_class_dir` location.
[0] https:/
[1] https:/
[2] https:/
[Test Plan]
1. Install Ceph at Bionic
2. Upgrade through to Jammy
a. Confirm that client usage is broken
3. Upgrade to Jammy-proposed
a. Confirm that client usage works again
In addition to client activity, it can be confirmed that the OSDs don't have error logs about failing to load classes.
[Where problems could occur]
Problems could occur as a result of library paths changing, so Ceph functionality should be verified. This will be done with functional tests of Ceph using the Ceph Juju charms.
Related branches
- Ubuntu Sponsors: Pending requested
- git-ubuntu import: Pending requested
-
Diff: 10434 lines (+9673/-0) (has conflicts)64 files modifieddebian/changelog (+17/-0)
debian/patches/fix-kinetic-libfmt.patch (+82/-0)
debian/patches/fix-kinetic-misc.patch (+43/-0)
debian/patches/lp1986747-fix-osd-class-dir.patch (+23/-0)
debian/patches/series (+9/-0)
src/rapidjson/thirdparty/gtest/googlemock/msvc/2005/gmock.sln (+35/-0)
src/rapidjson/thirdparty/gtest/googlemock/msvc/2005/gmock.vcproj (+194/-0)
src/rapidjson/thirdparty/gtest/googlemock/msvc/2005/gmock_config.vsprops (+18/-0)
src/rapidjson/thirdparty/gtest/googlemock/msvc/2005/gmock_main.vcproj (+190/-0)
src/rapidjson/thirdparty/gtest/googlemock/msvc/2005/gmock_test.vcproj (+204/-0)
src/rapidjson/thirdparty/gtest/googlemock/msvc/2010/gmock.sln (+35/-0)
src/rapidjson/thirdparty/gtest/googlemock/msvc/2010/gmock.vcxproj (+85/-0)
src/rapidjson/thirdparty/gtest/googlemock/msvc/2010/gmock_config.props (+22/-0)
src/rapidjson/thirdparty/gtest/googlemock/msvc/2010/gmock_main.vcxproj (+91/-0)
src/rapidjson/thirdparty/gtest/googlemock/msvc/2010/gmock_test.vcxproj (+104/-0)
src/rapidjson/thirdparty/gtest/googletest/codegear/gtest.cbproj (+140/-0)
src/rapidjson/thirdparty/gtest/googletest/codegear/gtest.groupproj (+56/-0)
src/rapidjson/thirdparty/gtest/googletest/codegear/gtest_all.cc (+41/-0)
src/rapidjson/thirdparty/gtest/googletest/codegear/gtest_link.cc (+43/-0)
src/rapidjson/thirdparty/gtest/googletest/codegear/gtest_main.cbproj (+85/-0)
src/rapidjson/thirdparty/gtest/googletest/codegear/gtest_unittest.cbproj (+90/-0)
src/rapidjson/thirdparty/gtest/googletest/msvc/gtest-md.sln (+48/-0)
src/rapidjson/thirdparty/gtest/googletest/msvc/gtest-md.vcproj (+129/-0)
src/rapidjson/thirdparty/gtest/googletest/msvc/gtest.sln (+48/-0)
src/rapidjson/thirdparty/gtest/googletest/msvc/gtest.vcproj (+129/-0)
src/rapidjson/thirdparty/gtest/googletest/msvc/gtest_main-md.vcproj (+132/-0)
src/rapidjson/thirdparty/gtest/googletest/msvc/gtest_main.vcproj (+132/-0)
src/rapidjson/thirdparty/gtest/googletest/msvc/gtest_prod_test-md.vcproj (+167/-0)
src/rapidjson/thirdparty/gtest/googletest/msvc/gtest_prod_test.vcproj (+167/-0)
src/rapidjson/thirdparty/gtest/googletest/msvc/gtest_unittest-md.vcproj (+150/-0)
src/rapidjson/thirdparty/gtest/googletest/msvc/gtest_unittest.vcproj (+150/-0)
src/zstd/build/VS2008/fullbench/fullbench.vcproj (+552/-0)
src/zstd/build/VS2008/fuzzer/fuzzer.vcproj (+588/-0)
src/zstd/build/VS2008/zstd.sln (+59/-0)
src/zstd/build/VS2008/zstd/zstd.vcproj (+668/-0)
src/zstd/build/VS2008/zstdlib/zstdlib.vcproj (+638/-0)
src/zstd/build/VS2010/datagen/datagen.vcxproj (+171/-0)
src/zstd/build/VS2010/fullbench-dll/fullbench-dll.vcxproj (+192/-0)
src/zstd/build/VS2010/fullbench/fullbench.vcxproj (+221/-0)
src/zstd/build/VS2010/fuzzer/fuzzer.vcxproj (+226/-0)
src/zstd/build/VS2010/libzstd-dll/libzstd-dll.rc (+54/-0)
src/zstd/build/VS2010/libzstd-dll/libzstd-dll.vcxproj (+257/-0)
src/zstd/build/VS2010/libzstd/libzstd.vcxproj (+250/-0)
src/zstd/build/VS2010/zstd.sln (+92/-0)
src/zstd/build/VS2010/zstd/zstd.rc (+54/-0)
src/zstd/build/VS2010/zstd/zstd.vcxproj (+260/-0)
src/zstd/build/VS_scripts/build.VS2010.cmd (+9/-0)
src/zstd/build/VS_scripts/build.VS2012.cmd (+8/-0)
src/zstd/build/VS_scripts/build.VS2013.cmd (+9/-0)
src/zstd/build/VS_scripts/build.VS2015.cmd (+9/-0)
src/zstd/build/VS_scripts/build.VS2017.cmd (+9/-0)
src/zstd/build/VS_scripts/build.VS2017Community.cmd (+9/-0)
src/zstd/build/VS_scripts/build.VS2017Enterprise.cmd (+9/-0)
src/zstd/build/VS_scripts/build.VS2017Professional.cmd (+9/-0)
src/zstd/build/VS_scripts/build.generic.cmd (+65/-0)
src/zstd/contrib/VS2005/fullbench/fullbench.vcproj (+443/-0)
src/zstd/contrib/VS2005/fuzzer/fuzzer.vcproj (+491/-0)
src/zstd/contrib/VS2005/zstd.sln (+58/-0)
src/zstd/contrib/VS2005/zstd/zstd.vcproj (+551/-0)
src/zstd/contrib/VS2005/zstdlib/zstdlib.vcproj (+565/-0)
src/zstd/lib/dll/example/build_package.bat (+23/-0)
src/zstd/lib/dll/example/fullbench-dll.sln (+28/-0)
src/zstd/lib/dll/example/fullbench-dll.vcxproj (+183/-0)
src/zstd/programs/windres/zstd.rc (+54/-0)
- Ubuntu Server Developers: Pending requested
-
Diff: 53 lines (+31/-0)3 files modifieddebian/changelog (+7/-0)
debian/patches/lp1986747-fix-osd-class-dir.patch (+23/-0)
debian/patches/series (+1/-0)
- Ubuntu Server Developers: Pending requested
-
Diff: 53 lines (+31/-0)3 files modifieddebian/changelog (+7/-0)
debian/patches/lp1986747-fix-osd-class-dir.patch (+23/-0)
debian/patches/series (+1/-0)
tags: | added: seg sts |
Changed in ceph (Ubuntu Jammy): | |
assignee: | nobody → Chris MacNaughton (chris.macnaughton) |
Changed in ceph (Ubuntu Kinetic): | |
assignee: | nobody → Chris MacNaughton (chris.macnaughton) |
description: | updated |
Changed in ceph (Ubuntu Jammy): | |
importance: | Undecided → Critical |
Changed in ceph (Ubuntu Kinetic): | |
importance: | Undecided → Critical |
Changed in cloud-archive: | |
status: | New → Fix Committed |
tags: |
added: verification-done verification-done-jammy removed: verification-needed verification-needed-jammy |
Status changed to 'Confirmed' because the bug affects multiple users.