Hi,
I am looking for a bit of reassurance and guidance on running Nautilus with el9. I have
applied a patch to rgw[2] and the ceph.spec[3]. I have managed to build ceph on a
container with rocky9 using these commands[1]
I had to run the rpmbuild a few times, because it looks like the concurrent compiling
causes some libraries/binaries not to be available on time.
I can't really believe having so little issues with compiling that this could be
problematic running in production. I even have the impression the changes between el8 and
el9 are not really that significant.
What could be bad about doing such upgrade? As a development team you should sort of know
what is doable and what gives problems, not? I have tried to keep the set up as much
standard as possible using rbd 3x replicated. If rgw and mds are unavailable for a while
it would not be that much of an issue.
I was thinking of upgrading an osd node and check if there is any reporting on data being
corrupted from this el9 node. Maybe reduce the amount of mgr / mon for a short while to
only be on el7 nodes, although I can imagine that issues with monitor and manager would
reveal themselves quickly when having one also on the el9 node.
[1]
docker run -v /dev/log:/dev/log -v /home/software/ceph-nautilus/rpmbuild:/root/rpmbuild
-it --security-opt seccomp=unconfined --network host rockylinux:9 /bin/bash
dnf install -y rpm-build epel-release
dnf install 'dnf-command(builddep)'
dnf config-manager --set-enabled crb
cd /root/rpmbuild
rpm -iv el8/ceph-14.2.22-0.el8.src.rpm
dnf builddep SPECS/ceph.spec
yum downgrade RPMS/x86_64/librabbitmq-0.9.0-3.el9.x86_64.rpm
RPMS/x86_64/librabbitmq-devel-0.9.0-3.el9.x86_64.rpm
rpmbuild -bb --with el9 --without ceph_test_package --noprep --noclean SPECS/ceph.spec
[2]
--- ceph-14.2.22/src/rgw/CMakeLists.txt 2023-04-05 17:41:52.041300639 +0000
+++ ceph-14.2.22/src/rgw/CMakeLists.new.txt 2023-04-05 17:42:07.704412029 +0000
@@ -1,3 +1,7 @@
+if(Boost_VERSION VERSION_GREATER_EQUAL 1.74)
+ add_definitions(-DBOOST_ASIO_USE_TS_EXECUTOR_AS_DEFAULT)
+endif()
+
add_custom_target(civetweb_h
COMMAND ${CMAKE_COMMAND} -E make_directory
"${CMAKE_BINARY_DIR}/src/include/civetweb"
[3] ceph.spec patch
25d24
< %bcond_without ceph_test_package
30a30,37
%bcond el9 0
%if 0%{with el9}
%define tmpvalue el9
%bcond_without ceph_test_package
%else
%bcond_with ceph_test_package
%define tmpvalue notel9
%endif
128c135,136
< Source0: %{?_remote_tarball_prefix}ceph-14.2.22.tar.bz2
---
Source0: ceph-14.2.22.tar.gz
Patch0: ceph-14.2.22.el9.1.patch
269c277
< #BuildRequires: redhat-lsb-core
---
# RIT BuildRequires: redhat-lsb-core
929c937
< Obsoletes: ceph-libcephfs
---
# RIT Obsoletes: ceph-libcephfs
1151a1160
1156a1166
1160a1171,1182
> %if 0%{with el9}
> echo "building el9" >> /tmp/read.log
> %endif
> %if 0%{without ceph_test_package}
> echo "building without test" >> /tmp/read.log
> %endif
> %if 0%{with ceph_test_package}
> echo "building with test" >> /tmp/read.log
> %endif
1178a1201
CEPH_MFLAGS_JOBS="1"
1202c1225
< mkdir build
---
mkdir -p build
1270,1271c1293,1302
< -DBOOST_J=$CEPH_SMP_NCPUS \
< -DWITH_GRAFANA=ON
---
-DWITH_GRAFANA=ON \
%if 0%{el9}
-DWITH_SYSTEM_BOOST=ON \
-DWITH_MGR_DASHBOARD_FRONTEND=OFF \
-DWITH_SYSTEM_NPM=OFF \
-DWITH_RADOSGW_KAFKA_ENDPOINT=OFF \
-DWITH_RADOSGW=ON \
-DWITH_GRAFANA=ON \
%endif
-DBOOST_J=$CEPH_SMP_NCPUS
1273c1304,1306
< make "$CEPH_MFLAGS_JOBS"
---
> make "$CEPH_MFLAGS_JOBS" 2>/tmp/build.log
> #make 2>/tmp/build.log
1355d1387
< %if "%{noclean}" == ""
1357d1388
< %endif