Hi Olivier,

On Tue, Dec 17, 2019 at 7:20 PM Olivier D <[email protected]> wrote:

> Hello Igor,
>
>
> Le lun. 16 déc. 2019 à 23:41, Igor Cicimov <[email protected]>
> a écrit :
>
>> Hi,
>>
>> On Tue, Dec 17, 2019 at 2:55 AM Olivier D <[email protected]> wrote:
>>
>>> Hello,
>>>
>>> I found what was wrong : I was using "load-server-state-from-file" and
>>> previous config file was using port 80 as server port.
>>> It seems using this instruction loads previous server state but also
>>> previous srv_port.
>>> Is this an expected behaviour ?
>>>
>>
>> Yes, basically it is your responsibility to dump the current state into
>> the file otherwise you'll gate outdated data as you noticed. For example I
>> add:
>>
>> ExecReload=/bin/echo "show servers state" | /usr/bin/socat stdio
>> /run/haproxy/admin.sock > /var/lib/haproxy/state
>>
>> in the systemd service file.
>>
>
> That's not what I was saying. I'm already using "show server state", and
> that's exactly what leads me to hours of debugging : between two versions
> of my haproxy config file, I changed backend server port from 80 to 443.
> When HAProxy reloaded, it loaded server state file and loaded both the
> previous state(up/down) of the server, but also the server port. That's why
> HAProxy never used port 443 as backend port and was still using old port 80.
>

Ah I get ya, yeah have not had a case like that yet but it is strange.
Probably should wait for someone with knowledge of the code to answer your
question :-/

> This is not clearly stated in the configuration (or maybe I missed it ?),
> that's why I was asking whether it is an expected behaviour. In my mind,
> the server state was only used to get server status between two reload, not
> more informations.
>
> Olivier
>
>

Reply via email to