Support disabling apache wsgi socket rotation
Bug LP 1863232 introduced a new Apache configuration option called WSGISocketRotation which allows users to disable wsgi socket rotation. This patch makes this configurable with a new wsgi-socket-rotation config option that defaults to the Apache default and can optionally be set to False. Closes-Bug: #2021550 Change-Id: I1f96d5d5663404af8ce26afe31402996f6f321ab
This commit is contained in:
parent
d71c4ea6d6
commit
a72690a7c4
@ -1674,6 +1674,9 @@ class WSGIWorkerConfigContext(WorkerConfigContext):
|
|||||||
|
|
||||||
def __call__(self):
|
def __call__(self):
|
||||||
total_processes = _calculate_workers()
|
total_processes = _calculate_workers()
|
||||||
|
enable_wsgi_socket_rotation = config('wsgi-socket-rotation')
|
||||||
|
if enable_wsgi_socket_rotation is None:
|
||||||
|
enable_wsgi_socket_rotation = True
|
||||||
ctxt = {
|
ctxt = {
|
||||||
"service_name": self.service_name,
|
"service_name": self.service_name,
|
||||||
"user": self.user,
|
"user": self.user,
|
||||||
@ -1687,6 +1690,7 @@ class WSGIWorkerConfigContext(WorkerConfigContext):
|
|||||||
"public_processes": int(math.ceil(self.public_process_weight *
|
"public_processes": int(math.ceil(self.public_process_weight *
|
||||||
total_processes)),
|
total_processes)),
|
||||||
"threads": 1,
|
"threads": 1,
|
||||||
|
"wsgi_socket_rotation": enable_wsgi_socket_rotation,
|
||||||
}
|
}
|
||||||
return ctxt
|
return ctxt
|
||||||
|
|
||||||
|
@ -12,6 +12,12 @@ Listen {{ admin_port }}
|
|||||||
Listen {{ public_port }}
|
Listen {{ public_port }}
|
||||||
{% endif -%}
|
{% endif -%}
|
||||||
|
|
||||||
|
{% if wsgi_socket_rotation -%}
|
||||||
|
WSGISocketRotation On
|
||||||
|
{% else -%}
|
||||||
|
WSGISocketRotation Off
|
||||||
|
{% endif -%}
|
||||||
|
|
||||||
{% if port -%}
|
{% if port -%}
|
||||||
<VirtualHost *:{{ port }}>
|
<VirtualHost *:{{ port }}>
|
||||||
WSGIDaemonProcess {{ service_name }} processes={{ processes }} threads={{ threads }} user={{ user }} group={{ group }} \
|
WSGIDaemonProcess {{ service_name }} processes={{ processes }} threads={{ threads }} user={{ user }} group={{ group }} \
|
||||||
|
@ -12,6 +12,12 @@ Listen {{ admin_port }}
|
|||||||
Listen {{ public_port }}
|
Listen {{ public_port }}
|
||||||
{% endif -%}
|
{% endif -%}
|
||||||
|
|
||||||
|
{% if wsgi_socket_rotation -%}
|
||||||
|
WSGISocketRotation On
|
||||||
|
{% else -%}
|
||||||
|
WSGISocketRotation Off
|
||||||
|
{% endif -%}
|
||||||
|
|
||||||
{% if port -%}
|
{% if port -%}
|
||||||
<VirtualHost *:{{ port }}>
|
<VirtualHost *:{{ port }}>
|
||||||
WSGIDaemonProcess {{ service_name }} processes={{ processes }} threads={{ threads }} user={{ user }} group={{ group }} \
|
WSGIDaemonProcess {{ service_name }} processes={{ processes }} threads={{ threads }} user={{ user }} group={{ group }} \
|
||||||
|
@ -428,3 +428,11 @@ options:
|
|||||||
Openstack mostly defaults to using public endpoints for internal
|
Openstack mostly defaults to using public endpoints for internal
|
||||||
communication between services. If set to True this option will
|
communication between services. If set to True this option will
|
||||||
configure services to use internal endpoints where possible.
|
configure services to use internal endpoints where possible.
|
||||||
|
wsgi-socket-rotation:
|
||||||
|
type: boolean
|
||||||
|
default: True
|
||||||
|
description: |
|
||||||
|
Allow users to disable Apache wsgi socket rotation. If not configured,
|
||||||
|
this option sets True as the default value, which is consistent with the
|
||||||
|
default value 'WSGISocketRotation On' in Apache. This option should be
|
||||||
|
used with caution. Please read the Apache doc page for more information.
|
||||||
|
@ -36,6 +36,10 @@ stevedore<1.31.0;python_version<'3.6'
|
|||||||
debtcollector<1.22.0;python_version<'3.6'
|
debtcollector<1.22.0;python_version<'3.6'
|
||||||
oslo.utils<=3.41.0;python_version<'3.6'
|
oslo.utils<=3.41.0;python_version<'3.6'
|
||||||
|
|
||||||
|
# New openstacksdk versions depend on platformdirs>=3 which does not support
|
||||||
|
# python 3.6
|
||||||
|
openstacksdk<1.6.0; python_version <= '3.6'
|
||||||
|
|
||||||
coverage>=4.5.2
|
coverage>=4.5.2
|
||||||
pyudev # for ceph-* charm unit tests (need to fix the ceph-* charm unit tests/mocking)
|
pyudev # for ceph-* charm unit tests (need to fix the ceph-* charm unit tests/mocking)
|
||||||
git+https://github.com/openstack-charmers/zaza.git@stable/victoria#egg=zaza
|
git+https://github.com/openstack-charmers/zaza.git@stable/victoria#egg=zaza
|
||||||
|
Loading…
Reference in New Issue
Block a user