Package: ceph-mgr Version: 18.2.7+ds-1+deb13u2 Severity: normal Hello Debian Ceph Maintainers,
I would like to report several Python manager-module compatibility issues encountered while operating Ceph Reef 18.2.7 on Debian 13 (Trixie). My environment is a manually deployed, three-node OpenStack cloud using Ceph as the RBD backend for Cinder and Glance. Environment: Debian GNU/Linux 13 (Trixie) Ceph Reef 18.2.7 Installed ceph-mgr package: 18.2.7+ds-1+deb13u2 Package source: OpenStack Backports (OSBPO), trixie-gazpacho-backports-nochange Three MONs, six OSDs, 97 placement groups Ceph manager running on the controller node I have encountered three issues involving the Ceph Python manager environment. 1. Missing NOTIFY_TYPES attribute causing manager-module crashes Following the upgrade from 18.2.7+ds-1+deb13u1 to 18.2.7+ds-1+deb13u2, restarting ceph-mgr caused widespread Python module initialization failures. Errors included: AttributeError: type object 'Module' has no attribute 'NOTIFY_TYPES' AttributeError: type object 'OSDSupport' has no attribute 'NOTIFY_TYPES' The manager recorded 23 module crashes involving modules such as crash, devicehealth, progress and rbd_support. I resolved these initialization failures by adding the following class attribute to MgrModule in: /usr/share/ceph/mgr/mgr_module.py NOTIFY_TYPES = [] After compiling the modified Python file to check its syntax and restarting ceph-mgr, the affected modules loaded successfully. This is a modification to a package-owned source file and will likely be overwritten by subsequent package upgrades. 2. Earlier bcrypt-related Python compatibility issue During an earlier troubleshooting session, the Ceph manager experienced Python module initialization failures involving bcrypt. A local workaround involved modifying the manager’s Python source files, including mgr_util.py and mgr_module.py, to defer bcrypt imports rather than importing the module globally. The workaround allowed the manager to start successfully. After the latest package upgrade, mgr_util.py matches the packaged version, and the earlier bcrypt modification does not appear to be necessary in the current build. I mention this because it may be relevant to the broader compatibility of Ceph Reef manager modules with Debian Trixie’s Python environment. 3. Remaining restful module / PyO3 cryptography failure After restoring NOTIFY_TYPES, the manager subsequently recorded a crash involving the restful module. The journal contained an ImportError referencing: cryptography.hazmat.bindings._rust and a PyO3 interpreter-initialization compatibility error. The failure appears related to initialization of a Rust-backed Python extension within the manager’s Python module environment. The restful module is disabled in my deployment, so I have not attempted a further source-code workaround. This issue remains unresolved, although it does not currently prevent my OpenStack storage backend from functioning. Current operational status Following the NOTIFY_TYPES workaround: All three monitors are in quorum. All six OSDs are up and in. All 97 placement groups are active+clean. Ceph RBD storage remains operational. The crash collector is successfully submitting reports. The restful module compatibility issue remains. I would appreciate guidance on whether these problems are known Ceph Reef compatibility issues with Debian Trixie’s Python dependencies, or whether they are specific to Debian/OSBPO packaging. In particular, I would like to know whether the missing NOTIFY_TYPES attribute can be corrected in a future package revision so that local modifications to mgr_module.py are unnecessary. I can provide additional journal excerpts, Ceph crash reports, package information and the relevant source-code changes if helpful. Thank you for maintaining Ceph on Debian. Best regards, An OpenStack / Ceph homelab administrator Sent from my iPad

