[all][tc] python 3.11 testing plan

Jeremy Stanley fungi at yuggoth.org
Mon Sep 25 13:43:24 UTC 2023


On 2023-09-25 09:42:26 +0200 (+0200), Pierre Riteau wrote:
[...]
> Many projects initially fail on bindep trying to install
> mysql-client, which doesn't exist in bookworm. Fixing this was
> enough to make the py3.11 job successful in Blazar.

As you indicate, in that particular case it's nothing to do with the
version of Python, but rather changes in the distribution platforms
you're testing on. You don't have to remove mysql-client from
bindep.txt, for example you can just specify that it should only be
installed on Ubuntu and not Debian, and that mariadb-client should
be installed only on Debian. Alternatively, you can switch to
installing default-mysql-client on both Debian and Ubuntu, which is
a metapackage depending on mariadb-client on Debian and mysql-client
on Ubuntu.

> Are there templates to follow for these bindep requirements? I
> checked projects such as Cinder, Glance, Neutron and Nova: they
> are using similar package lists but with small differences.

Not really, no. Every project has different things they need to
install for testing purposes, and the requirement description
language bindep uses is expressive enough that there are multiple
ways to go about describing the relationships you want. The only
real guidance that might be important is to, where possible, use
exclusions for old platforms where newer package choices aren't
available and inclusions for old platforms on the old packages which
aren't available on newer platforms, so that you avoid unnecessary
churn on existing entries every time you want to start testing a
newer release of some distro and it's clearer what you can clean up.

A good example can be found in https://review.opendev.org/895699
which installs dnf on dpkg-based platforms except if they're older,
and installs yum-utils exclusively on older platforms. In the
future, as the old distributions are cleaned up from the bindep.txt,
the result will be that dnf is installed on all dpkg-based platforms
and yum-utils is no longer listed.

> And is it useful to keep testing with MySQL on Ubuntu, so we have
> coverage for both MySQL and MariaDB?

If projects are using the clients directly, or directly querying
databases, then interface and syntax differences between them might
matter. Ideally, with everything going through an ORM, you shouldn't
have to care which one is used as long as their differences are
abstracted away by the ORM (with the expectation that the
maintainers of that ORM are thoroughly testing with both supported
backends anyway).
-- 
Jeremy Stanley
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 963 bytes
Desc: not available
URL: <https://lists.openstack.org/pipermail/openstack-discuss/attachments/20230925/3d5812eb/attachment.sig>


More information about the openstack-discuss mailing list