summarylogtreecommitdiffstats
AgeCommit message (Collapse)Author
2023-12-31merge: master <--- feature/v18.2.1-1Bazaah
* HEAD | \ | * 41cb754 <github@luxolus.com> pkgbuild: pkgver=18.2.1 pkgrel=1 | * bb264d0 <github@luxolus.com> repo: rm ceph-17.2.6-mgr-dashboard-node-version.patch | / | master Signed-off-by: Bazaah <github@luxolus.com>
2023-12-31pkgbuild: pkgver=18.2.1 pkgrel=1Bazaah
2023-12-31repo: rm ceph-17.2.6-mgr-dashboard-node-version.patchBazaah
No longer needed, the upstream as upped their nodejs version. References: https://github.com/ceph/ceph/pull/52828 Upstream-Ref: https://github.com/ceph/ceph/commit/47f49e5b1ae2e5bf7aad5df23d877ae5df00210c
2023-11-06merge: master <--- feature/v18.2.0-2Bazaah
* HEAD | \ | * 5b3013f <github@luxolus.com> pkgbuild: pkgrel=2 | * 1ea1d50 <github@luxolus.com> pkgbuild: tidy up check() | * 110161f <github@luxolus.com> pkgbuild: switch off verbose build | / | master Signed-off-by: Bazaah <github@luxolus.com>
2023-11-06pkgbuild: pkgrel=2Bazaah
2023-11-06pkgbuild: tidy up check()Bazaah
pkill is not required by checkdepends anymore rendering this loop useless, and I haven't seen orphan processes so far. Can always add it back later if needed.
2023-11-06pkgbuild: switch off verbose buildBazaah
The build is in a good enough spot now that the extra verbosity is unneeded for most operations.
2023-09-09merge: master <--- feature/v18.2.0-1Bazaah
* HEAD | \ | * 321091d <github@luxolus.com> pkgbuild: pkgver=v18.2.0 pkgrel=1 | * fe66554 <github@luxolus.com> justfile: add cexec, ctest, repackage targets | * 343f78c <github@luxolus.com> justfile: improvements to upload to handle new packages | * 3ddb703 <github@luxolus.com> justfile: remove watch, logs | * 9ca7efd <github@luxolus.com> gh-upload-artifact: try pretty print happy path of upload | * 4cc7eb5 <github@luxolus.com> pkgbuild: updates to install files for v18 | * b019b81 <github@luxolus.com> pkgbuild: enable optional rbd components | * 1ce90d2 <github@luxolus.com> pkgbuild: disable proprietary rgw backends | * 76a50ba <github@luxolus.com> pkgbuild: disable tracing / opentelemetry | * 030000e <github@luxolus.com> pkgbuild: reenable system utf8proc | * ffbeef6 <github@luxolus.com> pkgbuild: use backport-log-runway-expansion.patch | * 216795b <github@luxolus.com> repo: add backport-log-runway-expansion.patch | * 9e5e0ad <github@luxolus.com> pkgbuild: use fix-ecode-shec-test.patch | * 2f5f113 <github@luxolus.com> repo: add ceph-18.2.0-fix-ecode-shec-test.patch | * 1f5029b <github@luxolus.com> pkgbuild: use ceph-18.2.0-fmt10-fixes.patch | * 279af4c <github@luxolus.com> repo: add ceph-18.2.0-fmt10-fixes.patch | * c1d084d <github@luxolus.com> repo: update ceph-17.2.4-test-bluefs-split.patch | * 5dd05c5 <github@luxolus.com> repo: rm upstreamed iterator depreciations | * ef24ee7 <github@luxolus.com> pkgbuild: update tox-mypy-false-postive.patch | * 5b923a5 <github@luxolus.com> pkgbuild: rm upstreamed gcc13 patches | * 4095603 <github@luxolus.com> pkgbuild: rm delete-test-librados-asio.patch | * a60c26a <github@luxolus.com> pkgbuild: rm -DFMT_DEPRECATED_OSTREAM | * 1531a6a <github@luxolus.com> pkgbuild: rm ceph-17.2.4.-tox-cephadm-rm.patch | * 187fed6 <github@luxolus.com> repo: revert backport-with-fmt-version.patch | * 4df4495 <github@luxolus.com> pkgbuild: add inetutils,xmlstarlet to checkdepends | * f36dcde <github@luxolus.com> pkgbuild: add makedepend 'thrift' | * da1d129 <github@luxolus.com> pkgbuild: cleanup pkgname, reorganize arch,pkgdesc | * bfd09af <github@luxolus.com> pkgbuild: reorganize makedepends, checkdepends | * f649488 <github@luxolus.com> pkgbuild: package virtual targets | * bf7fef7 <github@luxolus.com> pkgbuild: package misc. ceph tooling / libs | * eb35c47 <github@luxolus.com> pkgbuild: package more client / utils | * 0c50604 <github@luxolus.com> pkgbuild: package ceph cluster components | * f115c61 <github@luxolus.com> pkgbuild: package ceph python libs | * 7f61cf4 <github@luxolus.com> pkgbuild: package core clients | * d2936ef <github@luxolus.com> pkgbuild: package core libs | * 38b0f6b <github@luxolus.com> pkgbuild: add func _make_ceph_packages | * 7666ef7 <github@luxolus.com> pkgbuild: add _package, _print funcs | * a2346ce <github@luxolus.com> pkgbuild: rm old package() functions | / | master Closes: #16 Signed-off-by: Bazaah <github@luxolus.com>
2023-09-09pkgbuild: pkgver=v18.2.0 pkgrel=1Bazaah
2023-09-09justfile: add cexec, ctest, repackage targetsBazaah
- cexec Executes the given arg list inside the chroot > Build the 'osd' CMake target `just cexec make -j$(nproc) -C build osd` - ctest Runs ctest (with the optional args) inside the chroot > Run testsuite `just ctest` > Rerun only failed tests `just ctest --retry-failed` > Run a regex filtered list of tests `just ctest -R some_unittest` - repackage Repackages the project without triggering a rebuild
2023-09-09justfile: improvements to upload to handle new packagesBazaah
Now use an @all alias instead of naming packages directly, and pretty print the uploadees with column -t (from util-linux)
2023-09-09justfile: remove watch, logsBazaah
These never worked correctly anyway
2023-09-09gh-upload-artifact: try pretty print happy path of uploadBazaah
If curl returns success, assume the result is json and pipe through jq. This improves the output substantially as before it printed a compressed no-newline json blob for each artifact uploaded.
2023-09-09pkgbuild: updates to install files for v18Bazaah
Minor updates to the installed files for: - ceph-common - librbd - librgw - ceph-cephadm
2023-09-09pkgbuild: enable optional rbd componentsBazaah
- WITH_RBD_RWL, WITH_RBD_SSD_CACHE Enables the rbd writeback cache, both pmem and ssd variants. - WITH_RBD_MIRROR Enables mirroring rbd images between ceph clusters, similar to rgw multi-zonal replication These changes were prompted by github.com/Enelar in github.com/bazaah/aur-ceph/pull/18/commits/41a3081df83fb7ab9fd9d94f736ded417afb58da References: https://docs.ceph.com/en/reef/rbd/rbd-persistent-write-log-cache References: https://docs.ceph.com/en/reef/rbd/rbd-mirroring/
2023-09-09pkgbuild: disable proprietary rgw backendsBazaah
These are some seagate/intel specific features, seemingly to use ceph rgw as the S3 interface to their products, and/or supporting some intel encrypt/decrypt hardware. These are (currently) disabled by default, but I have added them for future proofing. I think these will never be valid/useful compile options on Archlinux.
2023-09-09pkgbuild: disable tracing / opentelemetryBazaah
My reasoning here is to avoid adding _even more_ dependencies to ceph-libs. I do want to revisit these when/if I break up the mega packages into separate libs
2023-09-09pkgbuild: reenable system utf8procBazaah
Was switched to default disabled, reenabling it here for our builds. Upstream-Ref: https://github.com/ceph/ceph/commit/90662cad562fffbdeac33f3b79eac6a02eff8c2a
2023-09-09pkgbuild: use backport-log-runway-expansion.patchBazaah
2023-09-09repo: add backport-log-runway-expansion.patchBazaah
This fixes failures found in test_concurrent_dir_link_and_compact_log_56210 where the underlying machinery would attempt to write into a too-small ondisk segment. We just backport the entire patch from `main`. Upstream-ref: https://github.com/ceph/ceph/commit/93961385d79a9fef44266181ce6a2c2b805093d4 References: https://github.com/ceph/ceph/blob/main/src/test/objectstore/test_bluefs.cc#L1359 References: https://github.com/ceph/ceph/pull/50216 References: https://tracker.ceph.com/issues/58759
2023-09-09pkgbuild: use fix-ecode-shec-test.patchBazaah
2023-09-09repo: add ceph-18.2.0-fix-ecode-shec-test.patchBazaah
Fixes some undefined behavior in src/test/erasure-code/TestErasureCodeShec_arguments.cc found while when attempting to cast std::initializer_list to std::array. Instead, use std::vector which has a constructor for std::initializer_list<T>. References: https://en.cppreference.com/w/cpp/container/array/to_array
2023-09-09pkgbuild: use ceph-18.2.0-fmt10-fixes.patchBazaah
2023-09-09repo: add ceph-18.2.0-fmt10-fixes.patchBazaah
This is fairly wide ranging series of patches, fixing multiple compile errors owing changes in fmtlib 9 and 10. Care was taken to attempt to not introduce #includes for fmtlib headers in the public headers of the project, largely through defining a sister <header file>_fmt.h header that just contains the necessary fmtlib definitions, along with importing these files into src/... files as needed. This appears to be the convention (at least, in some parts) of the upstream codebase. Briefly outlined, these are issues fixed: 1. Missing fmt::ostream_formatter definitions for types These used to be implicit, but now fmtlib requires that types specifically opt into this behavior. ~ src/common/LogEntry.h: clog_type, LogEntry + src/include/neorados/RADOS_fmt.hpp: neorados::Object + src/include/types_fmt.h: shard_id_t 2. Missing format_to() interface for ceph_le<T> According to the upstream docs, it should be possible to just use the explicit cast to the underlying T for formatting, but for whatever reason, this doesn't work. Therefore, define a templated format_to() for ceph_le<T> casting to the underlying T, explicitly. This is a fmtlib 10 feature -- previously format_to() was reserved for enums. However, this is the simplest method I can see to avoid needing to #include fmtlib headers in this header tree. ~ src/include/byteorder.h: ceph_le<T> 3. Make fmt::formatter.format definitions const Required since fmtlib 8, but seemingly only became an issue in 10. ~ src/osd/osd_types_fmt.h: chunk_info_t, pg_info_t, SnapSet, ScrubMap::object, ScrubMap 4. Explicitly from snapid_t to uint64_t for fmt::sprintf calls As the fmt::formatter.parse implementation for snapid_t does not handle the formatting qualifier used (or any at all). I think previously this implicitly was casted to uint64_t anyway, so we're just making the behavior explicit. ~ src/osd/SnapMapper.cc: snapid_t 5. Adding a fmt::formatter implementation for EntityName Appears to have another casualty in the "no longer try implicit casts" behavior change of fmtlib 10 ~ src/common/LogEntry.h: EntityName In addition to the above, we defer LogEntry's formatter to the ostream implementation rather than duplicating the same output, separately in the fmt::formatter.format definition. References: https://github.com/fmtlib/fmt/releases/tag/10.0.0 References: https://github.com/fmtlib/fmt/releases/tag/8.0.0
2023-09-09repo: update ceph-17.2.4-test-bluefs-split.patchBazaah
mostly fixes to line offsets, but there was one real if small change to a variable init.
2023-09-09repo: rm upstreamed iterator depreciationsBazaah
This commit removes the patches to three files from ceph-17.2.5-fix-iterator-depreciations: - src/include/xlist.h - src/include/rados/librados.hpp - src/crimson/os/seastore/omap_manager/btree/string_kv_node_layout.h As the upstream has fixed them. However, the patches to the following have not yet been applied upstream, and thus remain: - src/include/rangeset.h - src/msg/async/dpdk/circular_buffer.h Upstream-Ref: https://github.com/ceph/ceph/commit/77a3ed56a7b7326814ea5d37214bec1d88ec334e Upstream-Ref: https://github.com/ceph/ceph/commit/691119c389e119a03aea606b7c4093d46c6db43d Upstream-Ref: https://github.com/ceph/ceph/commit/905969611d256b6613bd86347bd51ddeb0603b79 Upstream-Ref: https://github.com/ceph/ceph/commit/c662ee698c6366e1b53856eb1a2c903c301a426f
2023-09-09pkgbuild: update tox-mypy-false-postive.patchBazaah
same patch as before, but context needs updating to apply correctly
2023-09-09pkgbuild: rm upstreamed gcc13 patchesBazaah
The changes within are now included in the upstream, and are no longer needed Upstream-ref: https://github.com/ceph/ceph/pull/50438
2023-09-09pkgbuild: rm delete-test-librados-asio.patchBazaah
No longer applies to the upstream
2023-09-09pkgbuild: rm -DFMT_DEPRECATED_OSTREAMBazaah
There seems to just be a large amount of effort across the entire project for this one. Not surprising, given my investigations but it does make it difficult to provide a singular upstream reference for this change. Instead I'll just link directly to all the commits involved since v17.2.0... - ceph/ceph@d8d93b0fe3b crimson/osd: correct the fmt::formatter<WatchTimeoutRequest> - ceph/ceph@71b9344f299 crimson/os: specialize fmt::formatter<> for StagedIterator - ceph/ceph@32e207da3f3 crimson/os: include fmt/os.h for printing std::error_code - ceph/ceph@85830863fa4 crimson: specialize fmt::formatter<> for formatting using {fmt} - ceph/ceph@76e4c5d83c2 test/librados/aio_cxx: use fmt formatting - ceph/ceph@2e7aea7b0fd crimson/os: print pointer using fmt::ptr() - ceph/ceph@c9569f8eb02 crimson: specialize fmt::formatter<> - ceph/ceph@01f6bef6e52 *: specialize fmt::formatter<> for formatting using {fmt} - ceph/ceph@3f67d67ede1 crimson: specialize fmt::formatter<> to print using {fmt} - ceph/ceph@42dc970392e crimson/net: print shared_ptr using fmt::ptr() - ceph/ceph@fe1e6b6c4eb neorados: compile with fmt v9 - ceph/ceph@b2c61113ffb crimson/net: define fmt::formatter for write_state_t - ceph/ceph@1f1398bc515 mon: Fix snprintf truncation warning by switching to fmtlib - ceph/ceph@93dfb7e88b9 common: improving fmtlib handling of ceph::utime_t - ceph/ceph@3d7a895d197 include/object_fmt: mark fmt::formatter<>::format() const - ceph/ceph@2901943618f common/LogEntry: specialize fmt::formatter<LogEntry> - ceph/ceph@6e223a68021 common/Journald: include msg/msg_fmt.h - ceph/ceph@c0a3d460297 mon: use fmt::format for stderr cluster logging - ceph/ceph@cef04bc4ed0 common: use fmt::format for stderr logging - ceph/ceph@31aa539f266 osd: use fmt/ranges.h for printing ranges - ceph/ceph@b7b7ff4cce3 include/types_fmt: use fmt::join() to format containers - ceph/ceph@b287fadde3e fmt: pickup v8.1.1 - ceph/ceph@3c46dd64bbc cmake: bump up required fmt version - ceph/ceph@01f9dc84826 msg/msg_type: use fmt::format to print entity_addr - ceph/ceph@ac114ad172b crimson/os: use fmt::format() instead of sstream - ceph/ceph@bb9d099ede8 crimson: specialize fmt::formatter<>() for crimson types - ceph/ceph@3fd91d7e6d9 crimson/os/seastore: drop compile-time fmt validation
2023-09-09pkgbuild: rm ceph-17.2.4.-tox-cephadm-rm.patchBazaah
Underlying issue found in f5af709 has been fixed upstream, re-enabling test. Upstream-Ref: https://github.com/ceph/ceph/commit/b5218528d63ae87ca77229bce1635c62411959e8
2023-09-09repo: revert backport-with-fmt-version.patchBazaah
This was a temporary fix for a v17 rebuild. The upstream has fixed many, many fmt issues in the new release. Reverts: 7dfdbe1 Reverts: 34d11c3
2023-09-09pkgbuild: add inetutils,xmlstarlet to checkdependsBazaah
As the check_generated.sh test now depends on xmlstarlet, and `hostname` is used a bunch.
2023-09-09pkgbuild: add makedepend 'thrift'Bazaah
required by the upstream now
2023-09-09pkgbuild: cleanup pkgname, reorganize arch,pkgdescBazaah
Mostly updating the pkgname array to reflect the refactoring done on packaging, and a slight change in field ordering to move pkgdesc higher in the file
2023-09-09pkgbuild: reorganize makedepends, checkdependsBazaah
Improve formatting, and breakup into groups (system and python, currently), so as to escape the giant word soup that currently exists.
2023-09-09pkgbuild: package virtual targetsBazaah
These are virtual (dependency only) packages that serve a couple purposes: 1. Backwards compatibility with the existing Archlinux ceph packages. That is: - ceph-libs: all non-binary packages - ceph-mgr: (same as before / not virtual) - ceph: all binary packages 2. Stable targets for certain functionality, namely cluster components and the `ceph` CLI utility which is used for most interactions with a cluster. - ceph-libs - ceph-cluster - ceph-cli - ceph
2023-09-09pkgbuild: package misc. ceph tooling / libsBazaah
These are mostly used by the upstream development team for interacting with various internals of the cluster and live tests. However, the impetus for this entire patchset also lurks: java-cephfs. A package that requires we pull in the entire java runtime, likely for a package absolutely no one uses. Good riddance. - ceph-tools - ceph-test - java-cephfs
2023-09-09pkgbuild: package more client / utilsBazaah
These are a couple useful utilities for interfacing with ceph, of which ceph-volume is likely the most important, as is it responsible for provisioning devices for use as OSDs. cephadm is an honorable mention, being a 9k line python file used in managing clusters... if you like the idea of having 9k lines of python sitting between you and your entire storage backplane. (I do not) - ceph-volume - cephfs-shell - cephfs-top - ceph-cephadm
2023-09-07pkgbuild: package ceph cluster componentsBazaah
These comprise the daemons and associated tooling that form the cluster or "backend" of a ceph deployment. Notably, they have a dependencies on both the core libs, python libs _and_ librgw (a client), as despite being a backend or server component; ceph-rgw is _actually_ a client of ceph (and librgw specifically), that just so happens to run as a daemon -- providing object storage. - ceph-base - ceph-mon - ceph-mgr - ceph-osd - ceph-mds - ceph-rgw
2023-09-07pkgbuild: package ceph python libsBazaah
These are python bindings to the underlying C/C++ libs, and are used for most of the ancillary CLI tooling ceph provides, including as support tooling for cluster components. - python-ceph-common - python-rados - python-rbd - python-cephfs - python-rgw
2023-09-07pkgbuild: package core clientsBazaah
These form the core clients for ceph; rbd (block), cephfs (filesystem), rgw (object). - librbd - ceph-rbd - libcephfs - ceph-cephfs - librgw
2023-09-07pkgbuild: package core libsBazaah
These are the core / common libraries that almost everything else will depend on at some level. libcephsqlite is an outlier, but is also depended on by other ceph components despite _technically_ being a RADOS client, hence its inclusion. - ceph-compressor - ceph-crypto - ceph-erasure - ceph-common - librados - ceph-rados - libcephsqlite
2023-09-07pkgbuild: add func _make_ceph_packagesBazaah
The true workhorse for packaging ceph, this function is responsible for calling make install, and _ensuring all files accounted for_ -- moved or deleted -- before yielding. It will contain a series of `_package` invocations, one per package, with each actual package function being a thin wrapper around: 'mv __pkg__/$pkgname/* "$pkgdir"'
2023-09-07pkgbuild: add _package, _print funcsBazaah
These are the beginning of a refactoring of how we handle the package_* functions. Currently, we run `make install` once per packaging function and attempt to delete the bits that aren't related to the package currently running. This has several downsides, including conflicting file owners, missed addition(al file)s in later versions and speed. These new functions will serve as the engine for enumerating the precise file dependencies for each package, and provide a pretty output during the packaging process of this list.
2023-09-07pkgbuild: rm old package() functionsBazaah
2023-09-06merge: master <--- feature/v17.2.6-4Bazaah
* HEAD | \ | * 2821569 <github@luxolus.com> pkgbuild: pkgrel=4 | / | master Signed-off-by: Bazaah <github@luxolus.com>
2023-09-06pkgbuild: pkgrel=4Bazaah
Rebuild for boost, thrift and some python stuff
2023-07-30merge: master <--- feature/v17.2.6-3Bazaah
* HEAD | \ | * 7692995 <github@luxolus.com> pkgbuild: pkgrel=3 | * 5c53c4e <github@luxolus.com> pkgbuild: use ceph-17.2.6-cython-fixes.patch | * 34d11c3 <github@luxolus.com> pkgbuild: use backport-with-fmt-version.patch | * 22f7a39 <github@luxolus.com> repo: add ceph-17.2.6-cython-fixes.patch | * 7dfdbe1 <github@luxolus.com> repo: add backport-with-fmt-version.patch | / | master Signed-off-by: Bazaah <github@luxolus.com>
2023-07-30pkgbuild: pkgrel=3Bazaah