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:
  e81872d948

Story: 2011303
Task: 51502

Change-Id: I2d7b00719f0be17fae389c6a7326518f77be0404
Signed-off-by: Mateus Nascimento <mateus.soaresdonascimento@windriver.com>
This commit is contained in:
Mateus Nascimento 2025-02-13 15:28:33 -03:00 committed by Murillo Arantes
parent 749554ab87
commit ffbf20112c

View File

@ -83,6 +83,7 @@ conf:
WSGIScriptReloading On 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 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 WSGIProcessGroup horizon-http
WSGIApplicationGroup %{GLOBAL}
WSGIScriptAlias / /var/www/cgi-bin/horizon/django.wsgi WSGIScriptAlias / /var/www/cgi-bin/horizon/django.wsgi
WSGIPassAuthorization On WSGIPassAuthorization On
RewriteEngine on RewriteEngine on