Pinning setuptools can cause import errors related to distutils

Bug #2066023 reported by Jadon Naas
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
OpenStack Cinder Backup Swift Proxy Charm
In Progress
Undecided
Jadon Naas
OpenStack Designate-Bind Charm
In Progress
Undecided
Jadon Naas
OpenStack Ironic Conductor Charm
In Progress
Undecided
Jadon Naas
OpenStack Nova Cell Controller Charm
In Progress
Undecided
Jadon Naas

Bug Description

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 from src/wheelhouse.txt. It is no longer necessary.

Jadon Naas (jadonn)
Changed in charm-cinder-backup-swift-proxy:
assignee: nobody → Jadon Naas (jadonn)
Changed in charm-ironic-conductor:
assignee: nobody → Jadon Naas (jadonn)
Changed in charm-nova-cell-controller:
assignee: nobody → Jadon Naas (jadonn)
Changed in charm-cinder-backup-swift-proxy:
status: New → In Progress
Changed in charm-designate-bind:
status: New → In Progress
Changed in charm-ironic-conductor:
status: New → In Progress
Changed in charm-nova-cell-controller:
status: New → In Progress
description: updated
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix proposed to charm-ironic-conductor (master)
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix proposed to charm-nova-cell-controller (master)
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix proposed to charm-cinder-backup-swift-proxy (master)
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.