You've already forked matrix-docker-ansible-deploy
mirror of
https://github.com/spantaleev/matrix-docker-ansible-deploy.git
synced 2025-08-04 21:43:06 +02:00
Do not invoke render_worker_upstream()
with an empty workers list
On ansible-core 2.19.0, invoking macro like this (which only outputted something in its `if` block, not in `else`), resulted in a macro outputting `None`. One way to work around it is to add an explicit `else` block which also outputs something. A better way to work around it is to only invoke the macro if it has something to output. Related to https://github.com/spantaleev/matrix-docker-ansible-deploy/issues/4458
This commit is contained in:
@ -14,7 +14,6 @@
|
|||||||
{% set user_dir_workers = matrix_synapse_reverse_proxy_companion_synapse_workers_list | selectattr('type', 'equalto', 'user_dir') | list %}
|
{% set user_dir_workers = matrix_synapse_reverse_proxy_companion_synapse_workers_list | selectattr('type', 'equalto', 'user_dir') | list %}
|
||||||
|
|
||||||
{% macro render_worker_upstream(name, workers, load_balance) %}
|
{% macro render_worker_upstream(name, workers, load_balance) %}
|
||||||
{% if workers | length > 0 %}
|
|
||||||
upstream {{ name }} {
|
upstream {{ name }} {
|
||||||
{#
|
{#
|
||||||
We need to use a zone so that the upstream is stored in shared memory,
|
We need to use a zone so that the upstream is stored in shared memory,
|
||||||
@ -30,7 +29,6 @@
|
|||||||
server "{{ worker.name }}:{{ worker.port }}" resolve;
|
server "{{ worker.name }}:{{ worker.port }}" resolve;
|
||||||
{% endfor %}
|
{% endfor %}
|
||||||
}
|
}
|
||||||
{% endif %}
|
|
||||||
{% endmacro %}
|
{% endmacro %}
|
||||||
|
|
||||||
{% macro render_locations_to_upstream(locations, upstream_name) %}
|
{% macro render_locations_to_upstream(locations, upstream_name) %}
|
||||||
@ -73,22 +71,53 @@ map $request_uri $room_name {
|
|||||||
{% endif %}
|
{% endif %}
|
||||||
# Round Robin "upstream" pools for workers
|
# Round Robin "upstream" pools for workers
|
||||||
|
|
||||||
{{ render_worker_upstream('room_workers_upstream', room_workers, 'hash $room_name consistent;') }}
|
{% if room_workers | length > 0 %}
|
||||||
{{ render_worker_upstream('sync_workers_upstream', sync_workers, 'hash $mxid_localpart consistent;') }}
|
{{- render_worker_upstream('room_workers_upstream', room_workers, 'hash $room_name consistent;') }}
|
||||||
{{ render_worker_upstream('client_reader_workers_upstream', client_reader_workers, 'least_conn;') }}
|
{% endif %}
|
||||||
{{ render_worker_upstream('federation_reader_workers_upstream', federation_reader_workers, 'hash $http_x_forwarded_for;') }}
|
|
||||||
|
|
||||||
{{ render_worker_upstream('generic_workers_upstream', generic_workers, 'hash $http_x_forwarded_for;') }}
|
{% if sync_workers | length > 0 %}
|
||||||
|
{{- render_worker_upstream('sync_workers_upstream', sync_workers, 'hash $mxid_localpart consistent;') }}
|
||||||
|
{% endif %}
|
||||||
|
|
||||||
{{ render_worker_upstream('stream_writer_typing_stream_workers_upstream', stream_writer_typing_stream_workers, '') }}
|
{% if client_reader_workers | length > 0 %}
|
||||||
{{ render_worker_upstream('stream_writer_to_device_stream_workers_upstream', stream_writer_to_device_stream_workers, '') }}
|
{{- render_worker_upstream('client_reader_workers_upstream', client_reader_workers, 'least_conn;') }}
|
||||||
{{ render_worker_upstream('stream_writer_account_data_stream_workers_upstream', stream_writer_account_data_stream_workers, '') }}
|
{% endif %}
|
||||||
{{ render_worker_upstream('stream_writer_receipts_stream_workers_upstream', stream_writer_receipts_stream_workers, '') }}
|
|
||||||
{{ render_worker_upstream('stream_writer_presence_stream_workers_upstream', stream_writer_presence_stream_workers, '') }}
|
|
||||||
|
|
||||||
{{ render_worker_upstream('media_repository_workers_upstream', media_repository_workers, 'least_conn;') }}
|
{% if federation_reader_workers | length > 0 %}
|
||||||
|
{{- render_worker_upstream('federation_reader_workers_upstream', federation_reader_workers, 'hash $http_x_forwarded_for;') }}
|
||||||
|
{% endif %}
|
||||||
|
|
||||||
{{ render_worker_upstream('user_dir_workers_upstream', user_dir_workers, '') }}
|
{% if generic_workers | length > 0 %}
|
||||||
|
{{- render_worker_upstream('generic_workers_upstream', generic_workers, 'hash $http_x_forwarded_for;') }}
|
||||||
|
{% endif %}
|
||||||
|
|
||||||
|
{% if stream_writer_typing_stream_workers | length > 0 %}
|
||||||
|
{{- render_worker_upstream('stream_writer_typing_stream_workers_upstream', stream_writer_typing_stream_workers, '') }}
|
||||||
|
{% endif %}
|
||||||
|
|
||||||
|
{% if stream_writer_to_device_stream_workers | length > 0 %}
|
||||||
|
{{- render_worker_upstream('stream_writer_to_device_stream_workers_upstream', stream_writer_to_device_stream_workers, '') }}
|
||||||
|
{% endif %}
|
||||||
|
|
||||||
|
{% if stream_writer_account_data_stream_workers | length > 0 %}
|
||||||
|
{{- render_worker_upstream('stream_writer_account_data_stream_workers_upstream', stream_writer_account_data_stream_workers, '') }}
|
||||||
|
{% endif %}
|
||||||
|
|
||||||
|
{% if stream_writer_receipts_stream_workers | length > 0 %}
|
||||||
|
{{- render_worker_upstream('stream_writer_receipts_stream_workers_upstream', stream_writer_receipts_stream_workers, '') }}
|
||||||
|
{% endif %}
|
||||||
|
|
||||||
|
{% if stream_writer_presence_stream_workers | length > 0 %}
|
||||||
|
{{- render_worker_upstream('stream_writer_presence_stream_workers_upstream', stream_writer_presence_stream_workers, '') }}
|
||||||
|
{% endif %}
|
||||||
|
|
||||||
|
{% if media_repository_workers | length > 0 %}
|
||||||
|
{{- render_worker_upstream('media_repository_workers_upstream', media_repository_workers, 'least_conn;') }}
|
||||||
|
{% endif %}
|
||||||
|
|
||||||
|
{% if user_dir_workers | length > 0 %}
|
||||||
|
{{- render_worker_upstream('user_dir_workers_upstream', user_dir_workers, '') }}
|
||||||
|
{% endif %}
|
||||||
{% endif %}
|
{% endif %}
|
||||||
|
|
||||||
server {
|
server {
|
||||||
|
Reference in New Issue
Block a user