Your message dated Fri, 26 Dec 2025 12:04:58 +0000
with message-id <[email protected]>
and subject line Bug#1123447: fixed in python-heatclient 4.3.0-3
has caused the Debian Bug report #1123447,
regarding python-heatclient: FTBFS: AttributeError: 'NoneType' object has no
attribute 'read'
to be marked as done.
This means that you claim that the problem has been dealt with.
If this is not the case it is now your responsibility to reopen the
Bug report if necessary, and/or fix the problem forthwith.
(NB: If you are a system administrator and have no idea what this
message is talking about, this may indicate a serious mail system
misconfiguration somewhere. Please contact [email protected]
immediately.)
--
1123447: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1123447
Debian Bug Tracking System
Contact [email protected] with problems
--- Begin Message ---
Package: src:python-heatclient
Version: 4.3.0-2
Severity: serious
Tags: ftbfs forky sid
Dear maintainer:
During a rebuild of all packages in unstable, this package failed to build.
Below you will find the last part of the build log (probably the most
relevant part, but not necessarily). If required, the full build log
is available here:
https://people.debian.org/~sanvila/build-logs/202512/
About the archive rebuild: The build was made on virtual machines from AWS,
using sbuild and a reduced chroot with only build-essential packages.
If you cannot reproduce the bug please contact me privately, as I
am willing to provide ssh access to a virtual machine where the bug is
fully reproducible.
If this is really a bug in one of the build-depends, please use
reassign and add an affects on src:python-heatclient, so that this is still
visible in the BTS web page for this package.
Thanks.
--------------------------------------------------------------------------------
[...]
debian/rules clean
make: pyversions: No such file or directory
py3versions: no X-Python3-Version in control file, using supported versions
dh clean --with python3
debian/rules override_dh_auto_clean
make[1]: Entering directory '/<<PKGBUILDDIR>>'
make[1]: pyversions: No such file or directory
py3versions: no X-Python3-Version in control file, using supported versions
rm -rf build .stestr *.egg-info
find . -iname '*.pyc' -delete
for i in $(find . -type d -iname __pycache__) ; do rm -rf $i ; done
make[1]: Leaving directory '/<<PKGBUILDDIR>>'
dh_clean
debian/rules binary
make: pyversions: No such file or directory
[... snipped ...]
'resource_registry': {'OS::Thingy1': 'file:/home/b/a.yaml',
'OS::Thingy2': 'file:/home/b/b.yaml'}}
======================================================================
FAIL:
heatclient.tests.unit.test_template_utils.ShellEnvironmentTest.test_process_multiple_environments_and_files_tracker
heatclient.tests.unit.test_template_utils.ShellEnvironmentTest.test_process_multiple_environments_and_files_tracker
----------------------------------------------------------------------
testtools.testresult.real._StringException: Traceback (most recent call last):
File "/usr/lib/python3.14/unittest/mock.py", line 1432, in patched
return func(*newargs, **newkeywargs)
File "/<<PKGBUILDDIR>>/heatclient/tests/unit/test_template_utils.py", line
406, in test_process_multiple_environments_and_files_tracker
self.assertEqual(expected_env, env)
~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3/dist-packages/testtools/testcase.py", line 419, in
assertEqual
self.assertThat(observed, matcher, message)
~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3/dist-packages/testtools/testcase.py", line 509, in
assertThat
raise mismatch_error
testtools.matchers._impl.MismatchError: !=:
reference = {'parameters': {'param1': 'value1'},
'resource_registry': {'OS::Thingy1': 'file:///home/b/a.yaml'}}
actual = {'parameters': {'param1': 'value1'},
'resource_registry': {'OS::Thingy1': 'file:/home/b/a.yaml'}}
======================================================================
FAIL:
heatclient.tests.unit.test_template_utils.ShellEnvironmentTest.test_process_multiple_environments_default_resources
heatclient.tests.unit.test_template_utils.ShellEnvironmentTest.test_process_multiple_environments_default_resources
----------------------------------------------------------------------
testtools.testresult.real._StringException: Traceback (most recent call last):
File "/usr/lib/python3.14/unittest/mock.py", line 1432, in patched
return func(*newargs, **newkeywargs)
File "/<<PKGBUILDDIR>>/heatclient/tests/unit/test_template_utils.py", line
305, in test_process_multiple_environments_default_resources
self.assertEqual(
~~~~~~~~~~~~~~~~^
{
^
...<12 lines>...
},
^^
env)
^^^^
File "/usr/lib/python3/dist-packages/testtools/testcase.py", line 419, in
assertEqual
self.assertThat(observed, matcher, message)
~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3/dist-packages/testtools/testcase.py", line 509, in
assertThat
raise mismatch_error
testtools.matchers._impl.MismatchError: !=:
reference = {'resource_registry': {'resources': {'resource1': {'OS::Thingy1':
'file:///home/b/a.yaml',
'OS::Thingy3':
'file:///home/b/a.yaml'},
'resource2': {'OS::Thingy2':
'file:///home/b/b.yaml',
'OS::Thingy4':
'file:///home/b/b.yaml'}}}}
actual = {'resource_registry': {'resources': {'resource1': {'OS::Thingy1':
'file:/home/b/a.yaml',
'OS::Thingy3':
'file:/home/b/a.yaml'},
'resource2': {'OS::Thingy2':
'file:/home/b/b.yaml',
'OS::Thingy4':
'file:/home/b/b.yaml'}}}}
======================================================================
FAIL:
heatclient.tests.unit.test_template_utils.ShellEnvironmentTest.test_process_multiple_environments_empty_registry
heatclient.tests.unit.test_template_utils.ShellEnvironmentTest.test_process_multiple_environments_empty_registry
----------------------------------------------------------------------
testtools.testresult.real._StringException: Traceback (most recent call last):
File "/usr/lib/python3.14/unittest/mock.py", line 1432, in patched
return func(*newargs, **newkeywargs)
File "/<<PKGBUILDDIR>>/heatclient/tests/unit/test_template_utils.py", line
489, in test_process_multiple_environments_empty_registry
self.assertEqual(expected_env, env)
~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3/dist-packages/testtools/testcase.py", line 419, in
assertEqual
self.assertThat(observed, matcher, message)
~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3/dist-packages/testtools/testcase.py", line 509, in
assertThat
raise mismatch_error
testtools.matchers._impl.MismatchError: !=:
reference = {'resource_registry': {'OS::Thingy1': 'file:///home/b/a.yaml'}}
actual = {'resource_registry': {'OS::Thingy1': 'file:/home/b/a.yaml'}}
======================================================================
FAIL:
heatclient.tests.unit.test_template_utils.TestTemplateTypeFunctions.test_hot_template
heatclient.tests.unit.test_template_utils.TestTemplateTypeFunctions.test_hot_template
----------------------------------------------------------------------
testtools.testresult.real._StringException: Traceback (most recent call last):
File "/usr/lib/python3.14/unittest/mock.py", line 1432, in patched
return func(*newargs, **newkeywargs)
File "/<<PKGBUILDDIR>>/heatclient/tests/unit/test_template_utils.py", line
934, in test_hot_template
files, tmpl_parsed = template_utils.get_template_contents(
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
template_file=tmpl_file)
^^^^^^^^^^^^^^^^^^^^^^^^
File "/<<PKGBUILDDIR>>/heatclient/common/template_utils.py", line 70, in
get_template_contents
tpl = request.urlopen(template_url).read()
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
AttributeError: 'NoneType' object has no attribute 'read'
----------------------------------------------------------------------
Ran 914 tests in 5.390s
FAILED (failures=30)
+ echo ======> STESTR TEST SUITE FAILED FOR python3.14: displaying pip3 freeze
output...
======> STESTR TEST SUITE FAILED FOR python3.14: displaying pip3 freeze
output...
+ [ -x /usr/bin/pip3 ]
+ pip3 freeze
WARNING: The directory '/sbuild-nonexistent/.cache/pip' or its parent directory
is not owned or is not writable by the current user. The cache has been
disabled. Check the permissions and owner of that directory. If executing pip
with sudo, you should use sudo's -H flag.
alabaster==0.7.16
amqp==5.3.1
attrs==25.4.0
autocommand==2.2.2
autopage==0.4.0
babel==2.17.0
bcrypt==5.0.0
blinker==1.9.0
cachetools==5.3.3
certifi==2025.11.12
chardet==5.2.0
charset-normalizer==3.4.4
cliff==4.11.0
cmd2==2.5.11+ds
colorama==0.4.6
confluent-kafka==2.12.2
cotyledon==1.7.3
coverage==7.8.2
cryptography==46.0.1
ddt==1.7.2
debtcollector==3.0.0
decorator==5.2.1
defusedxml==0.7.1
deprecation==2.1.0
dnspython==2.7.0
docutils==0.22.3
dogpile.cache==1.3.3
dulwich==0.24.10
eventlet==0.40.3
fasteners==0.19
fixtures==4.2.5
flake8==7.1.1
futurist==3.2.0
gabbi==3.0.0
gevent==24.11.1
gnocchiclient==7.2.0
greenlet==3.2.4
hacking==4.1.0
heat-tempest-plugin==2.6.0
httplib2==0.22.0
idna==3.10
imagesize==1.4.1
inflect==7.5.0
iniconfig==2.1.0
invoke==2.2.0
iso8601==2.1.0
jaraco.classes==3.4.0
jaraco.context==6.0.1
jaraco.functools==4.1.0
jaraco.text==4.0.0
jeepney==0.9.0
Jinja2==3.1.6
jmespath==1.0.1
jsonpatch==1.32
jsonpath-rw==1.4.0
jsonpath-rw-ext==1.2.2
jsonpointer==2.4
jsonschema==4.25.1
jsonschema-specifications==2023.12.1
keyring==25.7.0
keystoneauth1==5.12.0
kombu==5.5.4
legacy-cgi==2.6.4
lxml==6.0.2
Mako==1.3.10.dev0
MarkupSafe==3.0.3
mccabe==0.7.0
monotonic==1.6
more-itertools==10.8.0
msgpack==1.1.2
netaddr==1.3.0
oauthlib==3.3.1
openstackdocstheme==3.2.0
openstacksdk==4.7.2
os-client-config==2.3.0
os-collect-config==14.0.1
os-service-types==1.8.0
os-testr==3.0.0
osc-lib==4.2.0
oslo.concurrency==7.2.0
oslo.config==10.0.0
oslo.context==6.1.0
oslo.i18n==6.6.0
oslo.log==7.2.1
oslo.messaging==17.1.0
oslo.metrics==0.13.0
oslo.middleware==6.6.0
oslo.serialization==5.8.0
oslo.service==4.3.0
oslo.utils==9.1.0
oslotest==5.0.1
packaging==25.0
paramiko==4.0.0
Paste==3.10.1
PasteDeploy==3.1.0
pbr==7.0.3
platformdirs==4.4.0
pluggy==1.6.0
ply==3.11
prettytable==3.16.0
prometheus_client==0.21.1
psutil==7.1.0
pyasyncore==1.0.2
pycodestyle==2.12.1
pyflakes==3.2.0
Pygments==2.18.0
PyJWT==2.10.1
PyNaCl==1.5.0
pyOpenSSL==25.3.0
pyparsing==3.1.3
pyperclip==1.11.0
pytest==9.0.2
python-cinderclient==9.8.0
python-dateutil==2.9.0
python-glanceclient==4.10.0
python-heatclient==4.3.0
python-keystoneclient==5.7.0
python-neutronclient==11.6.0
python-novaclient==18.11.0
python-openstackclient==8.2.0
python-subunit==1.4.4
python-swiftclient==4.8.0
python-zaqarclient==4.1.0
PyYAML==6.0.2
pyzmq==27.1.0
referencing==0.36.2
repoze.lru==0.7
requests==2.32.5
requests_mock==1.12.1
requestsexceptions==1.4.0
rfc3986==2.0.0
roman-numerals==4.0.0
Routes==2.5.1
rpds-py==0.28.0
SecretStorage==3.5.0
setproctitle==1.3.7
setuptools==78.1.1
simplejson==3.20.1
six==1.17.0
snowballstemmer==3.0.1
Sphinx==8.2.3
statsd==4.0.1
stestr==4.2.0
stevedore==5.5.0
tempest==45.0.0
Tempita==0.6.0
tenacity==9.1.2
testrepository==0.0.21
testscenarios==0.5.0
testtools==2.7.2
tomlkit==0.13.3
typeguard==4.4.4
typing_extensions==4.15.0
ujson==5.11.0
urllib3==2.5.0
vine==5.1.0
voluptuous==0.15.2
warlock==2.1.0
wcwidth==0.2.14
WebOb==1.8.9
wheel==0.46.1
wrapt==1.17.3
wsgi_intercept==1.13.1
yappi==1.7.3
zipp==3.23.0
zope.event==6.0
zope.interface==8.1
+ exit 1
make[1]: *** [debian/rules:18: override_dh_auto_install] Error 1
make[1]: Leaving directory '/<<PKGBUILDDIR>>'
make: *** [debian/rules:6: binary] Error 2
dpkg-buildpackage: error: debian/rules binary subprocess returned exit status 2
--------------------------------------------------------------------------------
--- End Message ---
--- Begin Message ---
Source: python-heatclient
Source-Version: 4.3.0-3
Done: Thomas Goirand <[email protected]>
We believe that the bug you reported is fixed in the latest version of
python-heatclient, 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 [email protected],
and the maintainer will reopen the bug report if appropriate.
Debian distribution maintenance software
pp.
Thomas Goirand <[email protected]> (supplier of updated python-heatclient 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 [email protected])
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA512
Format: 1.8
Date: Fri, 26 Dec 2025 12:21:05 +0100
Source: python-heatclient
Architecture: source
Version: 4.3.0-3
Distribution: unstable
Urgency: medium
Maintainer: Debian OpenStack <[email protected]>
Changed-By: Thomas Goirand <[email protected]>
Closes: 1123447
Changes:
python-heatclient (4.3.0-3) unstable; urgency=medium
.
* Avoid broken tests in py3.14 (Closes: #1123447).
Checksums-Sha1:
43c175e07142ef4747e372c620146b222d582c96 2764 python-heatclient_4.3.0-3.dsc
0ce3abc6e8f4102db3b309fd418ff611b25e633a 12520
python-heatclient_4.3.0-3.debian.tar.xz
2f77ed77b6c5a0886fac7ecd4eec775eec765b5b 14451
python-heatclient_4.3.0-3_amd64.buildinfo
Checksums-Sha256:
b425fff154c9831e3484a1937344b0a2dd1ec6645d513bcdc973e9e58beead50 2764
python-heatclient_4.3.0-3.dsc
612466f57edea98d56a947e1ba1f5c58f6742cf4df2b4cc6e8ea98b8efde8833 12520
python-heatclient_4.3.0-3.debian.tar.xz
5996fc2b7c3b3c3d3b77cec83377a35dfa7dfaada3ed9ad8748050e7bd57836a 14451
python-heatclient_4.3.0-3_amd64.buildinfo
Files:
32dc4c393c412a8fa50d0428a50b84bc 2764 python optional
python-heatclient_4.3.0-3.dsc
3bd0d4539bfa287f2a478e89d3ffbed4 12520 python optional
python-heatclient_4.3.0-3.debian.tar.xz
bb393302f3a417b318378f0cdcf55fe5 14451 python optional
python-heatclient_4.3.0-3_amd64.buildinfo
-----BEGIN PGP SIGNATURE-----
iQIzBAEBCgAdFiEEoLGp81CJVhMOekJc1BatFaxrQ/4FAmlOdNAACgkQ1BatFaxr
Q/7Rww//f1glZxbzHpjzmPZoB1ydTHsv+bqZBvY8A0wlg0aTFntvJtFLirib/lAY
v3q8OavbDt+Pi+dpz9YoJksMdeJd6WMjkGYubkv+ng49T0O2N3KNamI9+Cj4Z6he
lx5Z5k0zWoQQKmLoDvPORep1EcRHe5VARsBZZ1zrOzhciJvfrlum7GfoOfEvLCH+
EnbxpALNEtsO7jth+jUcABvL6bLTDyyINningp5QuQMJlg04W6SoVVop0zRJvpLE
heOllwrBbork9jo1W0zI2AWd9Rq8DiAwT8SfGitTGITDv8EU++3acpyEQKPtNRAH
w87a9xi8GA4YqSLX3XQMjo5khEWorUonK6JBQw6kw1hEf9T6SfeZSQlwSzHxUqpB
wT7sIAQZmuxoMhO91K4FdRRQIC2PiRXBPpy1Dmv+GY3hgcQZXWDicBopxJ/ciFt6
72kiWN7ILFnj/v14u0tW6v0eR6OkbrVguWFk5GEouW822dw5mU84PVfFzjXP3TYk
t9DJiCSdUp896St0UyUpJWSXC4fYi8Tvs2iAysxuNuhTWqbsEAz7I5LQ3OnvxdYp
1WKFH431leytmk+xf2f6uhc4BTC0/oqs/7QBYAuLHMBpUCQcBsQNdBOxbFZfgbN7
s6p+CWqyTxIXlWMhb84Ia3EdoVeuTCfeSAp11pyRYHv0AXOQYFc=
=nkX4
-----END PGP SIGNATURE-----
pgpJQWmggsKhv.pgp
Description: PGP signature
--- End Message ---