Skip to content
Snippets Groups Projects
Commit f939b710 authored by Zuul's avatar Zuul Committed by Gerrit Code Review
Browse files

Merge "Allow separate listen port in haproxy-config templates"

parents 69666b66 3ea51cef
No related branches found
No related tags found
No related merge requests found
...@@ -6,7 +6,8 @@ userlist {{ service_name }}-user ...@@ -6,7 +6,8 @@ userlist {{ service_name }}-user
user {{ auth_user }} insecure-password {{ auth_pass }} user {{ auth_user }} insecure-password {{ auth_pass }}
{% endmacro %} {% endmacro %}
{%- macro listen_macro(service_name, service_port, service_mode, external, {%- macro listen_macro(service_name, service_port, listen_port,
service_mode, external,
haproxy_http_extra, haproxy_tcp_extra, host_group, haproxy_http_extra, haproxy_tcp_extra, host_group,
custom_member_list, auth_user, auth_pass) %} custom_member_list, auth_user, auth_pass) %}
listen {{ service_name }} listen {{ service_name }}
...@@ -56,7 +57,7 @@ listen {{ service_name }} ...@@ -56,7 +57,7 @@ listen {{ service_name }}
{% set api_interface = "ansible_%s"|format(hostvars[host]['api_interface']) %} {% set api_interface = "ansible_%s"|format(hostvars[host]['api_interface']) %}
{% set host_name = hostvars[host]['ansible_hostname'] %} {% set host_name = hostvars[host]['ansible_hostname'] %}
{% set host_ip = hostvars[host][api_interface]['ipv4']['address'] %} {% set host_ip = hostvars[host][api_interface]['ipv4']['address'] %}
server {{ host_name }} {{ host_ip }}:{{ service_port }} {{ haproxy_health_check }} server {{ host_name }} {{ host_ip }}:{{ listen_port }} {{ haproxy_health_check }}
{% endfor %} {% endfor %}
{% endif %} {% endif %}
{% endif %} {% endif %}
...@@ -69,6 +70,8 @@ listen {{ service_name }} ...@@ -69,6 +70,8 @@ listen {{ service_name }}
{# Skip anything that is external when the external vip is not enabled #} {# Skip anything that is external when the external vip is not enabled #}
{% if haproxy_service.enabled|bool and (not external or haproxy_enable_external_vip|bool)%} {% if haproxy_service.enabled|bool and (not external or haproxy_enable_external_vip|bool)%}
{# Here we define variables and their defaults #} {# Here we define variables and their defaults #}
{# services can be listening on a different port than haproxy #}
{% set listen_port = haproxy_service.listen_port|default(haproxy_service.port) %}
{# Custom member list can use jinja to generate a semicolon separated list #} {# Custom member list can use jinja to generate a semicolon separated list #}
{% set custom_member_list = haproxy_service.custom_member_list|default(none) %} {% set custom_member_list = haproxy_service.custom_member_list|default(none) %}
{# Mode defaults to http #} {# Mode defaults to http #}
...@@ -84,8 +87,8 @@ listen {{ service_name }} ...@@ -84,8 +87,8 @@ listen {{ service_name }}
{% if auth_user and auth_pass %} {% if auth_user and auth_pass %}
{{ userlist_macro(haproxy_name, auth_user, auth_pass) }} {{ userlist_macro(haproxy_name, auth_user, auth_pass) }}
{% endif %} {% endif %}
{{ listen_macro(haproxy_name, haproxy_service.port, mode, external, {{ listen_macro(haproxy_name, haproxy_service.port, listen_port,
haproxy_http_extra, haproxy_tcp_extra, host_group, mode, external, haproxy_http_extra, haproxy_tcp_extra,
custom_member_list, auth_user, auth_pass) }} host_group, custom_member_list, auth_user, auth_pass) }}
{% endif %} {% endif %}
{%- endfor -%} {%- endfor -%}
...@@ -45,7 +45,7 @@ frontend {{ service_name }}_front ...@@ -45,7 +45,7 @@ frontend {{ service_name }}_front
{% endif %} {% endif %}
{% endmacro %} {% endmacro %}
{%- macro backend_macro(service_name, service_port, service_mode, host_group, {%- macro backend_macro(service_name, listen_port, service_mode, host_group,
custom_member_list, backend_http_extra, custom_member_list, backend_http_extra,
backend_tcp_extra, auth_user, auth_pass) %} backend_tcp_extra, auth_user, auth_pass) %}
backend {{ service_name }}_back backend {{ service_name }}_back
...@@ -77,7 +77,7 @@ backend {{ service_name }}_back ...@@ -77,7 +77,7 @@ backend {{ service_name }}_back
{% set api_interface = "ansible_%s"|format(hostvars[host]['api_interface']) %} {% set api_interface = "ansible_%s"|format(hostvars[host]['api_interface']) %}
{% set host_name = hostvars[host]['ansible_hostname'] %} {% set host_name = hostvars[host]['ansible_hostname'] %}
{% set host_ip = hostvars[host][api_interface]['ipv4']['address'] %} {% set host_ip = hostvars[host][api_interface]['ipv4']['address'] %}
server {{ host_name }} {{ host_ip }}:{{ service_port }} {{ haproxy_health_check }} server {{ host_name }} {{ host_ip }}:{{ listen_port }} {{ haproxy_health_check }}
{% endfor %} {% endfor %}
{% endif %} {% endif %}
{% endmacro %} {% endmacro %}
...@@ -89,6 +89,8 @@ backend {{ service_name }}_back ...@@ -89,6 +89,8 @@ backend {{ service_name }}_back
{# Skip anything that is external when the external vip is not enabled #} {# Skip anything that is external when the external vip is not enabled #}
{% if haproxy_service.enabled|bool and (not external or haproxy_enable_external_vip|bool)%} {% if haproxy_service.enabled|bool and (not external or haproxy_enable_external_vip|bool)%}
{# Here we define variables and their defaults #} {# Here we define variables and their defaults #}
{# services can be listening on a different port than haproxy #}
{% set listen_port = haproxy_service.listen_port|default(haproxy_service.port) %}
{# Custom member list can use jinja to generate a semicolon separated list #} {# Custom member list can use jinja to generate a semicolon separated list #}
{% set custom_member_list = haproxy_service.custom_member_list|default() %} {% set custom_member_list = haproxy_service.custom_member_list|default() %}
{# Mode defaults to http #} {# Mode defaults to http #}
...@@ -110,7 +112,7 @@ backend {{ service_name }}_back ...@@ -110,7 +112,7 @@ backend {{ service_name }}_back
frontend_http_extra, frontend_tcp_extra) }} frontend_http_extra, frontend_tcp_extra) }}
{# Redirect (to https) is a special case, as it does not include a backend #} {# Redirect (to https) is a special case, as it does not include a backend #}
{% if haproxy_service.mode != 'redirect' %} {% if haproxy_service.mode != 'redirect' %}
{{ backend_macro(haproxy_name, haproxy_service.port, mode, host_group, {{ backend_macro(haproxy_name, listen_port, mode, host_group,
custom_member_list, backend_http_extra, backend_tcp_extra, custom_member_list, backend_http_extra, backend_tcp_extra,
auth_user, auth_pass) }} auth_user, auth_pass) }}
{% endif %} {% endif %}
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment