/ Zope / Apsis / Pound Mailing List / Archive / 2008 / 2008-04 / Please we desperately need configuration reloading

[ << ] [ >> ]

[ Pound 2.4.1 dropping a / on me / James Evans ... ] [ Re: Pound - feature requests / Eirik Øverby ... ]

Please we desperately need configuration reloading
Rt Ibmer <rtibmx(at)yahoo.com>
2008-04-09 05:25:53 [ FULL ]
Hi Everyone,

I am new to Pound and must say it is truly a fantastic tool.  I just got done
with some preliminary load balance stress testing and am happy to report that
Pound's overhead (or should I say lack thereof) was practically immeasurable!

I must say however that I was deeply disappointed and rather shocked actually
to find that the configuration file cannot be dynamically reloaded on the fly. 
I spent hours pouring over the list archive in hopes that I was missing
something.  However all that turned up were numerous requests for such a
feature dating back to 2005, and some postings of awkward workarounds involving
multiple pound instances and so forth.

Please allow me to explain why the ability to have Pound reload a configuration
file is so critical for my needs and many others in my situation...

I am preparing to go live with a mission critical web app running within
Amazon.com's EC2 cloud.  In this environment I have the ability to launch new
instances (servers) at will to scale up and down as needed.
When these instances come online they are assigned an internal IP by the EC2
network, and this is an IP you cannot know in advance and cannot set later.  So
I think you can see the challenge here!

So let's say one of my app servers sitting behind Pound goes down and I bring a
new instance up.  I have to kill pound and disrupt the service just to have it
reload the configuration.  This goes against the entire point of running Pound
in my case, which is to ensure 100% uptime to the degree as much as possible.

I am very curious as to why this feature has not been implemented yet. It seems
many other load balancers such as LVS and HAProxy can do this.  Is this because
the developers do not deem such a feature worthy of implementation?  Or perhaps
it is very challenging to pull off?  If it matters, the fact that sticky
sessions and other such state would be lost is immaterial compared to killing
all sessions due to a restart.

Poundctl seemed like a step in the right direction, although if I understand it
correctly you can only tell it to bring predefined backend servers online or
offline, but you cannot tell it "hey IP x.y.z.a is now online and start sharing
the load sending it requests" unless such an IP already existed in the config
file (as as described above, that is impossible in EC2 because you don't know
what the IPs will be in advance).

Here are some of types of things I would love to see implemented in this
regard:

1) Obviously the ability to send Pound a signal and tell it to reload the
configuration just like it was starting up. I'd like to see all settings
reloaded such as LogLevel which can be helpful to change if you want to take a
more detailed look at what is going on.  But that of course is secondary - for
me the main things is the backend servers.

2) Use of external configuration files.  I would love it if I could define a
group of backend servers with an external file that I could maintain
automatically as instances come up and down.  I could then signal Pound to
reload when my scripts were done editing the file. Or better yet Pound could
perhaps auto reload when it detected the change upon writing of the file.

3) It would be tremendously helpful if Pound could fire off an email alert when
it detected a backend server was down, and likewise send an alert when it
detected it was back up.

I really hope this feedback will be heard, along with the numerous other
posters over the year that have requested this feature.  Perhaps with the
popularity of EC2 and other dynamic hosting environments like it the need for
such dynamic reconfiguration is growing stronger than even and hopefully now is
the time when we can bring this feature to life.

Thank you very much for this opportunity to provide feedback. I am very
grateful for all the tremendous work that has been done and is being done with
this product and am proud to now be a part of it!!




     
____________________________________________________________________________________
You rock. That's why Blockbuster's offering you one month of Blockbuster Total
Access, No Cost.  
http://tc.deals.yahoo.com/tc/blockbuster/text5.com
Attachments:  
text.html text/html 4508 Bytes

Re: [Pound Mailing List] Please we desperately need configuration reloading
Dave Steinberg <dave(at)redterror.net>
2008-04-09 15:48:41 [ FULL ]
Rt Ibmer wrote:[...]

<snip>

I am sure the maintainers would consider a patch for the things you 
suggest.  Why not give it a try?

Alternatively, consider using a 2-stage setup with pound.  I.e:

- pound A  talks to pound B, C
- pound B, C talk to the webs

Then pound A stays up with a static config all the time, but B & C can 
be restarted w/o service interruption.

Regards,[...]

MailBoxer