Temporary fixes rhel 9 distros

With [1] py39 constraints drop can't run fips jobs on
centos 9-stream or rocky9.
As a workaround can run with PYTHON3_VERSION: 3.11 in affected
jobs.
Until centos 10-stream support is ready[1] we also need
to install libvirt-python and uwsgi from source as uwsgi and
libvirt rpms are bundled with python3.

[1] https://review.opendev.org/c/openstack/requirements/+/948285
[2] https://review.opendev.org/c/openstack/devstack/+/937251

Depends-On: https://review.opendev.org/c/openstack/devstack/+/946763
Depends-On: https://review.opendev.org/c/openstack/devstack/+/948558
Depends-On: https://review.opendev.org/c/openstack/devstack/+/948786
Depends-On: https://review.opendev.org/c/openstack/devstack/+/948797
Related-Bug: #2109591
Change-Id: I80d4c65ba0728c3e4b18738c6b0d539409f19976
diff --git a/lib/nova_plugins/functions-libvirt b/lib/nova_plugins/functions-libvirt
index ba2e98e..3584053 100644
--- a/lib/nova_plugins/functions-libvirt
+++ b/lib/nova_plugins/functions-libvirt
@@ -93,7 +93,13 @@
         # as the base system version is too old.  We should have
         # pre-installed these
         install_package $qemu_package
-        install_package libvirt libvirt-devel python3-libvirt
+        install_package libvirt libvirt-devel
+
+        if [[ $DISTRO =~ rhel9 ]]; then
+            pip_install_gr libvirt-python
+        else
+            install_package python3-libvirt
+        fi
 
         if is_arch "aarch64"; then
             install_package edk2-aarch64