Since [1] we can configure MariaDB to use the recent ed25519-based server authentication.
When this option is enabled, python3-PyMySQL uses python3-pynacl for implementing the server authentication.
In the latest TCIB container images, I can see that python3-pynacl is available in some images, but it's not installed in others:
192.168.24.1:8787/tripleomaster/openstack-neutron-metadata-agent-ovn:current-tripleo - python3-pynacl-1.4.0-1.el8.x86_64
192.168.24.1:8787/tripleomaster/openstack-nova-scheduler:current-tripleo - python3-pynacl-1.4.0-1.el8.x86_64
192.168.24.1:8787/tripleomaster/openstack-glance-api:current-tripleo -
192.168.24.1:8787/tripleomaster/openstack-keystone:current-tripleo -
192.168.24.1:8787/tripleomaster/openstack-nova-compute:current-tripleo - python3-pynacl-1.4.0-1.el8.x86_64
192.168.24.1:8787/tripleomaster/openstack-cinder-api:current-tripleo - python3-pynacl-1.4.0-1.el8.x86_64
192.168.24.1:8787/tripleomaster/openstack-cinder-scheduler:current-tripleo - python3-pynacl-1.4.0-1.el8.x86_64
192.168.24.1:8787/tripleomaster/openstack-placement-api:current-tripleo -
192.168.24.1:8787/tripleomaster/openstack-nova-conductor:current-tripleo - python3-pynacl-1.4.0-1.el8.x86_64
192.168.24.1:8787/tripleomaster/openstack-nova-novncproxy:current-tripleo - python3-pynacl-1.4.0-1.el8.x86_64
192.168.24.1:8787/tripleomaster/openstack-neutron-server:current-tripleo - python3-pynacl-1.4.0-1.el8.x86_64
192.168.24.1:8787/tripleomaster/openstack-cinder-volume:current-tripleo - python3-pynacl-1.4.0-1.el8.x86_64
192.168.24.1:8787/tripleomaster/openstack-nova-api:current-tripleo - python3-pynacl-1.4.0-1.el8.x86_64
192.168.24.1:8787/tripleomaster/openstack-nova-libvirt:current-tripleo - python3-pynacl-1.4.0-1.el8.x86_64
Consequently, python code that uses pymysql to connect to the database can't negotiate the connection, and deployments are ultimately failing.
[1] https://review.opendev.org/#/c/712769/
Fix proposed to branch: master /review. opendev. org/755848
Review: https:/