From cfe50237b6935c7db9aceca546432f62618caa81 Mon Sep 17 00:00:00 2001 From: Takashi Kajinami Date: Mon, 13 Nov 2023 19:18:22 +0900 Subject: [PATCH] Debian: Fix wrong wsgi script path The horizon package in Debian installs the wsgi.py file at a path different from the other distros. Closes-Bug: #2043371 Change-Id: Idb8550dd534cd2a1bb442cd2e2256f1a8fc8d89e --- manifests/params.pp | 4 ++- spec/classes/horizon_wsgi_apache_spec.rb | 31 +++++++++++++++--------- 2 files changed, 23 insertions(+), 12 deletions(-) diff --git a/manifests/params.pp b/manifests/params.pp index dad54515..fd9c2e0b 100644 --- a/manifests/params.pp +++ b/manifests/params.pp @@ -4,7 +4,6 @@ class horizon::params { include openstacklib::defaults $logdir = '/var/log/horizon' - $django_wsgi = '/usr/share/openstack-dashboard/openstack_dashboard/wsgi.py' $manage_py = '/usr/share/openstack-dashboard/manage.py' $wsgi_application_group = '%{GLOBAL}' @@ -19,6 +18,7 @@ class horizon::params { $httpd_listen_config_file = '/etc/httpd/conf/httpd.conf' $root_url = '/dashboard' $static_path = '/usr/share' + $django_wsgi = '/usr/share/openstack-dashboard/openstack_dashboard/wsgi.py' $wsgi_user = 'apache' $wsgi_group = 'apache' $memcache_package = 'python3-memcached' @@ -48,10 +48,12 @@ class horizon::params { 'Debian': { $package_name = 'openstack-dashboard-apache' $httpd_config_file = '/etc/apache2/sites-available/openstack-dashboard-alias-only.conf' + $django_wsgi = '/usr/share/openstack-dashboard/wsgi.py' } default: { $package_name = 'openstack-dashboard' $httpd_config_file = '/etc/apache2/conf-available/openstack-dashboard.conf' + $django_wsgi = '/usr/share/openstack-dashboard/openstack_dashboard/wsgi.py' } } } diff --git a/spec/classes/horizon_wsgi_apache_spec.rb b/spec/classes/horizon_wsgi_apache_spec.rb index b0fab662..de68def0 100644 --- a/spec/classes/horizon_wsgi_apache_spec.rb +++ b/spec/classes/horizon_wsgi_apache_spec.rb @@ -34,7 +34,7 @@ describe 'horizon::wsgi::apache' do :redirectmatch_status => 'permanent', :redirectmatch_regexp => '^/$', :redirectmatch_dest => platforms_params[:root_url], - :wsgi_script_aliases => { platforms_params[:root_url] => '/usr/share/openstack-dashboard/openstack_dashboard/wsgi.py' }, + :wsgi_script_aliases => { platforms_params[:root_url] => platforms_params[:django_wsgi] }, :wsgi_process_group => platforms_params[:wsgi_group], :wsgi_daemon_process => { platforms_params[:wsgi_group] => { @@ -77,7 +77,7 @@ describe 'horizon::wsgi::apache' do :redirectmatch_status => 'temp', :redirectmatch_regexp => '^/$', :redirectmatch_dest => platforms_params[:root_url], - :wsgi_script_aliases => { platforms_params[:root_url] => '/usr/share/openstack-dashboard/openstack_dashboard/wsgi.py' }, + :wsgi_script_aliases => { platforms_params[:root_url] => platforms_params[:django_wsgi] }, :wsgi_process_group => platforms_params[:wsgi_group], :wsgi_daemon_process => { platforms_params[:wsgi_group] => { @@ -153,7 +153,7 @@ describe 'horizon::wsgi::apache' do }}, :wsgi_application_group => '%{GLOBAL}', :wsgi_script_aliases => { - platforms_params[:root_url] => '/usr/share/openstack-dashboard/openstack_dashboard/wsgi.py' + platforms_params[:root_url] => platforms_params[:django_wsgi] } )} @@ -180,7 +180,7 @@ describe 'horizon::wsgi::apache' do }}, :wsgi_application_group => '%{GLOBAL}', :wsgi_script_aliases => { - platforms_params[:root_url] => '/usr/share/openstack-dashboard/openstack_dashboard/wsgi.py' + platforms_params[:root_url] => platforms_params[:django_wsgi] } )} end @@ -266,7 +266,7 @@ describe 'horizon::wsgi::apache' do { 'alias' => '/static', 'path' => '/tmp/horizon/static' } ], :wsgi_script_aliases => { - '/' => '/usr/share/openstack-dashboard/openstack_dashboard/wsgi.py' + '/' => platforms_params[:django_wsgi] } )} @@ -505,21 +505,30 @@ describe 'horizon::wsgi::apache' do when 'Debian' case facts[:os]['name'] when 'Debian' - { :httpd_config_file => '/etc/apache2/sites-available/openstack-dashboard-alias-only.conf', + { + :httpd_config_file => '/etc/apache2/sites-available/openstack-dashboard-alias-only.conf', + :django_wsgi => '/usr/share/openstack-dashboard/wsgi.py', :root_url => '/horizon', :wsgi_user => 'horizon', - :wsgi_group => 'horizon' } + :wsgi_group => 'horizon' + } when 'Ubuntu' - { :httpd_config_file => '/etc/apache2/conf-available/openstack-dashboard.conf', + { + :httpd_config_file => '/etc/apache2/conf-available/openstack-dashboard.conf', + :django_wsgi => '/usr/share/openstack-dashboard/openstack_dashboard/wsgi.py', :root_url => '/horizon', :wsgi_user => 'horizon', - :wsgi_group => 'horizon' } + :wsgi_group => 'horizon' + } end when 'RedHat' - { :httpd_config_file => '/etc/httpd/conf.d/openstack-dashboard.conf', + { + :httpd_config_file => '/etc/httpd/conf.d/openstack-dashboard.conf', + :django_wsgi => '/usr/share/openstack-dashboard/openstack_dashboard/wsgi.py', :root_url => '/dashboard', :wsgi_user => 'apache', - :wsgi_group => 'apache' } + :wsgi_group => 'apache' + } end end