Comment 0 for bug 2066023

Revision history for this message
Jadon Naas (jadonn) wrote :

We found recently that testing on jammy-caracal was failing for reactive charms that had setuptools pinned to an older version. The tests failed because of an issue with the imports in distutils that changed in newer versions of Python. Here is an example from charm-ironic-api:

2024-05-10 00:35:13.127496 | focal-medium | 2024-05-10 00:35:13 [ERROR] unit-ironic-api-0.log: 2024-05-10 00:35:11 WARNING unit.ironic-api/0.identity-service-relation-created logger.go:60 Traceback (most recent call last):
2024-05-10 00:35:13.127722 | focal-medium | 2024-05-10 00:35:13 [ERROR] unit-ironic-api-0.log: 2024-05-10 00:35:11 WARNING unit.ironic-api/0.identity-service-relation-created logger.go:60 File "/var/lib/juju/agents/unit-ironic-api-0/charm/hooks/identity-service-relation-created", line 7, in <module>
2024-05-10 00:35:13.127743 | focal-medium | 2024-05-10 00:35:13 [ERROR] unit-ironic-api-0.log: 2024-05-10 00:35:11 WARNING unit.ironic-api/0.identity-service-relation-created logger.go:60 from charms.layer import basic # noqa
2024-05-10 00:35:13.127758 | focal-medium | 2024-05-10 00:35:13 [ERROR] unit-ironic-api-0.log: 2024-05-10 00:35:11 WARNING unit.ironic-api/0.identity-service-relation-created logger.go:60 File "/var/lib/juju/agents/unit-ironic-api-0/charm/lib/charms/layer/basic.py", line 5, in <module>
2024-05-10 00:35:13.127765 | focal-medium | 2024-05-10 00:35:13 [ERROR] unit-ironic-api-0.log: 2024-05-10 00:35:11 WARNING unit.ironic-api/0.identity-service-relation-created logger.go:60 from distutils.version import LooseVersion
2024-05-10 00:35:13.127771 | focal-medium | 2024-05-10 00:35:13 [ERROR] unit-ironic-api-0.log: 2024-05-10 00:35:11 WARNING unit.ironic-api/0.identity-service-relation-created logger.go:60 File "<frozen importlib._bootstrap>", line 1027, in _find_and_load
2024-05-10 00:35:13.128004 | focal-medium | 2024-05-10 00:35:13 [ERROR] unit-ironic-api-0.log: 2024-05-10 00:35:11 WARNING unit.ironic-api/0.identity-service-relation-created logger.go:60 File "<frozen importlib._bootstrap>", line 1002, in _find_and_load_unlocked
2024-05-10 00:35:13.128023 | focal-medium | 2024-05-10 00:35:13 [ERROR] unit-ironic-api-0.log: 2024-05-10 00:35:11 WARNING unit.ironic-api/0.identity-service-relation-created logger.go:60 File "<frozen importlib._bootstrap>", line 945, in _find_spec
2024-05-10 00:35:13.128029 | focal-medium | 2024-05-10 00:35:13 [ERROR] unit-ironic-api-0.log: 2024-05-10 00:35:11 WARNING unit.ironic-api/0.identity-service-relation-created logger.go:60 File "/var/lib/juju/agents/unit-ironic-api-0/.venv/lib/python3.10/site-packages/_distutils_hack/__init__.py", line 72, in find_spec
2024-05-10 00:35:13.128048 | focal-medium | 2024-05-10 00:35:13 [ERROR] unit-ironic-api-0.log: 2024-05-10 00:35:11 WARNING unit.ironic-api/0.identity-service-relation-created logger.go:60 return self.get_distutils_spec()
2024-05-10 00:35:13.128254 | focal-medium | 2024-05-10 00:35:13 [ERROR] unit-ironic-api-0.log: 2024-05-10 00:35:11 WARNING unit.ironic-api/0.identity-service-relation-created logger.go:60 File "/var/lib/juju/agents/unit-ironic-api-0/.venv/lib/python3.10/site-packages/_distutils_hack/__init__.py", line 77, in get_distutils_spec
2024-05-10 00:35:13.128310 | focal-medium | 2024-05-10 00:35:13 [ERROR] unit-ironic-api-0.log: 2024-05-10 00:35:11 WARNING unit.ironic-api/0.identity-service-relation-created logger.go:60 class DistutilsLoader(importlib.util.abc.Loader):
2024-05-10 00:35:13.128317 | focal-medium | 2024-05-10 00:35:13 [ERROR] unit-ironic-api-0.log: 2024-05-10 00:35:11 WARNING unit.ironic-api/0.identity-service-relation-created logger.go:60 AttributeError: module 'importlib.util' has no attribute 'abc'
2024-05-10 00:35:13.128323 | focal-medium | 2024-05-10 00:35:13 [ERROR] unit-ironic-api-0.log: 2024-05-10 00:35:11 ERROR juju.worker.uniter.operation runhook.go:153 hook "identity-service-relation-created" (via explicit, bespoke hook script) failed: exit status 1

This happens in reactive charms that pin setuptools to an old version. Reactive charms without this pinning work normally. The pinning should be removed. It is no longer necessary.