Merge "Do not set log format when 'no log' is set"

This commit is contained in:
Zuul 2019-10-23 08:40:56 +00:00 committed by Gerrit Code Review
commit d775d95fb9
9 changed files with 121 additions and 158 deletions

View File

@ -260,8 +260,6 @@ class JinjaTemplater(object):
'protocol': listener.protocol, 'protocol': listener.protocol,
'insert_headers': listener.insert_headers, 'insert_headers': listener.insert_headers,
'enabled': listener.enabled, 'enabled': listener.enabled,
'user_log_format': self._format_log_string(loadbalancer,
listener.protocol),
'timeout_client_data': ( 'timeout_client_data': (
listener.timeout_client_data or listener.timeout_client_data or
CONF.haproxy_amphora.timeout_client_data), CONF.haproxy_amphora.timeout_client_data),
@ -274,6 +272,9 @@ class JinjaTemplater(object):
'timeout_tcp_inspect': (listener.timeout_tcp_inspect or 'timeout_tcp_inspect': (listener.timeout_tcp_inspect or
CONF.haproxy_amphora.timeout_tcp_inspect), CONF.haproxy_amphora.timeout_tcp_inspect),
} }
if self.connection_logging:
ret_value['user_log_format'] = (
self._format_log_string(loadbalancer, listener.protocol))
if listener.connection_limit and listener.connection_limit > -1: if listener.connection_limit and listener.connection_limit > -1:
ret_value['connection_limit'] = listener.connection_limit ret_value['connection_limit'] = listener.connection_limit
else: else:

View File

@ -136,7 +136,6 @@ bind {{ lb_vip_address }}:{{ listener.protocol_port }} {{
{% macro frontend_macro(constants, listener, lb_vip_address) %} {% macro frontend_macro(constants, listener, lb_vip_address) %}
frontend {{ listener.id }} frontend {{ listener.id }}
log-format {{ listener.user_log_format }}
{% if listener.connection_limit is defined %} {% if listener.connection_limit is defined %}
maxconn {{ listener.connection_limit }} maxconn {{ listener.connection_limit }}
{% endif %} {% endif %}
@ -154,6 +153,9 @@ frontend {{ listener.id }}
default_backend {{ listener.default_pool.id }}:{{ listener.id }} default_backend {{ listener.default_pool.id }}:{{ listener.id }}
{% endif %} {% endif %}
timeout client {{ listener.timeout_client_data }} timeout client {{ listener.timeout_client_data }}
{% if listener.user_log_format is defined %}
log-format {{ listener.user_log_format }}
{% endif %}
{% if listener.timeout_tcp_inspect %} {% if listener.timeout_tcp_inspect %}
tcp-request inspect-delay {{ listener.timeout_tcp_inspect }} tcp-request inspect-delay {{ listener.timeout_tcp_inspect }}
{% endif %} {% endif %}

View File

@ -246,8 +246,6 @@ class JinjaTemplater(object):
'topology': listener.load_balancer.topology, 'topology': listener.load_balancer.topology,
'amphorae': listener.load_balancer.amphorae, 'amphorae': listener.load_balancer.amphorae,
'enabled': listener.enabled, 'enabled': listener.enabled,
'user_log_format': self._format_log_string(loadbalancer,
listener.protocol),
'timeout_client_data': ( 'timeout_client_data': (
listener.timeout_client_data or listener.timeout_client_data or
CONF.haproxy_amphora.timeout_client_data), CONF.haproxy_amphora.timeout_client_data),
@ -260,6 +258,9 @@ class JinjaTemplater(object):
'timeout_tcp_inspect': (listener.timeout_tcp_inspect or 'timeout_tcp_inspect': (listener.timeout_tcp_inspect or
CONF.haproxy_amphora.timeout_tcp_inspect), CONF.haproxy_amphora.timeout_tcp_inspect),
} }
if self.connection_logging:
ret_value['user_log_format'] = (
self._format_log_string(loadbalancer, listener.protocol))
if listener.connection_limit and listener.connection_limit > -1: if listener.connection_limit and listener.connection_limit > -1:
ret_value['connection_limit'] = listener.connection_limit ret_value['connection_limit'] = listener.connection_limit
else: else:

View File

