From 3c88640e3190d7b8ad8ed1afcb79a2a9567a1eef Mon Sep 17 00:00:00 2001 From: Mateus Nascimento Date: Thu, 13 Feb 2025 15:28:33 -0300 Subject: [PATCH] Ensure Horizon mod_wsgi uses global WSGI subinterpreter Cryptography changes implemented in Rust are using PyO3, which does not support multiple subinterpreters. To address this, the Apache configuration for Horizon has been updated to ensure that the WSGI server uses the global Python interpreter. This change ensures compatibility with the new Rust-based cryptography implementation and prevents potential issues with request handling. Changes: - Updated the Horizon Helm override configuration in conf.horizon.apache inside the VirtualHost directive. Test Plan: - PASS: Confirm that no errors related to subinterpreters appear in Horizon logs. - PASS: Ensure that Horizon responds with HTTP status code 200 upon accessing the main page. Reference: - PyO3's lack of support for subinterpreters: https://github.com/PyO3/pyo3/issues/3451 - Related OpenStack-Helm commit: https://opendev.org/openstack/openstack-helm/commit/e81872d94820739398703ddf37bbe537a42a8efd Story: 2011303 Task: 51502 Change-Id: I2d7b00719f0be17fae389c6a7326518f77be0404 Signed-off-by: Mateus Nascimento --- .../manifests/horizon/horizon-static-overrides.yaml | 1 + 1 file changed, 1 insertion(+) diff --git a/stx-openstack-helm-fluxcd/stx-openstack-helm-fluxcd/manifests/horizon/horizon-static-overrides.yaml b/stx-openstack-helm-fluxcd/stx-openstack-helm-fluxcd/manifests/horizon/horizon-static-overrides.yaml index 20c280f..f8dc2f2 100644 --- a/stx-openstack-helm-fluxcd/stx-openstack-helm-fluxcd/manifests/horizon/horizon-static-overrides.yaml +++ b/stx-openstack-helm-fluxcd/stx-openstack-helm-fluxcd/manifests/horizon/horizon-static-overrides.yaml @@ -83,6 +83,7 @@ conf: WSGIScriptReloading On WSGIDaemonProcess horizon-http processes=5 threads=1 user=horizon group=horizon display-name=%{GROUP} python-home=/var/lib/openstack socket-user=www-data WSGIProcessGroup horizon-http + WSGIApplicationGroup %{GLOBAL} WSGIScriptAlias / /var/www/cgi-bin/horizon/django.wsgi WSGIPassAuthorization On RewriteEngine on