Broken ldirectord reload

Tomas Hoger tomas.hoger at gmail.com
Fri Mar 16 10:04:28 GMT 2007


On 3/16/07, Roberto Nibali <ratz at drugphish.ch> wrote:
> I've cc'd Horms, since that's the way to get his attention regarding
> ldirectord patches. He's insanely busy, so you need some patience.

Thanks for information.  I will CC Horms on relevant mails.

> Does this happen in case the:
>
> 1. old configuration == new configuration?

No configuration changes.  Just:

- ldirectord start
- ldirectord reload
- BadThingsWillHappen ;)

> I'm not very familiar with ldirectord, although I've dug through it in
> the past. However, your fix seems appropriate. Nevertheless, I find it
> somewhat interesting that you're the first one hitting this issue, as if
> noone ever reloaded ldirectord :). It's clear that when reloading
> (sending SIGHUP to the $PID) ld_setup() is not explicitly called anymore.

I was surprised too ;).

> Is your old $PID available when this happens?

Which $PID do you mean?  There's $pid in the code, but it does not
seem to be initialized anywhere...  Nevertheless, ldirectord status
reports same pid.

> Can you also check the pending signals with ps as when it comes
> to a reload and your problem is exhibited?

No pending signals displayed by ps.


Horms:

Test case - sure, my config is plain simple, as it is only testing
configuration:

checktimeout=5
checkinterval=10
autoreload=no
quiescent=yes

virtual=192.168.13.35:25
        real=192.168.13.36:25 gate
        real=192.168.13.37:25 gate
        service=smtp
        scheduler=wlc
        protocol=tcp
        checktype=negotiate
        checkport=25

That's all.  Backend servers run postfix and after reload, posftix log
shows that testing SMTP connections are no longer correctly closed
(lost connection after CONNECT from ...).

ldirectord.log contains few more errors:

system(/sbin/ipvsadm -e  192.168.13.35:25 -r 192.168.13.36:25  -w ) failed:

system(/sbin/ipvsadm -D  192.168.13.35:25) failed: Interrupted system call

As you can see, few arguments are missing.  As far as I can tell,
those arguments are set up by ld_setup function and are lost after
reload, when @VIRTUAL is rebuild from scratch.

th.

Search lvs-users Archives
Limit search to: Subject & Body Subject Author
Sort by: Reverse Sort

More information about the lvs-users mailing list