HAProxy community

Peers with nbproc > 1 in HAProxy version 2.0.4

Hello everyone, I’m migrating haproxy from version 1.6.9 to version 2.0.4 on rhel 7.6.
In the configuration for haproxy 1.6.9 I’m using nbproc > 1 and peers, by trying to use the same configuration on version 2.0.4 I’ve errors because of the syntax change for peers and for the use of nbproc > 1.
Here the configuration that I’m trying to run:

peers http_rate
        server hap1 127.0.0.1:1023
        table t1 type ip size 10k expire 300s store gpc0_rate(30s)

global
    maxconn    400000
    log        127.0.0.1 local2 alert
    daemon
    ca-base  /etc/ssl/self/
    crt-base  /etc/ssl/self/

    tune.ssl.default-dh-param 2048
    stats socket /etc/haproxy/haproxysock1 mode 0777 level admin process 1
    stats socket /etc/haproxy/haproxysock2 mode 0777 level admin process 2
    stats socket /etc/haproxy/haproxysock3 mode 0777 level admin process 3
    stats socket /etc/haproxy/haproxysock4 mode 0777 level admin process 4
    stats socket /etc/haproxy/haproxysock5 mode 0777 level admin process 5
    stats socket /etc/haproxy/haproxysock6 mode 0777 level admin process 6
    stats socket /etc/haproxy/haproxysock7 mode 0777 level admin process 7
    stats socket /etc/haproxy/haproxysock8 mode 0777 level admin process 8
    stats socket /etc/haproxy/haproxysock9 mode 0777 level admin process 9
    stats socket /etc/haproxy/haproxysock10 mode 0777 level admin process 10
    stats socket /etc/haproxy/haproxysock11 mode 0777 level admin process 11
    stats socket /etc/haproxy/haproxysock12 mode 0777 level admin process 12
    stats socket /etc/haproxy/haproxysock13 mode 0777 level admin process 13
    stats socket /etc/haproxy/haproxysock14 mode 0777 level admin process 14
    nbproc     14
    cpu-map 1 1
    cpu-map 2 2
    cpu-map 3 3
    cpu-map 4 4
    cpu-map 5 5
    cpu-map 6 6
    cpu-map 7 7
    cpu-map 8 8
    cpu-map 9 9
    cpu-map 10 10
    cpu-map 11 11
    cpu-map 12 12
    cpu-map 13 13
    cpu-map 14 14

defaults
    mode                    http
    timeout connect         300s
    timeout client          300s
    timeout server          300s
    log                     127.0.0.1 local2 debug
    option                  httplog
    option                  forwardfor
    option                  http-server-close
    log-format %{+Q}o\ %{-Q}Ci\ -\ -\ [%t]\ %r\ %st\ %B\ ""\ ""\ %Cp\ %ms\ %ft\ %b\ %s\ %Tq\ %Tw\ %Tc\ %Tr\ %Tt\ %tsc\ %ac\ %fc\ %bc\ %sc\ %rc\ %sq\ %bq\ %cc\ %cs\ %hrl\ %hsl
    errorfile 503 /data/www/html/503.http
    errorfile 502 /data/www/html/503.http


listen stats
   bind :1936
   mode http
   stats enable
   stats hide-version
   stats realm Haproxy\ Statistics
   stats uri /
   stats auth datahuboper:$ciHub0per

