barbican autopkgtests fail with python3.10

Bug #1959626 reported by Steve Langasek
12
This bug affects 1 person
Affects Status Importance Assigned to Milestone
barbican (Ubuntu)
Fix Released
Undecided
Lukas Märdian

Bug Description

python3-defaults in jammy-proposed switches python3 to be python3.10. This causes barbican's autopkgtests to fail fairly inscrutably:

autopkgtest [09:11:30]: test barbican-daemons: [-----------------------
OK
OK
autopkgtest [09:16:31]: test barbican-daemons: -----------------------]
barbican-daemons FAIL non-zero exit status 22

The 'OK' messages are confirmations that the daemons are started; the actual failing command is the call to curl --fail http://localhost:9311, which connects to apache and then expects a response from barbican-worker via wsgi. The apache log shows output such as:

[Mon Jan 31 21:45:54.931993 2022] [wsgi:error] [pid 15857:tid 139695589144128] [client 127.0.0.1:59380] Timeout when reading response headers from daemon process 'barbican-api': /usr/share/barbican/app.wsgi

The worker log, in turn, shows only:

2022-01-31 21:34:36.092 11378 ERROR oslo.messaging._drivers.impl_rabbit [-] Connection failed: [Errno 111] ECONNREFUSED (retrying in 2.0 seconds): ConnectionRefusedError: [Errno 111] ECONNREFUSED

It's true that the connection is refused, because the autopkgtest doesn't install rabbitmq-server? But this doesn't seem to be a problem when running under python3.9?

If I upgrade to -proposed and then downgrade only python3-defaults, the failure is still reproducible, so this may be caused by by some other package in -proposed besides python3-defaults.

Related branches

Revision history for this message
Steve Langasek (vorlon) wrote :

except the autopkgtest log clearly shows only python3-defaults being pulled from -proposed, so it looks like more analysis is needed.

tags: added: update-excuse
Revision history for this message
Steve Langasek (vorlon) wrote :

Ok restarting only barbican-worker with python3.10 doesn't fail; it fails only after restarting apache2 with python3.10...

Lukas Märdian (slyon)
tags: added: fr-2040
Revision history for this message
Lukas Märdian (slyon) wrote :
Download full text (6.9 KiB)

Interestingly, in the "good" pass (migration-reference/0) we have the following testbed packages installed:
libpython3.10 3.10.2-1
libpython3.10-minimal 3.10.2-1
libpython3.10-stdlib 3.10.2-1
libpython3.9 3.9.10-1

Whereas when we pull in python3-defaults from -proposed we end up with:
libpython3.10 3.10.2-1
libpython3.9 3.9.10-1
libpython3.9-minimal 3.9.10-1
libpython3.9-stdlib 3.9.10-1

For some reason the testbed is pulling in some python3.9 bits instead of using python3.10 (that might due to libapache2-mod-wsgi-py3 pulling in both versions of libpython):

autopkgtest [10:14:53]: test barbican-daemons: preparing testbed
Reading package lists...
Building dependency tree...
Reading state information...
Correcting dependencies...Starting pkgProblemResolver with broken count: 0
Starting 2 pkgProblemResolver with broken count: 0
Done
 Done
Starting pkgProblemResolver with broken count: 0
Starting 2 pkgProblemResolver with broken count: 0
Done
The following additional packages will be installed:
  alembic apache2 apache2-bin apache2-data apache2-utils barbican-api
  barbican-common barbican-keystone-listener barbican-worker docutils-common
  ieee-data libapache2-mod-wsgi-py3 libapr1 libaprutil1
  libaprutil1-dbd-sqlite3 libaprutil1-ldap libjs-jquery libjs-sphinxdoc
  libjs-underscore liblua5.3-0 libpython3.10 libpython3.9 libpython3.9-minimal
  libpython3.9-stdlib libxslt1.1 mailcap mime-support pycadf-common
  python-pastedeploy-tpl python3-alembic python3-amqp python3-anyjson
  python3-autopage python3-barbican python3-barbicanclient python3-bcrypt
  python3-bs4 python3-cachetools python3-castellan python3-cffi python3-cliff
  python3-cmd2 python3-dateutil python3-debtcollector python3-decorator
  python3-dnspython python3-docutils python3-dogpile.cache python3-eventlet
  python3-extras python3-fasteners python3-fixtures python3-futurist
  python3-greenlet python3-iso8601 python3-keystoneauth1
  python3-keystoneclient python3-keystonemiddleware python3-kombu python3-ldap
  python3-logutils python3-lxml python3-mako python3-memcache python3-migrate
  python3-monotonic python3-msgpack python3-netaddr python3-os-service-types
  python3-oslo.cache python3-oslo.concurrency python3-oslo.config
  python3-oslo.context python3-oslo.db python3-oslo.i18n python3-oslo.log
  python3-oslo.messaging python3-oslo.metrics python3-oslo.middleware
  python3-oslo.policy python3-oslo.serialization python3-oslo.service
  python3-oslo.upgradecheck python3-oslo.utils python3-oslo.versionedobjects
  python3-packaging python3-paste python3-pastedeploy python3-pbr
  python3-pecan python3-ply python3-prettytable python3-prometheus-client
  python3-pyasn1 python3-pyasn1-modules python3-pycadf python3-pycparser
  python3-pyinotify python3-pyperclip python3-repoze.lru python3-rfc3986
  python3-roman python3-routes python3-simplegeneric python3-singledispatch
  python3-soupsieve python3-sqlalchemy python3-sqlparse python3-statsd
  python3-stevedore python3-tempita python3-tenacity python3-testresources
  python3-testscenarios python3-testtools python3-unittest2 python3-vine
  python3-waitress python3-wcwidth python3-webob python3-webtest python3-wrapt
  sgml-base xml-core
Su...

Read more...

Lukas Märdian (slyon)
Changed in barbican (Ubuntu):
status: New → In Progress
assignee: nobody → Lukas Märdian (slyon)
Lukas Märdian (slyon)
Changed in barbican (Ubuntu):
status: In Progress → Fix Committed
Revision history for this message
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package barbican - 2:13.0.0+git2022011215.a9d2b133-0ubuntu2

---------------
barbican (2:13.0.0+git2022011215.a9d2b133-0ubuntu2) jammy; urgency=medium

  * d/barbican-api.conf: use WSGIApplicationGroup %{GLOBAL} (LP: #1959626)
    for python3.10 compatibility

 -- Lukas Märdian <email address hidden> Mon, 21 Feb 2022 14:43:10 +0100

Changed in barbican (Ubuntu):
status: Fix Committed → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Duplicates of this bug

Other bug subscribers

Remote bug watches

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