#1149600 manila: FTBFS against python 3.15rc2 (Invalid value for hrules. Must be HRuleStyle) #1149600
- Package:
- src:manila
- Source:
- src:manila
- Submitter:
- Margarita Manterola
- Date:
- 2026-10-06 16:21:04 UTC
- Severity:
- normal
- Tags:
Hi! While rebuilding the python related packages against the Python 3.15rc2 version we found that manila fails to build from source: https://debusine.debian.net/debian/r-python-python3.15/artifact/4924338/ From the log, the error seems to be: ====================================================================== FAIL: manila.tests.cmd.test_status.TestUpgradeChecks.test_upgrade_checks_policy_json_check_succeeds manila.tests.cmd.test_status.TestUpgradeChecks.test_upgrade_checks_policy_json_check_succeeds ---------------------------------------------------------------------- testtools.testresult.real._StringException: Traceback (most recent call last): File "/usr/lib/python3/dist-packages/prettytable/prettytable.py", line 741, in _validate_hrules assert val in list(HRuleStyle) ^^^^^^^^^^^^^^^^^^^^^^^ AssertionError During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/build/reproducible-path/manila-23.0.0/manila/tests/cmd/test_status.py", line 41, in test_upgrade_checks_policy_json_check_succeeds result = self.cmd.check() File "/usr/lib/python3/dist-packages/oslo_upgradecheck/upgradecheck.py", line 177, in check t = prettytable.PrettyTable( [str(self.display_title)], hrules=prettytable.ALL ) File "/usr/lib/python3/dist-packages/prettytable/prettytable.py", line 400, in __init__ self._validate_option(option, kwargs[option]) ~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3/dist-packages/prettytable/prettytable.py", line 586, in _validate_option self._validate_hrules(option, val) ~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^ File "/usr/lib/python3/dist-packages/prettytable/prettytable.py", line 744, in _validate_hrules raise ValueError(msg) ValueError: Invalid value for hrules. Must be HRuleStyle. ---------------------------------------------------------------------- Ran 12413 tests in 74.564s FAILED (failures=1, skipped=19) Please note that while we ran into this error during the rebuild against Python 3.15, that doesn't mean that the root cause for the failure is necessarily the new Python version. Setting the severity to important for now. Once Python 3.15 is released and later added to python3-defaults, this bug will become release critical.
Hello, Bug #1149600 in python-oslo.upgradecheck reported by you has been fixed in the Git repository and is awaiting an upload. You can see the commit message below and you can check the diff of the fix at: https://salsa.debian.org/openstack-team/oslo/python-oslo.upgradecheck/-/commit/e65f0578795c361ac2ffbacd8e3778204af7930b ------------------------------------------------------------------------ Fix Python 3.15 lazy_import prettytable.ALL breakage Under Python 3.15, lazy imports turn the deprecated prettytable.ALL constant into a lazy_import proxy object instead of the plain int 1, which then fails prettytable's hrules validation, breaking upgrade checks of reverse build-deps like manila (Closes: #1149600): - use-prettytable-HRuleStyle-ALL.patch ------------------------------------------------------------------------ (this message was generated automatically) -- Greetings https://bugs.debian.org/1149600
We believe that the bug you reported is fixed in the latest version of
python-oslo.upgradecheck, which is due to be installed in the Debian FTP archive.
A summary of the changes between this version and the previous one is
attached.
Thank you for reporting the bug, which will now be closed. If you
have further comments please address them to 1149600@bugs.debian.org,
and the maintainer will reopen the bug report if appropriate.
Debian distribution maintenance software
pp.
Thomas Goirand <zigo@debian.org> (supplier of updated python-oslo.upgradecheck package)
(This message was generated automatically at their request; if you
believe that there is a problem with it please contact the archive
administrators by mailing ftpmaster@ftp-master.debian.org)
Format: 1.8
Date: Tue, 06 Oct 2026 17:35:15 +0200
Source: python-oslo.upgradecheck
Architecture: source
Version: 2.8.0-3
Distribution: unstable
Urgency: medium
Maintainer: Debian OpenStack <team+openstack@tracker.debian.org>
Changed-By: Thomas Goirand <zigo@debian.org>
Closes: 1149600
Changes:
python-oslo.upgradecheck (2.8.0-3) unstable; urgency=medium
.
* Fixed FTBFS of reverse build-deps (manila) against Python 3.15: use
prettytable.HRuleStyle.ALL instead of the deprecated prettytable.ALL
constant, which resolves to a lazy_import proxy object under Python
3.15 and fails prettytable's hrules validation (Closes: #1149600).
Thanks Margarita Manterola for the bug report:
- use-prettytable-HRuleStyle-ALL.patch
Checksums-Sha1:
8adb82fdaf7a741ae632b1f9eb512879a6dd5678 2550 python-oslo.upgradecheck_2.8.0-3.dsc
47c485a0795ddda382d35dcf405dd3bffd20eb5f 4216 python-oslo.upgradecheck_2.8.0-3.debian.tar.xz
6217c196f30720ccc3bad28f07d19bca3131adec 11670 python-oslo.upgradecheck_2.8.0-3_amd64.buildinfo
Checksums-Sha256:
b846fd3c74011a407419229af52cc219e6666857346e24645e579372085358e5 2550 python-oslo.upgradecheck_2.8.0-3.dsc
7f0ab104a9b069a4eaacc1138324efd8b5a6c2e58f3887eae1fc9ef699a0ccba 4216 python-oslo.upgradecheck_2.8.0-3.debian.tar.xz
94c8ad85b9d93f12d6b6e3ed10c3b86cb35f2429fe9c169a382c416bd4861907 11670 python-oslo.upgradecheck_2.8.0-3_amd64.buildinfo
Files:
c29109246a8cf38a982a6563ab06801d 2550 python optional python-oslo.upgradecheck_2.8.0-3.dsc
059958dde38eba31c621fabcf672ccb3 4216 python optional python-oslo.upgradecheck_2.8.0-3.debian.tar.xz
cd95cf2d2ca2889c116cbba0176450f8 11670 python optional python-oslo.upgradecheck_2.8.0-3_amd64.buildinfo
-----BEGIN PGP SIGNATURE-----
iQIzBAEBCgAdFiEEoLGp81CJVhMOekJc1BatFaxrQ/4FAmrFG14ACgkQ1BatFaxr
Q/5hlRAAi7Z/L7FYDlLVwrYmTIV81ZCd1zhiQ53DA1ToGwO7MQicL93uhcQ6Q1C5
4IEKo7OqUqSdGbD9wkUstTGcbU1g8+4AihXo3Y2GlIbPEGd9Nm+2o5/4Vbw1zW9+
F3foRSphE1U/mPHnd4SoB6EXHFPaOXVmtbFzHfVnS9HWMEV8uLRjhpEH+fLI8kt9
CreD2xFOzyWRDHW1wiXABsh95UjlB92rhsxc5blnxlDeN7IYYctr0RMZosJHAIf5
JrKfCHzHxVAmuzMlxT3a7rfDJaWqgIlLsn9Or77BoGesLRKJ7hDTH9qNHLgKpqHU
Xv9+MfNvZKB50wbQsjzlzz1wcxXGnnyR1Vq6j5YoyQqOZRmBC9Ny5ZnD+FYF6S5A
1vDqMIIGoOot+85xI21My/JCwX46o/bmfk4z7V6+ynl8C//KkD1VkhLN/zHRsjnL
SVpmmPzZTOfrF8GbI1N2pUhVhYwgVQdet5JzsZre6ImylmfjxRS+JYSxdcFl74lx
KcNdvWVeAudMXCTVqM3hHDS1QiTqSfUerbJZiMO7NCP8o6UK30lS/EN9ZZ7VOYoj
akeMRo4/JgiQ50/7VeAdG3KOYLAeS17ggk0NIy7tSPBfuPP3QlbFCubKjLt5j61D
BVSargp5VEBES7rAZ67lOhs5mEWogkBe7giVvF69Yt8z4ulLysg=
=u9l+
-----END PGP SIGNATURE-----