compiling Nautilus for el9
Is it possible to compile Nautilus for el9? Or maybe just the osd's?
Is it possible to compile Nautilus for el9? Or maybe just the osd's?
I was thinking of updating first to el9/centos9/rocky9 one node at a time, and after that do the ceph upgrade(s). I think this will give me the least intrusive upgrade path. However that requires the availability of Nautilus el9 rpms. I have been trying to build them via https://github.com/ceph/ceph and via rpmbuild ceph.spec. And without applying to many 'hacks', currently I seem to get around 30%-50%(?) of the code build[1] (albeit with quite some warnings[2]). This leads me to believe that it is most likely possible to build these for el9. Obviously I prefer to have someone with experience do this. Is it possible someone from the ceph development team can build these rpms for el9? Or are there serious issues that prevent this? [1] [build -- -- --prod --progress=false] > ceph-dashboard@0.0.0 build /home/ceph/src/pybind/mgr/dashboard/frontend [build -- -- --prod --progress=false] > export _locale=${LOCALE:-$npm_package_config_locale}; if [ ${_locale} = $npm_package_config_locale ]; then export _file=; else export _file=src/locale/messages.${_locale}.xlf; fi; ng build --outputPath=dist/${_locale} --i18nFile=${_file} --i18nLocale=${_locale} "--" "--prod" "--progress=false" [build -- -- --prod --progress=false] [ 51%] Building CXX object src/test/CMakeFiles/ceph_test_admin_socket_output.dir/test_admin_socket_output.cc.o [build -- -- --prod --progress=false] Unknown option: '--prod' [build -- -- --prod --progress=false] npm ERR! code ELIFECYCLE [build -- -- --prod --progress=false] npm ERR! errno 1 [build -- -- --prod --progress=false] npm ERR! ceph-dashboard@0.0.0 build: `export _locale=${LOCALE:-$npm_package_config_locale}; if [ ${_locale} = $npm_package_config_locale ]; then export _file=; else export _file=src/locale/messages.${_locale}.xlf; fi; ng build --outputPath=dist/${_locale} --i18nFile=${_file} --i18nLocale=${_locale} "--" "--prod" "--progress=false"` [build -- -- --prod --progress=false] npm ERR! Exit status 1 [build -- -- --prod --progress=false] npm ERR! [build -- -- --prod --progress=false] npm ERR! Failed at the ceph-dashboard@0.0.0 build script. [build -- -- --prod --progress=false] npm ERR! This is probably not a problem with npm. There is likely additional logging output above. [build -- -- --prod --progress=false] [build -- -- --prod --progress=false] npm ERR! A complete log of this run can be found in: [build -- -- --prod --progress=false] npm ERR! /root/.npm/_logs/2023-04-01T12_05_03_456Z-debug.log ERROR: "build -- -- --prod --progress=false" exited with 1. make[2]: *** [src/pybind/mgr/dashboard/CMakeFiles/mgr-dashboard-frontend-build.dir/build.make:736: ../src/pybind/mgr/dashboard/frontend/dist] Error 1 make[1]: *** [CMakeFiles/Makefile2:5884: src/pybind/mgr/dashboard/CMakeFiles/mgr-dashboard-frontend-build.dir/all] Error 2 make[1]: *** Waiting for unfinished jobs.... [ 51%] Building CXX object src/test/CMakeFiles/ceph_test_admin_socket_output.dir/admin_socket_output.cc.o [ 51%] Building CXX object src/test/CMakeFiles/ceph_test_admin_socket_output.dir/admin_socket_output_tests.cc.o [ 51%] Linking CXX executable ../../bin/ceph_test_admin_socket_output [ 51%] Built target ceph_test_admin_socket_output make: *** [Makefile:146: all] Error 2 [2] [@]# cat /tmp/build.log | grep '^/home' | awk '{print $2" "$3" "$4" "$5}' | sort | uniq -c | sort -n 3 warning: ‘dummy’ may be 5 In instantiation of ‘void 27 In instantiation of ‘testing::PolymorphicMatcher<Impl>::PolymorphicMatcher(const 27 note: in expansion of 27 required from ‘testing::PolymorphicMatcher<Impl> testing::MakePolymorphicMatcher(const 67 required from ‘static void 79 In constructor ‘rocksdb::FdWithKeyRange::FdWithKeyRange(rocksdb::FileDescriptor, rocksdb::Slice, 82 In instantiation of ‘static 82 note: use non-reference type 82 warning: loop variable ‘e’ 96 required from ‘std::enable_if_t<(traits::supported && 153 In instantiation of ‘constexpr 239 note: because ‘rocksdb::FileDescriptor’ has 239 warning: implicitly-declared ‘constexpr rocksdb::FileDescriptor::FileDescriptor(const 270 required from here
On Sat, Apr 1, 2023 at 9:00 PM Marc <Marc@f1-outsourcing.eu> wrote:
Is it possible to compile Nautilus for el9? Or maybe just the osd's?
I was thinking of updating first to el9/centos9/rocky9 one node at a time, and after that do the ceph upgrade(s). I think this will give me the least intrusive upgrade path.
However that requires the availability of Nautilus el9 rpms. I have been trying to build them via https://github.com/ceph/ceph and via rpmbuild ceph.spec. And without applying to many 'hacks', currently I seem to get around 30%-50%(?) of the code build[1] (albeit with quite some warnings[2]). This leads me to believe that it is most likely possible to build these for el9.
Obviously I prefer to have someone with experience do this. Is it possible someone from the ceph development team can build these rpms for el9? Or are there serious issues that prevent this?
I would say, any such untested hacks of an EOL release are too risky from the sysadmin perspective. My preferred approach would be to migrate to containerized Ceph Nautilus at least temporarily (ceph-ansible can do it), then upgrade the hosts to EL9 while still keeping Nautilus, then, still containerized, upgrade to a more recent Ceph release (but note that you can't upgrade from nautilus to Quincy directly, you need Octopus or Pacific as a middle step), and then optionally undo the containerization (but I have never tried this on Quincy). -- Alexander E. Patrakov
Is it possible to compile Nautilus for el9? Or maybe just the osd's?
I was thinking of updating first to el9/centos9/rocky9 one node at a
time, and after that do the ceph upgrade(s). I think this will give me the least intrusive upgrade path.
However that requires the availability of Nautilus el9 rpms. I have
been trying to build them via https://github.com/ceph/ceph and via rpmbuild ceph.spec. And without applying to many 'hacks', currently I seem to get around 30%-50%(?) of the code build[1] (albeit with quite some warnings[2]). This leads me to believe that it is most likely possible to build these for el9.
Obviously I prefer to have someone with experience do this. Is it
possible someone from the ceph development team can build these rpms for el9? Or are there serious issues that prevent this?
I would say, any such untested hacks of an EOL release are too risky
Yes I agree, that is why I would like to have input of the development team. Currently I am able to build ceph although building rpms from ceph.spec fails (missing binaries) I think this upgrade path could be nice for a lot of clusters still sitting on el7. current hacks are - building from local boost - disabling some things in cmake - downgraded librabbitmq 0.9.0 for el9 I also have the impression that el8 is quite close to el9, otherwise I would have ran into more issues.
from the sysadmin perspective. My preferred approach would be to migrate to containerized Ceph Nautilus at least temporarily
I don't want to migrate to podman, I already have different container system.
(ceph-ansible can do it), then upgrade the hosts to EL9 while still keeping Nautilus, then, still containerized, upgrade to a more recent Ceph release (but note that you can't upgrade from nautilus to Quincy directly, you need Octopus or Pacific as a middle step), and then
I would like to wait a bit with the pacific upgrade, until this performance problem is clear/solved. I can't spent to much time on checking if this influences my workload badly.
I am building with a centos9 stream container currently. I have been adding some rpms that were missing and not in the dependencies. Currently with these cmake options, these binaries are not build. Anyone an idea what this could be. cmake .. -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_INSTALL_LIBDIR=/usr/lib64 -DCMAKE_INSTALL_LIBEXECDIR=/usr/lib -DCMAKE_INSTALL_LOCALSTATEDIR=/var -DCMAKE_INSTALL_SYSCONFDIR=/etc -DCMAKE_INSTALL_MANDIR=/usr/share/man -DCMAKE_INSTALL_DOCDIR=/usr/share/doc/ceph -DCMAKE_INSTALL_INCLUDEDIR=/usr/include -DWITH_MANPAGE=ON -DWITH_PYTHON3=3.9 -DWITH_MGR_DASHBOARD_FRONTEND=OFF -DWITH_PYTHON2=OFF -DMGR_PYTHON_VERSION=3 -DWITH_SELINUX=ON -DWITH_LTTNG=ON -DWITH_BABELTRACE=ON -DWITH_OCF=ON -DWITH_BOOST_CONTEXT=ON -DWITH_LIBRADOSSTRIPER=ON -DWITH_RADOSGW_AMQP_ENDPOINT=ON -DWITH_RADOSGW_KAFKA_ENDPOINT=ON -DWITH_GRAFANA=ON -DWITH_SYSTEM_BOOST=ON -DWITH_TESTS=OFF -DWITH_MGR_DASHBOARD_FRONTEND=OFF -DWITH_SYSTEM_NPM=OFF -DWITH_RADOSGW_KAFKA_ENDPOINT=OFF -DWITH_RADOSGW=ON -DWITH_GRAFANA=OFF -DBOOST_J=6 RPM build errors: File not found: /root/rpmbuild/BUILDROOT/ceph-14.2.22-0.el9.x86_64/usr/bin/ceph-client-debug File not found: /root/rpmbuild/BUILDROOT/ceph-14.2.22-0.el9.x86_64/usr/bin/ceph_bench_log File not found: /root/rpmbuild/BUILDROOT/ceph-14.2.22-0.el9.x86_64/usr/bin/ceph_kvstorebench File not found: /root/rpmbuild/BUILDROOT/ceph-14.2.22-0.el9.x86_64/usr/bin/ceph_multi_stress_watch File not found: /root/rpmbuild/BUILDROOT/ceph-14.2.22-0.el9.x86_64/usr/bin/ceph_erasure_code File not found: /root/rpmbuild/BUILDROOT/ceph-14.2.22-0.el9.x86_64/usr/bin/ceph_erasure_code_benchmark File not found: /root/rpmbuild/BUILDROOT/ceph-14.2.22-0.el9.x86_64/usr/bin/ceph_omapbench File not found: /root/rpmbuild/BUILDROOT/ceph-14.2.22-0.el9.x86_64/usr/bin/ceph_objectstore_bench File not found: /root/rpmbuild/BUILDROOT/ceph-14.2.22-0.el9.x86_64/usr/bin/ceph_perf_objectstore File not found: /root/rpmbuild/BUILDROOT/ceph-14.2.22-0.el9.x86_64/usr/bin/ceph_perf_local File not found: /root/rpmbuild/BUILDROOT/ceph-14.2.22-0.el9.x86_64/usr/bin/ceph_perf_msgr_client File not found: /root/rpmbuild/BUILDROOT/ceph-14.2.22-0.el9.x86_64/usr/bin/ceph_perf_msgr_server File not found: /root/rpmbuild/BUILDROOT/ceph-14.2.22-0.el9.x86_64/usr/bin/ceph_psim File not found: /root/rpmbuild/BUILDROOT/ceph-14.2.22-0.el9.x86_64/usr/bin/ceph_radosacl File not found: /root/rpmbuild/BUILDROOT/ceph-14.2.22-0.el9.x86_64/usr/bin/ceph_rgw_jsonparser File not found: /root/rpmbuild/BUILDROOT/ceph-14.2.22-0.el9.x86_64/usr/bin/ceph_rgw_multiparser File not found: /root/rpmbuild/BUILDROOT/ceph-14.2.22-0.el9.x86_64/usr/bin/ceph_scratchtool File not found: /root/rpmbuild/BUILDROOT/ceph-14.2.22-0.el9.x86_64/usr/bin/ceph_scratchtoolpp File not found: /root/rpmbuild/BUILDROOT/ceph-14.2.22-0.el9.x86_64/usr/bin/ceph_test_* File not found: /root/rpmbuild/BUILDROOT/ceph-14.2.22-0.el9.x86_64/usr/bin/ceph-coverage File not found: /root/rpmbuild/BUILDROOT/ceph-14.2.22-0.el9.x86_64/usr/bin/ceph-debugpack File not found: /root/rpmbuild/BUILDROOT/ceph-14.2.22-0.el9.x86_64/usr/bin/cephdeduptool File not found: /root/rpmbuild/BUILDROOT/ceph-14.2.22-0.el9.x86_64/usr/share/man/man8/ceph-debugpack.8* File not found: /root/rpmbuild/BUILDROOT/ceph-14.2.22-0.el9.x86_64/usr/lib64/ceph/ceph-monstore-update-crush.sh
participants (2)
-
Alexander E. Patrakov
-
Marc