@ -139,7 +139,6 @@ bind {{ lb_vip_address }}:{{ listener.protocol_port }} {{
{% macro frontend_macro(constants, listener, lb_vip_address) %} {% macro frontend_macro(constants, listener, lb_vip_address) %}
frontend {{ listener.id }} frontend {{ listener.id }}
log-format {{ listener.user_log_format }}
{% if listener.connection_limit is defined %} {% if listener.connection_limit is defined %}
maxconn {{ listener.connection_limit }} maxconn {{ listener.connection_limit }}
{% endif %} {% endif %}
@ -157,6 +156,9 @@ frontend {{ listener.id }}
default_backend {{ listener.default_pool.id }} default_backend {{ listener.default_pool.id }}
{% endif %} {% endif %}
timeout client {{ listener.timeout_client_data }} timeout client {{ listener.timeout_client_data }}
{% if listener.user_log_format is defined %}
log-format {{ listener.user_log_format }}
{% endif %}
{% if listener.timeout_tcp_inspect %} {% if listener.timeout_tcp_inspect %}
tcp-request inspect-delay {{ listener.timeout_tcp_inspect }} tcp-request inspect-delay {{ listener.timeout_tcp_inspect }}
{% endif %} {% endif %}

View File

@ -41,14 +41,15 @@ class HAProxyCompatTestCase(base.TestCase):
" option splice-response\n" " option splice-response\n"
" option http-keep-alive\n\n\n\n" " option http-keep-alive\n\n\n\n"
"frontend sample_listener_id_1\n" "frontend sample_listener_id_1\n"
" log-format 12345\\ sample_loadbalancer_id_1\\ %f\\ "
"%ci\\ %cp\\ %t\\ %{{+Q}}r\\ %ST\\ %B\\ %U\\ "
"%[ssl_c_verify]\\ %{{+Q}}[ssl_c_s_dn]\\ %b\\ %s\\ %Tt\\ %tsc\n"
" maxconn {maxconn}\n" " maxconn {maxconn}\n"
" bind 10.0.0.2:80\n" " bind 10.0.0.2:80\n"
" mode http\n" " mode http\n"
" default_backend sample_pool_id_1:sample_listener_id_1\n" " default_backend sample_pool_id_1:sample_listener_id_1\n"
" timeout client 50000\n\n").format( " timeout client 50000\n"
" log-format 12345\\ sample_loadbalancer_id_1\\ %f\\ "
"%ci\\ %cp\\ %t\\ %{{+Q}}r\\ %ST\\ %B\\ %U\\ "
"%[ssl_c_verify]\\ %{{+Q}}[ssl_c_s_dn]\\ %b\\ %s\\ %Tt\\ "
"%tsc\n\n").format(
maxconn=constants.HAPROXY_MAX_MAXCONN) maxconn=constants.HAPROXY_MAX_MAXCONN)
self.backend_without_external = ( self.backend_without_external = (
"backend sample_pool_id_1:sample_listener_id_1\n" "backend sample_pool_id_1:sample_listener_id_1\n"

View File

@ -35,10 +35,6 @@ class TestHaproxyCfg(base.TestCase):
def test_render_template_tls(self): def test_render_template_tls(self):
fe = ("frontend sample_listener_id_1\n" fe = ("frontend sample_listener_id_1\n"
" log-format 12345\\ sample_loadbalancer_id_1\\ %f\\ "
"%ci\\ %cp\\ %t\\ %{{+Q}}r\\ %ST\\ %B\\ %U\\ "
"%[ssl_c_verify]\\ %{{+Q}}[ssl_c_s_dn]\\ %b\\ %s\\ %Tt\\ "
"%tsc\n"
" maxconn {maxconn}\n" " maxconn {maxconn}\n"
" redirect scheme https if !{{ ssl_fc }}\n" " redirect scheme https if !{{ ssl_fc }}\n"
" bind 10.0.0.2:443 " " bind 10.0.0.2:443 "
@ -50,7 +46,7 @@ class TestHaproxyCfg(base.TestCase):
"certs/sample_loadbalancer_id_1/SHA_ID.pem\n" "certs/sample_loadbalancer_id_1/SHA_ID.pem\n"
" mode http\n" " mode http\n"
" default_backend sample_pool_id_1:sample_listener_id_1\n" " default_backend sample_pool_id_1:sample_listener_id_1\n"
" timeout client 50000\n\n").format( " timeout client 50000\n").format(
maxconn=constants.HAPROXY_MAX_MAXCONN) maxconn=constants.HAPROXY_MAX_MAXCONN)
be = ("backend sample_pool_id_1:sample_listener_id_1\n" be = ("backend sample_pool_id_1:sample_listener_id_1\n"
" mode http\n" " mode http\n"
@ -89,10 +85,6 @@ class TestHaproxyCfg(base.TestCase):
def test_render_template_tls_no_sni(self): def test_render_template_tls_no_sni(self):
fe = ("frontend sample_listener_id_1\n" fe = ("frontend sample_listener_id_1\n"
" log-format 12345\\ sample_loadbalancer_id_1\\ %f\\ "
"%ci\\ %cp\\ %t\\ %{{+Q}}r\\ %ST\\ %B\\ %U\\ "
"%[ssl_c_verify]\\ %{{+Q}}[ssl_c_s_dn]\\ %b\\ %s\\ %Tt\\ "
"%tsc\n"
" maxconn {maxconn}\n" " maxconn {maxconn}\n"
" redirect scheme https if !{{ ssl_fc }}\n" " redirect scheme https if !{{ ssl_fc }}\n"
" bind 10.0.0.2:443 " " bind 10.0.0.2:443 "
@ -100,7 +92,7 @@ class TestHaproxyCfg(base.TestCase):
"sample_loadbalancer_id_1/tls_container_id.pem\n" "sample_loadbalancer_id_1/tls_container_id.pem\n"
" mode http\n" " mode http\n"
" default_backend sample_pool_id_1:sample_listener_id_1\n" " default_backend sample_pool_id_1:sample_listener_id_1\n"
" timeout client 50000\n\n").format( " timeout client 50000\n").format(
maxconn=constants.HAPROXY_MAX_MAXCONN) maxconn=constants.HAPROXY_MAX_MAXCONN)
be = ("backend sample_pool_id_1:sample_listener_id_1\n" be = ("backend sample_pool_id_1:sample_listener_id_1\n"
" mode http\n" " mode http\n"
@ -192,15 +184,11 @@ class TestHaproxyCfg(base.TestCase):
def test_render_template_custom_timeouts(self): def test_render_template_custom_timeouts(self):
fe = ("frontend sample_listener_id_1\n" fe = ("frontend sample_listener_id_1\n"
" log-format 12345\\ sample_loadbalancer_id_1\\ %f\\ "
"%ci\\ %cp\\ %t\\ %{{+Q}}r\\ %ST\\ %B\\ %U\\ "
"%[ssl_c_verify]\\ %{{+Q}}[ssl_c_s_dn]\\ %b\\ %s\\ %Tt\\ "
"%tsc\n"
" maxconn {maxconn}\n" " maxconn {maxconn}\n"
" bind 10.0.0.2:80\n" " bind 10.0.0.2:80\n"
" mode http\n" " mode http\n"
" default_backend sample_pool_id_1:sample_listener_id_1\n" " default_backend sample_pool_id_1:sample_listener_id_1\n"
" timeout client 2\n\n").format( " timeout client 2\n").format(
maxconn=constants.HAPROXY_MAX_MAXCONN) maxconn=constants.HAPROXY_MAX_MAXCONN)
be = ("backend sample_pool_id_1:sample_listener_id_1\n" be = ("backend sample_pool_id_1:sample_listener_id_1\n"
" mode http\n" " mode http\n"
@ -231,15 +219,11 @@ class TestHaproxyCfg(base.TestCase):
def test_render_template_null_timeouts(self): def test_render_template_null_timeouts(self):
fe = ("frontend sample_listener_id_1\n" fe = ("frontend sample_listener_id_1\n"
" log-format 12345\\ sample_loadbalancer_id_1\\ %f\\ "
"%ci\\ %cp\\ %t\\ %{{+Q}}r\\ %ST\\ %B\\ %U\\ "
"%[ssl_c_verify]\\ %{{+Q}}[ssl_c_s_dn]\\ %b\\ %s\\ %Tt\\ "
"%tsc\n"
" maxconn {maxconn}\n" " maxconn {maxconn}\n"
" bind 10.0.0.2:80\n" " bind 10.0.0.2:80\n"
" mode http\n" " mode http\n"
" default_backend sample_pool_id_1:sample_listener_id_1\n" " default_backend sample_pool_id_1:sample_listener_id_1\n"
" timeout client 50000\n\n").format( " timeout client 50000\n").format(
maxconn=constants.HAPROXY_MAX_MAXCONN) maxconn=constants.HAPROXY_MAX_MAXCONN)
be = ("backend sample_pool_id_1:sample_listener_id_1\n" be = ("backend sample_pool_id_1:sample_listener_id_1\n"
" mode http\n" " mode http\n"
@ -299,16 +283,16 @@ class TestHaproxyCfg(base.TestCase):
def test_render_template_https_real_monitor(self): def test_render_template_https_real_monitor(self):
fe = ("frontend sample_listener_id_1\n" fe = ("frontend sample_listener_id_1\n"
" log-format 12345\\ sample_loadbalancer_id_1\\ %f\\ "
"%ci\\ %cp\\ %t\\ -\\ -\\ %B\\ %U\\ "
"%[ssl_c_verify]\\ %{{+Q}}[ssl_c_s_dn]\\ %b\\ %s\\ %Tt\\ "
"%tsc\n"
" maxconn {maxconn}\n" " maxconn {maxconn}\n"
" bind 10.0.0.2:443\n" " bind 10.0.0.2:443\n"
" mode tcp\n" " mode tcp\n"
" default_backend sample_pool_id_1:sample_listener_id_1\n" " default_backend sample_pool_id_1:sample_listener_id_1\n"
" timeout client 50000\n\n").format( " timeout client 50000\n").format(
maxconn=constants.HAPROXY_MAX_MAXCONN) maxconn=constants.HAPROXY_MAX_MAXCONN)
lg = (" log-format 12345\\ sample_loadbalancer_id_1\\ %f\\ "
"%ci\\ %cp\\ %t\\ -\\ -\\ %B\\ %U\\ "
"%[ssl_c_verify]\\ %{+Q}[ssl_c_s_dn]\\ %b\\ %s\\ %Tt\\ "
"%tsc\n\n")
be = ("backend sample_pool_id_1:sample_listener_id_1\n" be = ("backend sample_pool_id_1:sample_listener_id_1\n"
" mode tcp\n" " mode tcp\n"
" balance roundrobin\n" " balance roundrobin\n"
@ -331,20 +315,20 @@ class TestHaproxyCfg(base.TestCase):
sample_configs_combined.sample_amphora_tuple(), sample_configs_combined.sample_amphora_tuple(),
[sample_configs_combined.sample_listener_tuple(proto='HTTPS')]) [sample_configs_combined.sample_listener_tuple(proto='HTTPS')])
self.assertEqual(sample_configs_combined.sample_base_expected_config( self.assertEqual(sample_configs_combined.sample_base_expected_config(
frontend=fe, backend=be), rendered_obj) frontend=fe, logging=lg, backend=be), rendered_obj)
def test_render_template_https_hello_monitor(self): def test_render_template_https_hello_monitor(self):
fe = ("frontend sample_listener_id_1\n" fe = ("frontend sample_listener_id_1\n"
" log-format 12345\\ sample_loadbalancer_id_1\\ %f\\ "
"%ci\\ %cp\\ %t\\ -\\ -\\ %B\\ %U\\ "
"%[ssl_c_verify]\\ %{{+Q}}[ssl_c_s_dn]\\ %b\\ %s\\ %Tt\\ "
"%tsc\n"
" maxconn {maxconn}\n" " maxconn {maxconn}\n"
" bind 10.0.0.2:443\n" " bind 10.0.0.2:443\n"
" mode tcp\n" " mode tcp\n"
" default_backend sample_pool_id_1:sample_listener_id_1\n" " default_backend sample_pool_id_1:sample_listener_id_1\n"
" timeout client 50000\n\n").format( " timeout client 50000\n").format(
maxconn=constants.HAPROXY_MAX_MAXCONN) maxconn=constants.HAPROXY_MAX_MAXCONN)
lg = (" log-format 12345\\ sample_loadbalancer_id_1\\ %f\\ "
"%ci\\ %cp\\ %t\\ -\\ -\\ %B\\ %U\\ "
"%[ssl_c_verify]\\ %{+Q}[ssl_c_s_dn]\\ %b\\ %s\\ %Tt\\ "
"%tsc\n\n")
be = ("backend sample_pool_id_1:sample_listener_id_1\n" be = ("backend sample_pool_id_1:sample_listener_id_1\n"
" mode tcp\n" " mode tcp\n"
" balance roundrobin\n" " balance roundrobin\n"
@ -367,7 +351,7 @@ class TestHaproxyCfg(base.TestCase):
[sample_configs_combined.sample_listener_tuple( [sample_configs_combined.sample_listener_tuple(
proto='HTTPS', monitor_proto='TLS-HELLO')]) proto='HTTPS', monitor_proto='TLS-HELLO')])
self.assertEqual(sample_configs_combined.sample_base_expected_config( self.assertEqual(sample_configs_combined.sample_base_expected_config(
frontend=fe, backend=be), rendered_obj) frontend=fe, logging=lg, backend=be), rendered_obj)
def test_render_template_no_monitor_http(self): def test_render_template_no_monitor_http(self):
be = ("backend sample_pool_id_1:sample_listener_id_1\n" be = ("backend sample_pool_id_1:sample_listener_id_1\n"
@ -441,16 +425,16 @@ class TestHaproxyCfg(base.TestCase):
def test_render_template_no_monitor_https(self): def test_render_template_no_monitor_https(self):
fe = ("frontend sample_listener_id_1\n" fe = ("frontend sample_listener_id_1\n"
" log-format 12345\\ sample_loadbalancer_id_1\\ %f\\ "
"%ci\\ %cp\\ %t\\ -\\ -\\ %B\\ %U\\ "
"%[ssl_c_verify]\\ %{{+Q}}[ssl_c_s_dn]\\ %b\\ %s\\ %Tt\\ "
"%tsc\n"
" maxconn {maxconn}\n" " maxconn {maxconn}\n"
" bind 10.0.0.2:443\n" " bind 10.0.0.2:443\n"
" mode tcp\n" " mode tcp\n"
" default_backend sample_pool_id_1:sample_listener_id_1\n" " default_backend sample_pool_id_1:sample_listener_id_1\n"
" timeout client 50000\n\n").format( " timeout client 50000\n").format(
maxconn=constants.HAPROXY_MAX_MAXCONN) maxconn=constants.HAPROXY_MAX_MAXCONN)
lg = (" log-format 12345\\ sample_loadbalancer_id_1\\ %f\\ "
"%ci\\ %cp\\ %t\\ -\\ -\\ %B\\ %U\\ "
"%[ssl_c_verify]\\ %{+Q}[ssl_c_s_dn]\\ %b\\ %s\\ %Tt\\ "
"%tsc\n\n")
be = ("backend sample_pool_id_1:sample_listener_id_1\n" be = ("backend sample_pool_id_1:sample_listener_id_1\n"
" mode tcp\n" " mode tcp\n"
" balance roundrobin\n" " balance roundrobin\n"
@ -469,7 +453,7 @@ class TestHaproxyCfg(base.TestCase):
[sample_configs_combined.sample_listener_tuple(proto='HTTPS', [sample_configs_combined.sample_listener_tuple(proto='HTTPS',
monitor=False)]) monitor=False)])
self.assertEqual(sample_configs_combined.sample_base_expected_config( self.assertEqual(sample_configs_combined.sample_base_expected_config(
frontend=fe, backend=be), rendered_obj) frontend=fe, logging=lg, backend=be), rendered_obj)
def test_render_template_health_monitor_http_check(self): def test_render_template_health_monitor_http_check(self):
be = ("backend sample_pool_id_1:sample_listener_id_1\n" be = ("backend sample_pool_id_1:sample_listener_id_1\n"
@ -500,16 +484,16 @@ class TestHaproxyCfg(base.TestCase):
def test_render_template_no_persistence_https(self): def test_render_template_no_persistence_https(self):
fe = ("frontend sample_listener_id_1\n" fe = ("frontend sample_listener_id_1\n"
" log-format 12345\\ sample_loadbalancer_id_1\\ %f\\ "
"%ci\\ %cp\\ %t\\ -\\ -\\ %B\\ %U\\ "
"%[ssl_c_verify]\\ %{{+Q}}[ssl_c_s_dn]\\ %b\\ %s\\ %Tt\\ "
"%tsc\n"
" maxconn {maxconn}\n" " maxconn {maxconn}\n"
" bind 10.0.0.2:443\n" " bind 10.0.0.2:443\n"
" mode tcp\n" " mode tcp\n"
" default_backend sample_pool_id_1:sample_listener_id_1\n" " default_backend sample_pool_id_1:sample_listener_id_1\n"
" timeout client 50000\n\n").format( " timeout client 50000\n").format(
maxconn=constants.HAPROXY_MAX_MAXCONN) maxconn=constants.HAPROXY_MAX_MAXCONN)
lg = (" log-format 12345\\ sample_loadbalancer_id_1\\ %f\\ "
"%ci\\ %cp\\ %t\\ -\\ -\\ %B\\ %U\\ "
"%[ssl_c_verify]\\ %{+Q}[ssl_c_s_dn]\\ %b\\ %s\\ %Tt\\ "
"%tsc\n\n")
be = ("backend sample_pool_id_1:sample_listener_id_1\n" be = ("backend sample_pool_id_1:sample_listener_id_1\n"
" mode tcp\n" " mode tcp\n"
" balance roundrobin\n" " balance roundrobin\n"
@ -525,7 +509,7 @@ class TestHaproxyCfg(base.TestCase):
[sample_configs_combined.sample_listener_tuple( [sample_configs_combined.sample_listener_tuple(
proto='HTTPS', monitor=False, persistence=False)]) proto='HTTPS', monitor=False, persistence=False)])
self.assertEqual(sample_configs_combined.sample_base_expected_config( self.assertEqual(sample_configs_combined.sample_base_expected_config(
frontend=fe, backend=be), rendered_obj) frontend=fe, logging=lg, backend=be), rendered_obj)
def test_render_template_no_persistence_http(self): def test_render_template_no_persistence_http(self):
be = ("backend sample_pool_id_1:sample_listener_id_1\n" be = ("backend sample_pool_id_1:sample_listener_id_1\n"
@ -604,18 +588,18 @@ class TestHaproxyCfg(base.TestCase):
sample_listener = sample_configs_combined.sample_listener_tuple( sample_listener = sample_configs_combined.sample_listener_tuple(
proto='HTTPS', monitor=False) proto='HTTPS', monitor=False)
fe = ("frontend {listener_id}\n" fe = ("frontend {listener_id}\n"
" log-format 12345\\ sample_loadbalancer_id_1\\ %f\\ "
"%ci\\ %cp\\ %t\\ -\\ -\\ %B\\ %U\\ "
"%[ssl_c_verify]\\ %{{+Q}}[ssl_c_s_dn]\\ %b\\ %s\\ %Tt\\ "
"%tsc\n"
" maxconn {maxconn}\n" " maxconn {maxconn}\n"
" bind 10.0.0.2:443\n" " bind 10.0.0.2:443\n"
" mode tcp\n" " mode tcp\n"
" default_backend {pool_id}:{listener_id}\n" " default_backend {pool_id}:{listener_id}\n"
" timeout client 50000\n\n").format( " timeout client 50000\n").format(
maxconn=constants.HAPROXY_MAX_MAXCONN, maxconn=constants.HAPROXY_MAX_MAXCONN,
pool_id=sample_listener.default_pool.id, pool_id=sample_listener.default_pool.id,
listener_id=sample_listener.id) listener_id=sample_listener.id)
lg = (" log-format 12345\\ sample_loadbalancer_id_1\\ %f\\ "
"%ci\\ %cp\\ %t\\ -\\ -\\ %B\\ %U\\ "
"%[ssl_c_verify]\\ %{+Q}[ssl_c_s_dn]\\ %b\\ %s\\ %Tt\\ "
"%tsc\n\n")
be = ("backend {pool_id}:{listener_id}\n" be = ("backend {pool_id}:{listener_id}\n"
" mode tcp\n" " mode tcp\n"
" balance roundrobin\n" " balance roundrobin\n"
@ -635,19 +619,19 @@ class TestHaproxyCfg(base.TestCase):
sample_amphora, sample_amphora,
[sample_listener]) [sample_listener])
self.assertEqual(sample_configs_combined.sample_base_expected_config( self.assertEqual(sample_configs_combined.sample_base_expected_config(
frontend=fe, backend=be), rendered_obj) frontend=fe, logging=lg, backend=be), rendered_obj)
def test_render_template_limited_connections(self): def test_render_template_limited_connections(self):
fe = ("frontend sample_listener_id_1\n" fe = ("frontend sample_listener_id_1\n"
" log-format 12345\\ sample_loadbalancer_id_1\\ %f\\ "
"%ci\\ %cp\\ %t\\ -\\ -\\ %B\\ %U\\ "
"%[ssl_c_verify]\\ %{+Q}[ssl_c_s_dn]\\ %b\\ %s\\ %Tt\\ "
"%tsc\n"
" maxconn 2014\n" " maxconn 2014\n"
" bind 10.0.0.2:443\n" " bind 10.0.0.2:443\n"
" mode tcp\n" " mode tcp\n"
" default_backend sample_pool_id_1:sample_listener_id_1\n" " default_backend sample_pool_id_1:sample_listener_id_1\n"
" timeout client 50000\n\n") " timeout client 50000\n")
lg = (" log-format 12345\\ sample_loadbalancer_id_1\\ %f\\ "
"%ci\\ %cp\\ %t\\ -\\ -\\ %B\\ %U\\ "
"%[ssl_c_verify]\\ %{+Q}[ssl_c_s_dn]\\ %b\\ %s\\ %Tt\\ "
"%tsc\n\n")
be = ("backend sample_pool_id_1:sample_listener_id_1\n" be = ("backend sample_pool_id_1:sample_listener_id_1\n"
" mode tcp\n" " mode tcp\n"
" balance roundrobin\n" " balance roundrobin\n"
@ -666,14 +650,11 @@ class TestHaproxyCfg(base.TestCase):
[sample_configs_combined.sample_listener_tuple( [sample_configs_combined.sample_listener_tuple(
proto='HTTPS', monitor=False, connection_limit=2014)]) proto='HTTPS', monitor=False, connection_limit=2014)])
self.assertEqual(sample_configs_combined.sample_base_expected_config( self.assertEqual(sample_configs_combined.sample_base_expected_config(
frontend=fe, backend=be, global_opts=g_opts), rendered_obj) frontend=fe, logging=lg, backend=be, global_opts=g_opts),
rendered_obj)
def test_render_template_l7policies(self): def test_render_template_l7policies(self):
fe = ("frontend sample_listener_id_1\n" fe = ("frontend sample_listener_id_1\n"
" log-format 12345\\ sample_loadbalancer_id_1\\ %f\\ "
"%ci\\ %cp\\ %t\\ %{{+Q}}r\\ %ST\\ %B\\ %U\\ "
"%[ssl_c_verify]\\ %{{+Q}}[ssl_c_s_dn]\\ %b\\ %s\\ %Tt\\ "
"%tsc\n"
" maxconn {maxconn}\n" " maxconn {maxconn}\n"
" bind 10.0.0.2:80\n" " bind 10.0.0.2:80\n"
" mode http\n" " mode http\n"
@ -698,7 +679,7 @@ class TestHaproxyCfg(base.TestCase):
" redirect code 302 prefix https://example.com if " " redirect code 302 prefix https://example.com if "
"!sample_l7rule_id_2 sample_l7rule_id_3\n" "!sample_l7rule_id_2 sample_l7rule_id_3\n"
" default_backend sample_pool_id_1:sample_listener_id_1\n" " default_backend sample_pool_id_1:sample_listener_id_1\n"
" timeout client 50000\n\n").format( " timeout client 50000\n").format(
maxconn=constants.HAPROXY_MAX_MAXCONN) maxconn=constants.HAPROXY_MAX_MAXCONN)
be = ("backend sample_pool_id_1:sample_listener_id_1\n" be = ("backend sample_pool_id_1:sample_listener_id_1\n"
" mode http\n" " mode http\n"
@ -1051,7 +1032,7 @@ class TestHaproxyCfg(base.TestCase):
) )
self.assertEqual( self.assertEqual(
sample_configs_combined.sample_base_expected_config( sample_configs_combined.sample_base_expected_config(
defaults=defaults), defaults=defaults, logging="\n"),
rendered_obj) rendered_obj)
def test_http_reuse(self): def test_http_reuse(self):
@ -1124,10 +1105,6 @@ class TestHaproxyCfg(base.TestCase):
base_amp_path='/var/lib/octavia', base_amp_path='/var/lib/octavia',
base_crt_dir='/var/lib/octavia/certs') base_crt_dir='/var/lib/octavia/certs')
fe = ("frontend sample_listener_id_1\n" fe = ("frontend sample_listener_id_1\n"
" log-format 12345\\ sample_loadbalancer_id_1\\ %f\\ "
"%ci\\ %cp\\ %t\\ %{+Q}r\\ %ST\\ %B\\ %U\\ "
"%[ssl_c_verify]\\ %{+Q}[ssl_c_s_dn]\\ %b\\ %s\\ %Tt\\ "
"%tsc\n"
" maxconn 1000000\n" " maxconn 1000000\n"
" redirect scheme https if !{ ssl_fc }\n" " redirect scheme https if !{ ssl_fc }\n"
" bind 10.0.0.2:443\n" " bind 10.0.0.2:443\n"
@ -1164,7 +1141,7 @@ class TestHaproxyCfg(base.TestCase):
"if sample_l7rule_id_7 !sample_l7rule_id_8 !sample_l7rule_id_9 " "if sample_l7rule_id_7 !sample_l7rule_id_8 !sample_l7rule_id_9 "
"!sample_l7rule_id_10 sample_l7rule_id_11\n" "!sample_l7rule_id_10 sample_l7rule_id_11\n"
" default_backend sample_pool_id_1:sample_listener_id_1\n" " default_backend sample_pool_id_1:sample_listener_id_1\n"
" timeout client 50000\n\n") " timeout client 50000\n")
be = ("backend sample_pool_id_1:sample_listener_id_1\n" be = ("backend sample_pool_id_1:sample_listener_id_1\n"
" mode http\n" " mode http\n"
" balance roundrobin\n" " balance roundrobin\n"

View File

@ -35,10 +35,6 @@ class TestHaproxyCfg(base.TestCase):
def test_render_template_tls(self): def test_render_template_tls(self):
fe = ("frontend sample_listener_id_1\n" fe = ("frontend sample_listener_id_1\n"
" log-format 12345\\ sample_loadbalancer_id_1\\ %f\\ "
"%ci\\ %cp\\ %t\\ %{{+Q}}r\\ %ST\\ %B\\ %U\\ "
"%[ssl_c_verify]\\ %{{+Q}}[ssl_c_s_dn]\\ %b\\ %s\\ %Tt\\ "
"%tsc\n"
" maxconn {maxconn}\n" " maxconn {maxconn}\n"
" redirect scheme https if !{{ ssl_fc }}\n" " redirect scheme https if !{{ ssl_fc }}\n"
" bind 10.0.0.2:443 " " bind 10.0.0.2:443 "
@ -50,7 +46,7 @@ class TestHaproxyCfg(base.TestCase):
"certs/sample_listener_id_1/SHA_ID.pem\n" "certs/sample_listener_id_1/SHA_ID.pem\n"
" mode http\n" " mode http\n"
" default_backend sample_pool_id_1\n" " default_backend sample_pool_id_1\n"
" timeout client 50000\n\n").format( " timeout client 50000\n").format(
maxconn=constants.HAPROXY_MAX_MAXCONN) maxconn=constants.HAPROXY_MAX_MAXCONN)
be = ("backend sample_pool_id_1\n" be = ("backend sample_pool_id_1\n"
" mode http\n" " mode http\n"
@ -88,10 +84,6 @@ class TestHaproxyCfg(base.TestCase):
def test_render_template_tls_no_sni(self): def test_render_template_tls_no_sni(self):
fe = ("frontend sample_listener_id_1\n" fe = ("frontend sample_listener_id_1\n"
" log-format 12345\\ sample_loadbalancer_id_1\\ %f\\ "
"%ci\\ %cp\\ %t\\ %{{+Q}}r\\ %ST\\ %B\\ %U\\ "
"%[ssl_c_verify]\\ %{{+Q}}[ssl_c_s_dn]\\ %b\\ %s\\ %Tt\\ "
"%tsc\n"
" maxconn {maxconn}\n" " maxconn {maxconn}\n"
" redirect scheme https if !{{ ssl_fc }}\n" " redirect scheme https if !{{ ssl_fc }}\n"
" bind 10.0.0.2:443 " " bind 10.0.0.2:443 "
@ -99,7 +91,7 @@ class TestHaproxyCfg(base.TestCase):
"sample_listener_id_1/tls_container_id.pem\n" "sample_listener_id_1/tls_container_id.pem\n"
" mode http\n" " mode http\n"
" default_backend sample_pool_id_1\n" " default_backend sample_pool_id_1\n"
" timeout client 50000\n\n").format( " timeout client 50000\n").format(
maxconn=constants.HAPROXY_MAX_MAXCONN) maxconn=constants.HAPROXY_MAX_MAXCONN)
be = ("backend sample_pool_id_1\n" be = ("backend sample_pool_id_1\n"
" mode http\n" " mode http\n"
@ -190,15 +182,11 @@ class TestHaproxyCfg(base.TestCase):
def test_render_template_custom_timeouts(self): def test_render_template_custom_timeouts(self):
fe = ("frontend sample_listener_id_1\n" fe = ("frontend sample_listener_id_1\n"
" log-format 12345\\ sample_loadbalancer_id_1\\ %f\\ "
"%ci\\ %cp\\ %t\\ %{{+Q}}r\\ %ST\\ %B\\ %U\\ "
"%[ssl_c_verify]\\ %{{+Q}}[ssl_c_s_dn]\\ %b\\ %s\\ %Tt\\ "
"%tsc\n"
" maxconn {maxconn}\n" " maxconn {maxconn}\n"
" bind 10.0.0.2:80\n" " bind 10.0.0.2:80\n"
" mode http\n" " mode http\n"
" default_backend sample_pool_id_1\n" " default_backend sample_pool_id_1\n"
" timeout client 2\n\n").format( " timeout client 2\n").format(
maxconn=constants.HAPROXY_MAX_MAXCONN) maxconn=constants.HAPROXY_MAX_MAXCONN)
be = ("backend sample_pool_id_1\n" be = ("backend sample_pool_id_1\n"
" mode http\n" " mode http\n"
@ -229,15 +217,11 @@ class TestHaproxyCfg(base.TestCase):
def test_render_template_null_timeouts(self): def test_render_template_null_timeouts(self):
fe = ("frontend sample_listener_id_1\n" fe = ("frontend sample_listener_id_1\n"
" log-format 12345\\ sample_loadbalancer_id_1\\ %f\\ "
"%ci\\ %cp\\ %t\\ %{{+Q}}r\\ %ST\\ %B\\ %U\\ "
"%[ssl_c_verify]\\ %{{+Q}}[ssl_c_s_dn]\\ %b\\ %s\\ %Tt\\ "
"%tsc\n"
" maxconn {maxconn}\n" " maxconn {maxconn}\n"
" bind 10.0.0.2:80\n" " bind 10.0.0.2:80\n"
" mode http\n" " mode http\n"
" default_backend sample_pool_id_1\n" " default_backend sample_pool_id_1\n"
" timeout client 50000\n\n").format( " timeout client 50000\n").format(
maxconn=constants.HAPROXY_MAX_MAXCONN) maxconn=constants.HAPROXY_MAX_MAXCONN)
be = ("backend sample_pool_id_1\n" be = ("backend sample_pool_id_1\n"
" mode http\n" " mode http\n"
@ -296,16 +280,16 @@ class TestHaproxyCfg(base.TestCase):
def test_render_template_https_real_monitor(self): def test_render_template_https_real_monitor(self):
fe = ("frontend sample_listener_id_1\n" fe = ("frontend sample_listener_id_1\n"
" log-format 12345\\ sample_loadbalancer_id_1\\ %f\\ "
"%ci\\ %cp\\ %t\\ -\\ -\\ %B\\ %U\\ "
"%[ssl_c_verify]\\ %{{+Q}}[ssl_c_s_dn]\\ %b\\ %s\\ %Tt\\ "
"%tsc\n"
" maxconn {maxconn}\n" " maxconn {maxconn}\n"
" bind 10.0.0.2:443\n" " bind 10.0.0.2:443\n"
" mode tcp\n" " mode tcp\n"
" default_backend sample_pool_id_1\n" " default_backend sample_pool_id_1\n"
" timeout client 50000\n\n").format( " timeout client 50000\n").format(
maxconn=constants.HAPROXY_MAX_MAXCONN) maxconn=constants.HAPROXY_MAX_MAXCONN)
lg = (" log-format 12345\\ sample_loadbalancer_id_1\\ %f\\ "
"%ci\\ %cp\\ %t\\ -\\ -\\ %B\\ %U\\ "
"%[ssl_c_verify]\\ %{+Q}[ssl_c_s_dn]\\ %b\\ %s\\ %Tt\\ "
"%tsc\n\n")
be = ("backend sample_pool_id_1\n" be = ("backend sample_pool_id_1\n"
" mode tcp\n" " mode tcp\n"
" balance roundrobin\n" " balance roundrobin\n"
@ -328,20 +312,20 @@ class TestHaproxyCfg(base.TestCase):
sample_configs_split.sample_amphora_tuple(), sample_configs_split.sample_amphora_tuple(),
sample_configs_split.sample_listener_tuple(proto='HTTPS')) sample_configs_split.sample_listener_tuple(proto='HTTPS'))
self.assertEqual(sample_configs_split.sample_base_expected_config( self.assertEqual(sample_configs_split.sample_base_expected_config(
frontend=fe, backend=be), rendered_obj) frontend=fe, logging=lg, backend=be), rendered_obj)
def test_render_template_https_hello_monitor(self): def test_render_template_https_hello_monitor(self):
fe = ("frontend sample_listener_id_1\n" fe = ("frontend sample_listener_id_1\n"
" log-format 12345\\ sample_loadbalancer_id_1\\ %f\\ "
"%ci\\ %cp\\ %t\\ -\\ -\\ %B\\ %U\\ "
"%[ssl_c_verify]\\ %{{+Q}}[ssl_c_s_dn]\\ %b\\ %s\\ %Tt\\ "
"%tsc\n"
" maxconn {maxconn}\n" " maxconn {maxconn}\n"
" bind 10.0.0.2:443\n" " bind 10.0.0.2:443\n"
" mode tcp\n" " mode tcp\n"
" default_backend sample_pool_id_1\n" " default_backend sample_pool_id_1\n"
" timeout client 50000\n\n").format( " timeout client 50000\n").format(
maxconn=constants.HAPROXY_MAX_MAXCONN) maxconn=constants.HAPROXY_MAX_MAXCONN)
lg = (" log-format 12345\\ sample_loadbalancer_id_1\\ %f\\ "
"%ci\\ %cp\\ %t\\ -\\ -\\ %B\\ %U\\ "
"%[ssl_c_verify]\\ %{+Q}[ssl_c_s_dn]\\ %b\\ %s\\ %Tt\\ "
"%tsc\n\n")
be = ("backend sample_pool_id_1\n" be = ("backend sample_pool_id_1\n"
" mode tcp\n" " mode tcp\n"
" balance roundrobin\n" " balance roundrobin\n"
@ -364,7 +348,7 @@ class TestHaproxyCfg(base.TestCase):
sample_configs_split.sample_listener_tuple( sample_configs_split.sample_listener_tuple(
proto='HTTPS', monitor_proto='TLS-HELLO')) proto='HTTPS', monitor_proto='TLS-HELLO'))
self.assertEqual(sample_configs_split.sample_base_expected_config( self.assertEqual(sample_configs_split.sample_base_expected_config(
frontend=fe, backend=be), rendered_obj) frontend=fe, logging=lg, backend=be), rendered_obj)
def test_render_template_no_monitor_http(self): def test_render_template_no_monitor_http(self):
be = ("backend sample_pool_id_1\n" be = ("backend sample_pool_id_1\n"
@ -438,16 +422,16 @@ class TestHaproxyCfg(base.TestCase):
def test_render_template_no_monitor_https(self): def test_render_template_no_monitor_https(self):
fe = ("frontend sample_listener_id_1\n" fe = ("frontend sample_listener_id_1\n"
" log-format 12345\\ sample_loadbalancer_id_1\\ %f\\ "
"%ci\\ %cp\\ %t\\ -\\ -\\ %B\\ %U\\ "
"%[ssl_c_verify]\\ %{{+Q}}[ssl_c_s_dn]\\ %b\\ %s\\ %Tt\\ "
"%tsc\n"
" maxconn {maxconn}\n" " maxconn {maxconn}\n"
" bind 10.0.0.2:443\n" " bind 10.0.0.2:443\n"
" mode tcp\n" " mode tcp\n"
" default_backend sample_pool_id_1\n" " default_backend sample_pool_id_1\n"
" timeout client 50000\n\n").format( " timeout client 50000\n").format(
maxconn=constants.HAPROXY_MAX_MAXCONN) maxconn=constants.HAPROXY_MAX_MAXCONN)
lg = (" log-format 12345\\ sample_loadbalancer_id_1\\ %f\\ "
"%ci\\ %cp\\ %t\\ -\\ -\\ %B\\ %U\\ "
"%[ssl_c_verify]\\ %{+Q}[ssl_c_s_dn]\\ %b\\ %s\\ %Tt\\ "
"%tsc\n\n")
be = ("backend sample_pool_id_1\n" be = ("backend sample_pool_id_1\n"
" mode tcp\n" " mode tcp\n"
" balance roundrobin\n" " balance roundrobin\n"
@ -466,7 +450,7 @@ class TestHaproxyCfg(base.TestCase):
sample_configs_split.sample_listener_tuple( sample_configs_split.sample_listener_tuple(
proto='HTTPS', monitor=False)) proto='HTTPS', monitor=False))
self.assertEqual(sample_configs_split.sample_base_expected_config( self.assertEqual(sample_configs_split.sample_base_expected_config(
frontend=fe, backend=be), rendered_obj) frontend=fe, logging=lg, backend=be), rendered_obj)
def test_render_template_health_monitor_http_check(self): def test_render_template_health_monitor_http_check(self):
be = ("backend sample_pool_id_1\n" be = ("backend sample_pool_id_1\n"
@ -497,16 +481,16 @@ class TestHaproxyCfg(base.TestCase):
def test_render_template_no_persistence_https(self): def test_render_template_no_persistence_https(self):
fe = ("frontend sample_listener_id_1\n" fe = ("frontend sample_listener_id_1\n"
" log-format 12345\\ sample_loadbalancer_id_1\\ %f\\ "
"%ci\\ %cp\\ %t\\ -\\ -\\ %B\\ %U\\ "
"%[ssl_c_verify]\\ %{{+Q}}[ssl_c_s_dn]\\ %b\\ %s\\ %Tt\\ "
"%tsc\n"
" maxconn {maxconn}\n" " maxconn {maxconn}\n"
" bind 10.0.0.2:443\n" " bind 10.0.0.2:443\n"
" mode tcp\n" " mode tcp\n"
" default_backend sample_pool_id_1\n" " default_backend sample_pool_id_1\n"
" timeout client 50000\n\n").format( " timeout client 50000\n").format(
maxconn=constants.HAPROXY_MAX_MAXCONN) maxconn=constants.HAPROXY_MAX_MAXCONN)
lg = (" log-format 12345\\ sample_loadbalancer_id_1\\ %f\\ "
"%ci\\ %cp\\ %t\\ -\\ -\\ %B\\ %U\\ "
"%[ssl_c_verify]\\ %{+Q}[ssl_c_s_dn]\\ %b\\ %s\\ %Tt\\ "
"%tsc\n\n")
be = ("backend sample_pool_id_1\n" be = ("backend sample_pool_id_1\n"
" mode tcp\n" " mode tcp\n"
" balance roundrobin\n" " balance roundrobin\n"
@ -522,7 +506,7 @@ class TestHaproxyCfg(base.TestCase):
sample_configs_split.sample_listener_tuple( sample_configs_split.sample_listener_tuple(
proto='HTTPS', monitor=False, persistence=False)) proto='HTTPS', monitor=False, persistence=False))
self.assertEqual(sample_configs_split.sample_base_expected_config( self.assertEqual(sample_configs_split.sample_base_expected_config(
frontend=fe, backend=be), rendered_obj) frontend=fe, logging=lg, backend=be), rendered_obj)
def test_render_template_no_persistence_http(self): def test_render_template_no_persistence_http(self):
be = ("backend sample_pool_id_1\n" be = ("backend sample_pool_id_1\n"
@ -598,16 +582,16 @@ class TestHaproxyCfg(base.TestCase):
def test_render_template_unlimited_connections(self): def test_render_template_unlimited_connections(self):
fe = ("frontend sample_listener_id_1\n" fe = ("frontend sample_listener_id_1\n"
" log-format 12345\\ sample_loadbalancer_id_1\\ %f\\ "
"%ci\\ %cp\\ %t\\ -\\ -\\ %B\\ %U\\ "
"%[ssl_c_verify]\\ %{{+Q}}[ssl_c_s_dn]\\ %b\\ %s\\ %Tt\\ "
"%tsc\n"
" maxconn {maxconn}\n" " maxconn {maxconn}\n"
" bind 10.0.0.2:443\n" " bind 10.0.0.2:443\n"
" mode tcp\n" " mode tcp\n"
" default_backend sample_pool_id_1\n" " default_backend sample_pool_id_1\n"
" timeout client 50000\n\n").format( " timeout client 50000\n").format(
maxconn=constants.HAPROXY_MAX_MAXCONN) maxconn=constants.HAPROXY_MAX_MAXCONN)
lg = (" log-format 12345\\ sample_loadbalancer_id_1\\ %f\\ "
"%ci\\ %cp\\ %t\\ -\\ -\\ %B\\ %U\\ "
"%[ssl_c_verify]\\ %{+Q}[ssl_c_s_dn]\\ %b\\ %s\\ %Tt\\ "
"%tsc\n\n")
be = ("backend sample_pool_id_1\n" be = ("backend sample_pool_id_1\n"
" mode tcp\n" " mode tcp\n"
" balance roundrobin\n" " balance roundrobin\n"
@ -626,19 +610,19 @@ class TestHaproxyCfg(base.TestCase):
sample_configs_split.sample_listener_tuple( sample_configs_split.sample_listener_tuple(
proto='HTTPS', monitor=False)) proto='HTTPS', monitor=False))
self.assertEqual(sample_configs_split.sample_base_expected_config( self.assertEqual(sample_configs_split.sample_base_expected_config(
frontend=fe, backend=be), rendered_obj) frontend=fe, logging=lg, backend=be), rendered_obj)
def test_render_template_limited_connections(self): def test_render_template_limited_connections(self):
fe = ("frontend sample_listener_id_1\n" fe = ("frontend sample_listener_id_1\n"
" log-format 12345\\ sample_loadbalancer_id_1\\ %f\\ "
"%ci\\ %cp\\ %t\\ -\\ -\\ %B\\ %U\\ "
"%[ssl_c_verify]\\ %{+Q}[ssl_c_s_dn]\\ %b\\ %s\\ %Tt\\ "
"%tsc\n"
" maxconn 2014\n" " maxconn 2014\n"
" bind 10.0.0.2:443\n" " bind 10.0.0.2:443\n"
" mode tcp\n" " mode tcp\n"
" default_backend sample_pool_id_1\n" " default_backend sample_pool_id_1\n"
" timeout client 50000\n\n") " timeout client 50000\n")
lg = (" log-format 12345\\ sample_loadbalancer_id_1\\ %f\\ "
"%ci\\ %cp\\ %t\\ -\\ -\\ %B\\ %U\\ "
"%[ssl_c_verify]\\ %{+Q}[ssl_c_s_dn]\\ %b\\ %s\\ %Tt\\ "
"%tsc\n\n")
be = ("backend sample_pool_id_1\n" be = ("backend sample_pool_id_1\n"
" mode tcp\n" " mode tcp\n"
" balance roundrobin\n" " balance roundrobin\n"
@ -657,14 +641,11 @@ class TestHaproxyCfg(base.TestCase):
sample_configs_split.sample_listener_tuple( sample_configs_split.sample_listener_tuple(
proto='HTTPS', monitor=False, connection_limit=2014)) proto='HTTPS', monitor=False, connection_limit=2014))
self.assertEqual(sample_configs_split.sample_base_expected_config( self.assertEqual(sample_configs_split.sample_base_expected_config(
frontend=fe, backend=be, global_opts=g_opts), rendered_obj) frontend=fe, logging=lg, backend=be, global_opts=g_opts),
rendered_obj)
def test_render_template_l7policies(self): def test_render_template_l7policies(self):
fe = ("frontend sample_listener_id_1\n" fe = ("frontend sample_listener_id_1\n"
" log-format 12345\\ sample_loadbalancer_id_1\\ %f\\ "
"%ci\\ %cp\\ %t\\ %{{+Q}}r\\ %ST\\ %B\\ %U\\ "
"%[ssl_c_verify]\\ %{{+Q}}[ssl_c_s_dn]\\ %b\\ %s\\ %Tt\\ "
"%tsc\n"
" maxconn {maxconn}\n" " maxconn {maxconn}\n"
" bind 10.0.0.2:80\n" " bind 10.0.0.2:80\n"
" mode http\n" " mode http\n"
@ -688,7 +669,7 @@ class TestHaproxyCfg(base.TestCase):
" redirect code 302 prefix https://example.com if " " redirect code 302 prefix https://example.com if "
"!sample_l7rule_id_2 sample_l7rule_id_3\n" "!sample_l7rule_id_2 sample_l7rule_id_3\n"
" default_backend sample_pool_id_1\n" " default_backend sample_pool_id_1\n"
" timeout client 50000\n\n").format( " timeout client 50000\n").format(
maxconn=constants.HAPROXY_MAX_MAXCONN) maxconn=constants.HAPROXY_MAX_MAXCONN)
be = ("backend sample_pool_id_1\n" be = ("backend sample_pool_id_1\n"
" mode http\n" " mode http\n"
@ -1042,7 +1023,7 @@ class TestHaproxyCfg(base.TestCase):
) )
self.assertEqual( self.assertEqual(
sample_configs_split.sample_base_expected_config( sample_configs_split.sample_base_expected_config(
defaults=defaults), defaults=defaults, logging="\n"),
rendered_obj) rendered_obj)
def test_http_reuse(self): def test_http_reuse(self):
@ -1108,10 +1089,6 @@ class TestHaproxyCfg(base.TestCase):
base_amp_path='/var/lib/octavia', base_amp_path='/var/lib/octavia',
base_crt_dir='/var/lib/octavia/certs') base_crt_dir='/var/lib/octavia/certs')
fe = ("frontend sample_listener_id_1\n" fe = ("frontend sample_listener_id_1\n"
" log-format 12345\\ sample_loadbalancer_id_1\\ %f\\ "
"%ci\\ %cp\\ %t\\ %{+Q}r\\ %ST\\ %B\\ %U\\ "
"%[ssl_c_verify]\\ %{+Q}[ssl_c_s_dn]\\ %b\\ %s\\ %Tt\\ "
"%tsc\n"
" maxconn 1000000\n" " maxconn 1000000\n"
" redirect scheme https if !{ ssl_fc }\n" " redirect scheme https if !{ ssl_fc }\n"
" bind 10.0.0.2:443\n" " bind 10.0.0.2:443\n"
@ -1147,7 +1124,7 @@ class TestHaproxyCfg(base.TestCase):
"if sample_l7rule_id_7 !sample_l7rule_id_8 !sample_l7rule_id_9 " "if sample_l7rule_id_7 !sample_l7rule_id_8 !sample_l7rule_id_9 "
"!sample_l7rule_id_10 sample_l7rule_id_11\n" "!sample_l7rule_id_10 sample_l7rule_id_11\n"
" default_backend sample_pool_id_1\n" " default_backend sample_pool_id_1\n"
" timeout client 50000\n\n") " timeout client 50000\n")
be = ("backend sample_pool_id_1\n" be = ("backend sample_pool_id_1\n"
" mode http\n" " mode http\n"
" balance roundrobin\n" " balance roundrobin\n"

View File

@ -1034,21 +1034,22 @@ def sample_l7rule_tuple(id,
enabled=enabled) enabled=enabled)
def sample_base_expected_config(frontend=None, backend=None, def sample_base_expected_config(frontend=None, logging=None, backend=None,
peers=None, global_opts=None, defaults=None): peers=None, global_opts=None, defaults=None):
if frontend is None: if frontend is None:
frontend = ("frontend sample_listener_id_1\n" frontend = ("frontend sample_listener_id_1\n"
" log-format 12345\\ sample_loadbalancer_id_1\\ %f\\ "
"%ci\\ %cp\\ %t\\ %{{+Q}}r\\ %ST\\ %B\\ %U\\ "
"%[ssl_c_verify]\\ %{{+Q}}[ssl_c_s_dn]\\ %b\\ %s\\ %Tt\\ "
"%tsc\n"
" maxconn {maxconn}\n" " maxconn {maxconn}\n"
" bind 10.0.0.2:80\n" " bind 10.0.0.2:80\n"
" mode http\n" " mode http\n"
" default_backend sample_pool_id_1:sample_listener_id_1" " default_backend sample_pool_id_1:sample_listener_id_1"
"\n" "\n"
" timeout client 50000\n\n").format( " timeout client 50000\n").format(
maxconn=constants.HAPROXY_MAX_MAXCONN) maxconn=constants.HAPROXY_MAX_MAXCONN)
if logging is None:
logging = (" log-format 12345\\ sample_loadbalancer_id_1\\ %f\\ "
"%ci\\ %cp\\ %t\\ %{+Q}r\\ %ST\\ %B\\ %U\\ "
"%[ssl_c_verify]\\ %{+Q}[ssl_c_s_dn]\\ %b\\ %s\\ %Tt\\ "
"%tsc\n\n")
if backend is None: if backend is None:
backend = ("backend sample_pool_id_1:sample_listener_id_1\n" backend = ("backend sample_pool_id_1:sample_listener_id_1\n"
" mode http\n" " mode http\n"
@ -1088,4 +1089,4 @@ def sample_base_expected_config(frontend=None, backend=None,
" log /run/rsyslog/octavia/log local1 notice\n" " log /run/rsyslog/octavia/log local1 notice\n"
" stats socket /var/lib/octavia/sample_loadbalancer_id_1.sock" " stats socket /var/lib/octavia/sample_loadbalancer_id_1.sock"
" mode 0666 level user\n" + " mode 0666 level user\n" +
global_opts + defaults + peers + frontend + backend) global_opts + defaults + peers + frontend + logging + backend)

View File

@ -1053,20 +1053,21 @@ def sample_l7rule_tuple(id,
enabled=enabled) enabled=enabled)
def sample_base_expected_config(frontend=None, backend=None, def sample_base_expected_config(frontend=None, logging=None, backend=None,
peers=None, global_opts=None, defaults=None): peers=None, global_opts=None, defaults=None):
if frontend is None: if frontend is None:
frontend = ("frontend sample_listener_id_1\n" frontend = ("frontend sample_listener_id_1\n"
" log-format 12345\\ sample_loadbalancer_id_1\\ %f\\ "
"%ci\\ %cp\\ %t\\ %{{+Q}}r\\ %ST\\ %B\\ %U\\ "
"%[ssl_c_verify]\\ %{{+Q}}[ssl_c_s_dn]\\ %b\\ %s\\ %Tt\\ "
"%tsc\n"
" maxconn {maxconn}\n" " maxconn {maxconn}\n"
" bind 10.0.0.2:80\n" " bind 10.0.0.2:80\n"
" mode http\n" " mode http\n"
" default_backend sample_pool_id_1\n" " default_backend sample_pool_id_1\n"
" timeout client 50000\n\n").format( " timeout client 50000\n").format(
maxconn=constants.HAPROXY_MAX_MAXCONN) maxconn=constants.HAPROXY_MAX_MAXCONN)
if logging is None:
logging = (" log-format 12345\\ sample_loadbalancer_id_1\\ %f\\ "
"%ci\\ %cp\\ %t\\ %{+Q}r\\ %ST\\ %B\\ %U\\ "
"%[ssl_c_verify]\\ %{+Q}[ssl_c_s_dn]\\ %b\\ %s\\ %Tt\\ "
"%tsc\n\n")
if backend is None: if backend is None:
backend = ("backend sample_pool_id_1\n" backend = ("backend sample_pool_id_1\n"
" mode http\n" " mode http\n"
@ -1106,4 +1107,4 @@ def sample_base_expected_config(frontend=None, backend=None,
" log /run/rsyslog/octavia/log local1 notice\n" " log /run/rsyslog/octavia/log local1 notice\n"
" stats socket /var/lib/octavia/sample_listener_id_1.sock" " stats socket /var/lib/octavia/sample_listener_id_1.sock"
" mode 0666 level user\n" + " mode 0666 level user\n" +
global_opts + defaults + peers + frontend + backend) global_opts + defaults + peers + frontend + logging + backend)