From 04857cad3d05f921e6fd6754e32f9154eb3819fa Mon Sep 17 00:00:00 2001 From: Georgina Shippey Date: Thu, 12 Mar 2020 11:37:44 +0000 Subject: [PATCH] Add server specific backend options Ability to add per server backend options to backend nodes. For example if adding cookies for persistance: haproxy_service_configs: ... - service: haproxy_service_name: serviceX ... haproxy_backend_nodes: - name: serverA ip_addr: 192.168.1.1 backend_server_options: - "check cookie serverA" - name: serverB ip_addr: 192.168.1.2 backend_server_options: - "check cookie serverB" haproxy_backend_arguments: - "cookie SERVERID insert indirect nocache" haproxy_backend_server_options: - "inter 3000" ... Then the templated out server lines would look like: server serverA 192.168.1.1 ... inter 3000 check cookie serverA server serverB 192.168.1.2 ... inter 3000 check cookie serverB Change-Id: Ief39bd50549c64f5f8d34e143acccf25dbbce299 --- templates/service.j2 | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/templates/service.j2 b/templates/service.j2 index b33305e..f383bf9 100644 --- a/templates/service.j2 +++ b/templates/service.j2 @@ -127,6 +127,10 @@ backend {{ item.service.haproxy_service_name }}-back {% set backend_server_options = item.service.haproxy_backend_server_options|default([]) %} {% for option in backend_server_options %} {% set _ = entry.append(option) %} +{% endfor %} +{% set backend_per_server_options = host_name.backend_server_options|default([]) %} +{% for option in backend_per_server_options %} +{% set _ = entry.append(option) %} {% endfor %} {{ entry | join(' ') }} {% endfor %} @@ -161,6 +165,10 @@ backend {{ item.service.haproxy_service_name }}-back {% set backend_server_options = item.service.haproxy_backend_server_options|default([]) %} {% for option in backend_server_options %} {% set _ = entry.append(option) %} +{% endfor %} +{% set backend_per_server_options = host_name.backend_server_options|default([]) %} +{% for option in backend_per_server_options %} +{% set _ = entry.append(option) %} {% endfor %} {{ entry | join(' ') }} {% endfor %}