Age | Commit message (Collapse) | Author |
|
|
|
|
|
|
|
|
|
|
|
Basically, we add the initialization for the mgr's test suite to a
location that *all* mgr module test suites include in their PYTHONPATH
I'm not sure why this worked before, when it stopped exactly, and what
changed to make it stop. Yay python.
This shouldn't be copied into the CMAKE_INSTALL_DIR, but we should
double check the built packages to be 100% sure.
|
|
This doesn't work. Or rather it does, but badly and for reasons I didn't
understand.
To set the stage.
1. All mgr modules in src/pybind/mgr/*/module.py import a 'mgr_module'
2. This module is located at src/pybind/mgr_module.py
3. It imports a module, 'ceph_module' that **does not exist.**
I didn't understand how this could work, as the file even remotely
similiar is src/pybind/mgr/ceph_module.pyi -- note the 'i'. This is what
is called a "python interface file" and basically isn't something the
python runtime is aware of. It's only use is by static code checkers
like mypy (and presumably the IDEs of people that work in this code).
I, naively assumed that somehow previous python versions had mistaken
this file for a real module hence the previous patch, where I just
define the various symbols referenced from other modules.
This isn't the case. Instead, the C++ mgr daemon _at runtime_ injects
what is effectively a bridge module into the C++ defined ceph data
structures.
This, obviously doesn't work during testing, but the upstream does have
some interesting machinery in src/pybind/mgr/tests/__init__.py, though I
don't understand how it would propagate to other test suites, and very
clearly it hasn't worked for at least since 18.2.0 for our builds.
A future commit will properly fix this issue
|
|
We use --file-links to hint to python that it should consider more
locations for package lookups.
Could be useful if python-xmlsec ever rears its ugly head again
|
|
A whole bunch of random lints and "x is best practice" messages have
started generating a bunch of unwanted line noise in the test suite, so
we disable them all
|
|
Fix a whole host of fun python issues:
- Use '<mock>.assert_called_with()' over 'assert <mock>.called_with()'
- Comment out failing TODO'd test for cephadm haproxy
- Use pyfakefs >=5.2 to fix a whole host of import errors
- Use packaging.version over pkg_resources.packaging.version
- Fix a stupid assert of a urlparse error message (exception messages
aren't stable, lads)
- Use assertRegex over assertRegexpMatches with unittest mocks
Also note that the test suite *still* fails even after these, as
seemingly the dashboard is completely broken by some PyO3 package, but
at least nothing there is expected to work
|
|
this is basically just a performance issue that is triggering on our
build server.
Should be reverted once the upstream decides how to fix it.
Quoting myself:
> looks like just a perf regression the upstream hasn't decided how
> to fix yet: ceph/ceph#56448, ceph/ceph#55249, ceph/ceph#55696
References: https://github.com/bazaah/aur-ceph/issues/23
|
|
Wrap a few instances of std::shared_ptr that should be protected by
std::atomic as of C++20
References: https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2023/p2869r0.pdf
|
|
Backports a few fixes for GCC 14 that some of the upstream's distro
builds have encountered.
This takes from the SUSE's leap stream, though we had to cut out parts,
so it isn't a "real" backport.
References: https://github.com/SUSE/ceph/pull/516
|
|
Unclear why at least the former hasn't been included in a .3 release,
yet as it actually prevents the command from executing.
Regardless, we do it here.
Upstream-Ref: https://github.com/ceph/ceph/commit/9ee47b03286ce5a8de167abbd592db7b5aedc4fc
Upstream-Ref: https://github.com/ceph/ceph/commit/0358bd5ea27a7a6487f71cfb15b6bab536d04f74
|
|
* HEAD
| \
| * c8a69c3 <github@luxolus.com> pkgbuild: pkgrel=2
| * a6b3328 <github@luxolus.com> pkgbuild: use mgr-alias-ceph-bcrypt.patch
| * 8f49d39 <github@luxolus.com> repo: add mgr-alias-ceph-bcrypt.patch
| /
| master
Signed-off-by: Bazaah <github@luxolus.com>
|
|
|
|
|
|
So that the mgr _actually_ uses our internal bcrypt fork.
|
|
* HEAD
| \
| * c719c85 <github@luxolus.com> pkgbuild: pkgver=18.2.2 pkgrel=1
| * 3d35081 <github@luxolus.com> pkgbuild: add ceph_bcrypt to python-ceph-common
| * 8b874b8 <github@luxolus.com> pkgbuild: add python-bcrypt sources,patches
| * 8576de3 <github@luxolus.com> repo: add python-bcrypt patches
| * 246af22 <github@luxolus.com> pkgbuild: restrict prepare() patch machinery to ceph-*
| * fcde70e <github@luxolus.com> pkgbuild: mv {,ceph-}disable-empty-readable.sh-test
| * abc0a56 <github@luxolus.com> pkgbuild: use mgr-ceph-module-stub.patch
| * a75f61e <github@luxolus.com> repo: add ceph-18.2.2-mgr-ceph-module-stub.patch
| * 93719e4 <github@luxolus.com> pkgbuild: use mgr-dashboard fix backport
| * 836304d <github@luxolus.com> repo: backport mgr/dashboard fix for python-cryptography issues
| * bfe55db <github@luxolus.com> pkgbuild: rm checkdepends->python-mock
| /
| master
Signed-off-by: Bazaah <github@luxolus.com>
|
|
|
|
|
|
For our internal ceph fork of python-bcrypt
|
|
- python-bcrypt-allow-subinterpreters.patch
- python-bcrypt-prefix-ceph.patch
Together, these allow us to build a renamed python-bcrypt package, as
ceph_bcrypt.
This will allow us to bypass the thorny pyo3 issues we have with various
mgr modules exploding at runtime.
References: https://github.com/bazaah/aur-ceph/issues/20
|
|
So that we can introduce non ceph patches in future commits
|
|
|
|
|
|
This mocks out a module for mgr_module.py to 'import' during mypy
type analysis. Previously the ceph_module.pyi was enough for this to
work, but I guess something in the tooling changed.
I cannot figure out why this ever worked before, and why it doesn't
now.
Maybe related to https://github.com/python/mypy/issues/16987 ?
|
|
and remove the now unneeded py deps:
- python-pyjwt
- python-cryptography
|
|
Removes the (limited) runtime usages of python-jwt, and therefore,
python-cryptography from the mgr dashboard module.
This should restore dashboard functionality, if used alongside a
patched pyo3 for python-bcrypt.
Upstream-Ref: https://github.com/ceph/ceph/commit/33d8befcabe3e60d9ccf6e4fdc2598c4db22934b
References: https://github.com/ceph/ceph/pull/55689
References: https://tracker.ceph.com/issues/63529
References: https://github.com/bazaah/aur-ceph/issues/20
References: https://git.st8l.com/luxolus/pyo3/commit/44d6919168621b46e4e884130ca43338655b020c
|
|
Dropped to AUR and I believe unneeded?
|
|
* HEAD
| \
| * 713b181 <github@luxolus.com> pkgbuild: pkgver=18.2.1 pkgrel=2
| /
| master
Signed-off-by: Bazaah <github@luxolus.com>
|
|
|
|
* 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>
|
|
|
|
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
|
|
* 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>
|
|
|
|
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.
|
|
The build is in a good enough spot now that the extra verbosity is
unneeded for most operations.
|
|
* 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>
|
|
|
|
- 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
|
|
Now use an @all alias instead of naming packages directly, and pretty
print the uploadees with column -t (from util-linux)
|
|
These never worked correctly anyway
|
|
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.
|
|
Minor updates to the installed files for:
- ceph-common
- librbd
- librgw
- ceph-cephadm
|
|
- 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/
|
|
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.
|
|
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
|
|
Was switched to default disabled, reenabling it here for our builds.
Upstream-Ref: https://github.com/ceph/ceph/commit/90662cad562fffbdeac33f3b79eac6a02eff8c2a
|