Upgrading Haproxy 1.5.18 to 1.7.x or 1.8.x


#1

Hello,

can somebody tell me how to upgade my haproxy version from 1.5.18 to 1.7.x or 1.8.x ( Running on last Debian Wheezy ) without losing my configuration.
The Tutorial on haproxy.debian.net does not work.

Thanks in advance and nice evening !


#2

Can you elaborate what “does not work” mean? Not sure I understand your point about losing the configuration, it’s just a single file.

You may need to change some parameters in the configuration when upgrading between major releases. I suggest you test your configuration in a test environment.

Note that Debian Wheezy is oldoldstable, support ceased April 2016 and LTS support ends in 4 months. I strongly suggest you upgrade to Debian stable as soon as possible.


#3

Hey lukastribus,
thanks for your replay.
I have updated wheezy to jessi and the error that the liblua5.3-0 packed can’t recieved while installation is gone.
On which website/link or anything else can I see which parameters needs to prepare/fix in the configuration for the next major release ?

Thanks in advance


#4

Haproxy will warn or reject the invalid or obsolete configuration. Just use the new haproxy executable and test your configuration:

haproxy -f /etc/haproxy.cfg -c

It will tell you if there is something wrong about your configuration. Usually however, very little has to be updated, if anything at all.


#5

Hey,
sorry for my late response.
I have testet your awesome tip. The configurationfile is for 1.8.3 invalid. Thanks alot!

root@haproxy:~/haproxy# haproxy -f /etc/haproxy/haproxy.cfg -c
[ALERT] 028/135329 (23233) : parsing [/etc/haproxy/haproxy.cfg:46] : ‘listen’ cannot handle unexpected argument ‘aaa.bbb.ccc.ddd:9600’.
[ALERT] 028/135329 (23233) : parsing [/etc/haproxy/haproxy.cfg:46] : please use the ‘bind’ keyword for listening addresses.
[ALERT] 028/135329 (23233) : Error(s) found in configuration file : /etc/haproxy/haproxy.cfg
[ALERT] 028/135329 (23233) : Fatal errors found in configuration.

If I changend listen to bind is this the result :expressionless:

root@haproxy:~/haproxy# haproxy -f haproxy.cfg -c
[ALERT] 028/140218 (23443) : parsing [haproxy.cfg:46] : ‘bind’ not allowed in ‘defaults’ section.
[ALERT] 028/140218 (23443) : Error(s) found in configuration file : haproxy.cfg
[ALERT] 028/140218 (23443) : Fatal errors found in configuration.

Can you help me again, please ? Where I have to move this section ?

bind admin_page aaa.bbb.ccc.ddd:9600
mode http
stats hide-version
stats enable
stats refresh 30s
stats uri /

Thanks in advance!

P.S.
I have found the right semantic.

listen admin_page
bind aaa.bbb.ccc.ddd:9600
mode http
stats hide-version
stats enable
stats refresh 30s
stats uri /

But is this error important ?

[WARNING] 028/141121 (23665) : stats socket will not work as expected in multi-process mode (nbproc > 1), you should force process binding globally using ‘stats bind-process’ or per socket using the ‘process’ attribute.
[WARNING] 028/141121 (23665) : Proxy ‘admin_page’: in multi-process mode, stats will be limited to process assigned to the current request.


#6

The listen/bind configuration is correct.

Yes, the stats socket warning is important: it means you will see the stats of a single process, not an aggregate. You had the same problem in the old release, but haproxy did not warn you about it. Bind each stats instance to a single process to have consistent behavior.