I just checked with my installed pound 2.5 branch and enabling/disabling 
backends for both global and listener specific services work for me.  And I 
know it works, because I have a perl based web interface wrapped around it.

However my poundctl looks more than a little different, because I’m running my 
custom/v2.5 branch.
https://github.com/goochjj/pound/commits/custom/v2.5

I do know there is no serialization protocol between pound and poundctl… It 
uses the exact same binary structures used to store data within pound to send 
across the domain socket.  Which means it can be very sensitive to things like 
using a pound binary from one version and a poundctl binary from another… or 
things like a 32bit poundctl with a 64bit pound.  Usually I would just expect 
it to segfault if such a mismatch occurred. (Which is why I implemented magic 
values in my overly customized versions)

I pulled up my stage for upstream v2.7b branch : 
https://github.com/goochjj/pound/commits/stage_for_upstream/v2.7b

And found a segfault… However it was something I broke in my backendcookie 
patch.  I’ve committed a fix.  Backend enabling/disabling works… I see messages 
from pound on stderr showing it’s enabling and disabling, and I see the results 
when I run poundctl again.

Anyone running my v2.7b branch should pull down the latest commit if they want 
poundctl to work.

So it seems poundctl works.. at least for me.  What versions are you guys 
having problems with?

Joe


From: Brad Allison [mailto:[email protected]]
Sent: Tuesday, June 18, 2013 9:46 AM
To: [email protected]
Subject: Re: [Pound Mailing List] poundctl command simply do not work

It would appear I'm not the only one to run into and document this exact 
problem:

https://groups.google.com/forum/#!msg/pound_proxy/s_OZhTcznRc/nq_HqNMjFwcJ

On Tue, Jun 18, 2013 at 9:37 AM, Brad Allison 
<[email protected]<mailto:[email protected]>> wrote:
I'm trying to use the -b option for poundctl to disable a backend.

The command runs with the three fields listener service and backend.  The 
command appears to work.

But when I list out the -X option it says all backends are enabled... even 
though I just disabled it.  So the options for poundctl do not work.

Notice how the status for the backend index=1 it still set to "active" after I 
disabled it.

[root@ ~]# /usr/sbin/poundctl  -c /var/lib/pound/pound.cfg -b 0 0 1

[root@ ~]# /usr/sbin/poundctl  -c /var/lib/pound/pound.cfg -X
<pound>
<listener index="0" protocol="HTTPS" address="0.0.0.0:443<http://0.0.0.0:443>" 
status="active">
</listener>
<service index="0">
<backend index="0" address="10.0.2.21:443<http://10.0.2.21:443>" avg="0.000" 
priority="5" alive="yes" status="active" />
<backend index="1" address="10.0.3.22:443<http://10.0.3.22:443>" avg="0.000" 
priority="5" alive="yes" status="active" />
<session index="0" key="demo.lalala.com<http://demo.lalala.com>" backend="1" />
<session index="1" key="107.11.11.11" backend="1" />
</service>
</pound>


Reply via email to