Comments (18)
Got my first successful build of v18.1.1 with the moral equivalent of ceph/ceph#52119 + ceph/ceph#51737, minus lots of intree patches that are no longer relevant
from aur-ceph.
Check failed, but not too worried about that for the moment
from aur-ceph.
Switching to ninja seems to trigger some sort of infinite loop in the build somewhere, continuously reading something. Not sure what is going on, but leaving that alone for now
from aur-ceph.
First stable version has released: https://github.com/ceph/ceph/tree/v18.2.0
from aur-ceph.
Ran into a fmt compile error, seems I need to implement the fmtlib specialization for ceph_le<T>
. Need to investigate this some more, maybe find prior art I can use
from aur-ceph.
ran into a lot of fmt compile errors this weekend. Got to 81% in the build, but more work yet to be done.
from aur-ceph.
first ever successful build of v18.2 just completed. Likely there going to be lots of "fun" tests to fix, but I'm happy to say that a build with -DWITH_RBD_RWL=ON
completed.
from aur-ceph.
The following tests FAILED:
10 - run-tox-mgr-dashboard-lint (Failed)
22 - run-tox-cephadm (Failed)
142 - check-generated.sh (Failed)
161 - unittest_erasure_code_shec_arguments (Failed)
179 - unittest_bluefs (Subprocess aborted)
The last two are the most troubling. The first two seem like entirely failed lints (from the newer pylint), and the 3rd I'm not sure of yet
from aur-ceph.
I have fixes for check-generated.sh
, and "fixed" (re-disabled) the lints in the first two.
However, I think the last two are serious, and caused by some change either in gcc or boost. Need more time to investigate them.
from aur-ceph.
As a side note, if anyone else is interested I've pushed a cleaned up patch for the fmtlib fixes in aa4476a, so you can now build v18.2.0 from the feature/v18.2.0-1
branch yourself.
from aur-ceph.
So, either ceph/ceph@844260f or ceph/ceph@2595143 cause the regression in unittest_erasure_code_shec_arguments
. Unsure which; and maybe its both somehow. Confirmed to be the second, not sure what the issue is, yet
EDIT:
iff --git a/src/test/erasure-code/TestErasureCodeShec_arguments.cc b/src/test/erasure-code/TestErasureCodeShec_arguments.cc
index 075c6383eed..74403eaf6ed 100644
--- a/src/test/erasure-code/TestErasureCodeShec_arguments.cc
+++ b/src/test/erasure-code/TestErasureCodeShec_arguments.cc
@@ -86,12 +86,12 @@ void create_table_shec432() {
continue;
}
if (std::popcount(avails) == 4) {
- auto a = to_array<std::initializer_list<int>>({
+ std::vector<std::initializer_list<int>> a = {
{0,1,2,3}, {0,1,2,4}, {0,1,2,6}, {0,1,3,4}, {0,1,3,6}, {0,1,4,6},
{0,2,3,4}, {0,2,3,5}, {0,2,4,5}, {0,2,4,6}, {0,2,5,6}, {0,3,4,5},
{0,3,4,6}, {0,3,5,6}, {0,4,5,6}, {1,2,3,4}, {1,2,3,5}, {1,2,4,5},
{1,2,4,6}, {1,2,5,6}, {1,3,4,5}, {1,3,4,6}, {1,3,5,6}, {1,4,5,6},
- {2,3,4,5}, {2,4,5,6}, {3,4,5,6}});
+ {2,3,4,5}, {2,4,5,6}, {3,4,5,6}};
if (ranges::any_of(a, std::bind_front(cmp_equal<uint, int>, avails),
getint)) {
vec.push_back(avails);
As it turns out, trying to cast an std::initializer_list
to an array is undefined behavior. std::vector
actually has a constructor for this, so use it instead.
from aur-ceph.
Promising solution in https://tracker.ceph.com/issues/58759 for unittest_bluefs
from aur-ceph.
Right, I'm moving to integration testing (= upgrading from v17 + standing up a new v18 cluster).
from aur-ceph.
Found this issue pyca/cryptography#9016, and it seems to be a problem beyond ceph: somehow python-cryptography (and other modules?) are attempting to initialize the rust bindings (?) multiple times which has been disallowed for soundness (?) reasons.
from aur-ceph.
I don't know if this is even fixable on my end as it doesn't seem to be a ceph specific issue. I'd have to completely isolate the python stack (e.g build + somehow run in a venv)
from aur-ceph.
The NOTIFY_TYPES
messages seem legit... the modules don't define an attr like that in v18.2.0
, mostly. It also doesn't seem to technically be an issue, as the code that checks for this has it's error ignored... so not sure what's up.
from aur-ceph.
Found this issue pyca/cryptography#9016, and it seems to be a problem beyond ceph: somehow python-cryptography (and other modules?) are attempting to initialize the rust bindings (?) multiple times which has been disallowed for soundness (?) reasons.
Following up on this, it seems the PyO3 maintainer has effectively decided to flat out restrict usage of PyO3 modules in embedded / multi interpreter contexts, like exists in the ceph-mgr machinery, per PyO3/pyo3#2346 (comment). This is somewhat irritating and effectively turns any module with PyO3 in its dep tree in a bomb.
from aur-ceph.
So. I'm likely going to lift all of this context into its own issue, and move forward with the v18 release, as I do not see a realistic method for fixing this myself.
I'd need to (either):
- Remove
python-cryptography
from all mgr related python code - Create and maintain an extension to the ceph build for a stable venv, and ensure we use old enough versions of the affected modules to avoid hitting PyO3/pyo3@78ba70d
- Somehow work with the PyO3 maintainer (or python-cryptography) to fix this on their end
1 and 2 ultimately run into the same issue: eventually I will be forced to upgrade to some version of something that depends on >=0.17.0 of PyO3, and 3 seems untenable (PyO3/pyo3#2346 (comment)):
... The extensive redesign seems intractable ...
from aur-ceph.
Related Issues (20)
- Add system config from upstream HOT 3
- Fix mgr devicemetrics sqlite exception HOT 2
- Investigate breaking apart `{librados,rbd,cephfs,rgw}` libs into seperate packages HOT 3
- Missing `depends()` HOT 1
- Investigate logrotate conflicts when using `cephadm` HOT 2
- add `backup(...)` for config files
- v17.2.5-5: python test failures
- Investigate cmake failure for `rdkafka` HOT 4
- Rebuild for python 3.11 HOT 4
- Release v17.2.6 HOT 2
- gcc 13: rockdb no uint64_t defined HOT 2
- RFC: Split packages for Ceph HOT 2
- Rebuild for v17.2.6-3 HOT 3
- Build fails with some boost-python error on Manjaro HOT 3
- ceph-mgr/dashboard: python-cryptography PyO3 modules may only be initialized once per interpreter process HOT 9
- rebuild for v18.2.1 HOT 2
- rebuild for v18.2.2 HOT 3
- ceph 18.2.2-3 HOT 7
- rebuild for 18.2.4 HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from aur-ceph.