frontend http-in
   bind :80
   bind :443 ssl crt selfsig.pem ciphers RC4-SHA:AES128-SHA:AES:!ADH:!aNULL:!DH:!EDH:!eNULL
   option  splice-response

   acl missing_slash path_reg ^/test$
   redirect code 301 prefix / drop-query append-slash if missing_slash

   reqrep ^([^:\ ]+\ +)/(/.+)$ \1\2 if { path_beg // }

   acl r_test path_beg /test/
   use_backend bk_test_l1 if r_test

backend bk_test_l1
        bind-process 1-4
        server preops_socket unix@/tmp/f_test_l1 send-proxy-v2

frontend bk_test_l2
        bind-process 1-4
        bind unix@/tmp/f_test_l1 accept-proxy
        default_backend bk_test


backend bk_test
    balance roundrobin
    bind-process 1-4
    timeout connect         15s
    timeout queue           3600s
    timeout server          3600s
    retries 15
    timeout check           2m

    stick-table type ip size 10k expire 300s store gpc0_rate(30s) peers http_rate
    stick on src
    http-request  track-sc0 src
    http-request  deny deny_status 429 if { sc0_gpc0_rate gt 5 }
    http-response sc-inc-gpc0(0) if { status 401 }

    server node-1 127.0.0.1:8081 maxconn 350 check inter 1m fall 2 rise 2
    server node-2 127.0.0.1:8082 maxconn 350 check inter 1m fall 2 rise 2

the errors are

root@myvm:/etc/haproxy# /usr/sbin/haproxy -c -f /etc/haproxy/test.cfg -L http_rate
[WARNING] 227/172843 (21650) : parsing [/etc/haproxy/test.cfg:55]: 'log-format' overrides previous 'option httplog' in 'defaults' section.
[WARNING] 227/172843 (21650) : parsing [/etc/haproxy/test.cfg:77] : The 'reqrep' directive is deprecated in favor of 'http-request replace-uri' and 'http-request replace-header' and will be removed in next version.
[WARNING] 227/172843 (21650) : parsing [/etc/haproxy/test.cfg:77] : a 'reqrep' rule placed after a 'redirect' rule will still be processed before.
[WARNING] 227/172843 (21650) : parsing [/etc/haproxy/test.cfg:55] : deprecated variable 'Ci' in 'log-format', please replace it with 'ci'.
[WARNING] 227/172843 (21650) : parsing [/etc/haproxy/test.cfg:55] : deprecated variable 'st' in 'log-format', please replace it with 'ST'.
[WARNING] 227/172843 (21650) : parsing [/etc/haproxy/test.cfg:55] : deprecated variable 'Cp' in 'log-format', please replace it with 'cp'.
[WARNING] 227/172843 (21650) : parsing [/etc/haproxy/test.cfg:55] : deprecated variable 'cc' in 'log-format', please replace it with 'CC'.
[WARNING] 227/172843 (21650) : parsing [/etc/haproxy/test.cfg:55] : deprecated variable 'cs' in 'log-format', please replace it with 'CS'.
[WARNING] 227/172843 (21650) : parsing [/etc/haproxy/test.cfg:55] : deprecated variable 'Ci' in 'log-format', please replace it with 'ci'.
[WARNING] 227/172843 (21650) : parsing [/etc/haproxy/test.cfg:55] : deprecated variable 'st' in 'log-format', please replace it with 'ST'.
[WARNING] 227/172843 (21650) : parsing [/etc/haproxy/test.cfg:55] : deprecated variable 'Cp' in 'log-format', please replace it with 'cp'.
[WARNING] 227/172843 (21650) : parsing [/etc/haproxy/test.cfg:55] : deprecated variable 'cc' in 'log-format', please replace it with 'CC'.
[WARNING] 227/172843 (21650) : parsing [/etc/haproxy/test.cfg:55] : deprecated variable 'cs' in 'log-format', please replace it with 'CS'.
[WARNING] 227/172843 (21650) : parsing [/etc/haproxy/test.cfg:55] : deprecated variable 'Ci' in 'log-format', please replace it with 'ci'.
[WARNING] 227/172843 (21650) : parsing [/etc/haproxy/test.cfg:55] : deprecated variable 'st' in 'log-format', please replace it with 'ST'.
[WARNING] 227/172843 (21650) : parsing [/etc/haproxy/test.cfg:55] : deprecated variable 'Cp' in 'log-format', please replace it with 'cp'.
[WARNING] 227/172843 (21650) : parsing [/etc/haproxy/test.cfg:55] : deprecated variable 'cc' in 'log-format', please replace it with 'CC'.
[WARNING] 227/172843 (21650) : parsing [/etc/haproxy/test.cfg:55] : deprecated variable 'cs' in 'log-format', please replace it with 'CS'.
[WARNING] 227/172843 (21650) : Proxy 'stats': in multi-process mode, stats will be limited to process assigned to the current request.
[WARNING] 227/172843 (21650) : Proxy 'bk_test': sticking rules will not work correctly in multi-process mode.
[ALERT] 227/172843 (21650) : Peers section 'http_rate': peers referenced by sections running in different processes (4 different ones). Check global.nbproc and all tables' bind-process settings.
[ALERT] 227/172843 (21650) : Fatal errors found in configuration.

except the warnings I cannot understand why I get this error.
Do anyone using nbproc > 1 and peers that can help me to resolve this issue?

I’m trying to understand if I’m missing something from the new documentation about peers and stick-tables.

Thanks