/ Zope / Apsis / Pound Mailing List / Archive / 2011 / 2011-12 / Re: [Pound Mailing List] Pound 2.7

[ << ] [ >> ]

[ Pound 2.7 / Robert Segall <roseg(at)apsis.ch>... ] [ FR27: Hot Reconfiguration / Joe Gooch ... ]

Re: [Pound Mailing List] Pound 2.7
"Erik Hensema / HostingXS" <hensema(at)hostingxs.nl>
2011-12-30 16:05:37 [ FULL ]
THE killer feature: reloading the config without downtime. Currently it's 
impossible to reload the config without losing all sessions.

On vrijdag 30 december 2011 15:44:06 Robert Segall wrote:[...]
[...]
Attachments:  
text.html text/html 7042 Bytes

Re: [Pound Mailing List] Pound 2.7
Leo <neleo(at)gmx.net>
2011-12-30 16:45:46 [ FULL ]
+1


On 12/30/2011 04:05 PM, Erik Hensema / HostingXS wrote:[...]
Attachments:  
text.html text/html 8604 Bytes

Re: [Pound Mailing List] Pound 2.7
Dave Steinberg <dave(at)redterror.net>
2011-12-30 16:48:33 [ FULL ]
On 12/30/2011 9:44 AM, Robert Segall wrote:[...]

Some notion of configurable backend-selection policy.  The default, 
round-robin can stay, but I'd like the option of 'least connections' 
too.  It would be configured globally or on the service level.

The 'priority' mechanism isn't my favorite, it requires manual 
adjustment, but 'least connections' basically tunes itself constantly.

Regards,[...]

Re: [Pound Mailing List] Pound 2.7
Paolo Nesti Poggi <pnp(at)italyflash.com>
2011-12-30 16:57:21 [ FULL ]
Hi, I'm not (yet) a user hence at risk to say something not well
    thought out, however:
    When/if this (no downtime config reload) is available, then the
    ability to close for new connections/sessions to a specific back-end
    server, while letting current active sessions extinguish, possibly
    with a configured time-out. 
    In this way it would be possible to disconnect a back-end server for
    maintenance without loosing active sessions.
    
    /Paolo Nesti Poggi
    eaktion.com
    
    Den 30-12-2011 16:05, Erik Hensema / HostingXS skrev:
    
      
      
p, li { white-space: pre-wrap; }

      THE killer feature: reloading the config
        without downtime. Currently it's impossible to reload the config
        without losing all sessions.
      
      
      On vrijdag 30 december 2011 15:44:06 Robert
        Segall wrote:
      > Hallo everybody
      > 
      > New year, new version: we declare open
        the wish-list for 2.7 features.
      > Please reply to this with your list of
        enhancements/patches/wishes.
      > 
      > Please feel also free to offer comments
        (supportive or not, as the case
      > may be) on items that others may post.
        The more support for a feature,
      > the better its chances of making it into
        2.7.
      > 
      > Please do NOT post patches in reply - a
        short description is quite
      > enough. You can mail me directly if you
        want to offer patches.
      
      
      -- 
      Met vriendelijke groet,
      
      
      
      
      Erik Hensema
      --
      HostingXS B.V.
      eXcellent Service
      
      
      Support: support(at)hostingxs.nl
      Algemeen: info(at)hostingxs.nl
      Administratie: administratie(at)hostingxs.nl
      
      
      Telefoon: 024 - 324 91 77
      Fax: 024 - 324 91 76
      
      
      Post adres:
      Postbus 5
      6500 AA te Nijmegen
      
      
      Website: http://www.hostingxs.nl
      Twitter: http://twitter.com/HostingXS
      Facebook: http://www.facebook.com/hostingxs
    
    
    
    -- 
------------------------
Eaktion.com
www.eaktion.com
Tlf. 77410237
------------------------
Attachments:  
text.html text/html 9411 Bytes

Re: [Pound Mailing List] Pound 2.7
MSDirect Internet Diensten - Support <support(at)msdirect.nl>
2011-12-30 17:09:30 [ FULL ]
Hi,

I totally agree. We have dozens of changes per day and every change has 
to be followed by a restart. We are currently considering a change 
window to activate the changes. With reloads these should not be 
required anymore. Probably even better would be to fully commandline the 
configuration with saves at service stop, like iptables, or Cisco IOS. 
But that would probably be a 3.0-feature request :)

Second best and second second best modifications would be:
- access-lists. Pretty sure this feature was declined several times 
before, but i still have to mention this.
- real-server style configuration. We would really love to have a 
configuration that uses realservers and serverfarms like in Cisco ACE.
------------------------------------------------------------------------
Met vriendelijke groet,
Marcus Smit
MSDirect Internet Diensten
www.msdirect.nl <http://www.msdirect.nl>
Mobiel: 06 - 167 20 817

Op 30-12-2011 16:05, Erik Hensema / HostingXS schreef:[...]
Attachments:  
text.html text/html 9705 Bytes

RE: [Pound Mailing List] Pound 2.7
"Jacob Anderson" <jwa(at)beyond-ordinary.com>
2011-12-30 17:31:38 [ FULL ]
Sorry to chime in here on this topic, but this really isn’t a pound function.
If you are losing your session data because pound bounces your client to
another BE, then you need a shared session state machine for your back ends.

 

We do this in ASP.NET with the session state server and it works incredibly
well. Our sessions are all high dollar value, so if we lost one, our customers
would really get irritated with us. To date, we’ve not lost a single session
as a result of bouncing a back end.

 

If your technology stack doesn’t support a shared session state manager, …
well it might be time to write one or consider a new stack. Pound should never
do anything application related.

 

I am +1/2 (half) on the active reload of a config when the config file changes.
Only half because doing this would likely be a version 3 feature, not a
revision feature like 2.7…. 

 
[...]
Attachments:  
text.html text/html 11258 Bytes

Re: [Pound Mailing List] Pound 2.7
Todd Freeman <freeman(at)andrews.edu>
2011-12-30 17:34:32 [ FULL ]
I'll second the "config reload" going around...

I would also add a request to be able to define clusters or such of 
servers....

An example of this would be like:

Cluster
         Name PROD
         BackEnd
                 Address 192.168.1.20
                 Port 80
         End

         BackEnd
                 Address 192.168.1.21
                 Port 80
         End
End

Cluster
         Name TEST
         BackEnd
                 Address 192.168.1.22
                 Port 80
         End

         BackEnd
                 Address 192.168.1.23
                 Port 80
         End
End

... later in the config file ...

Service
         URL "^/something.*"
         HeadRequire     "Host:.*blah.something.edu.*"
         BackEndCluster PROD
End

Service
         URL "^/bork.*"
         HeadRequire     "Host:.*bork.something.edu.*"
         BackEndCluster PROD
End

Service
         URL "^/.*"
         HeadRequire     "Host:.*foo.edu.*"
         BackEndCluster TEST

         BackEnd
                 Address 192.168.1.26
                 Port 80
         End
         # Would end up sending to 1.22 1.23 and 1.26 (cluster + local 
defined)
End



etc.. etc...


That would make maintaining backend server pools/clusters VASTLY easier.

Thanks for considering!

On 12/30/2011 09:44 AM, Robert Segall wrote:[...]

[...]

RE: [Pound Mailing List] Pound 2.7
"Jacob Anderson" <jwa(at)beyond-ordinary.com>
2011-12-30 17:52:33 [ FULL ]
+1 on the cluster/macro idea. Yeah, that's a really good 2.7 idea. I could
really use that and get rid of my m4 templates.
[...]

Re: [Pound Mailing List] Pound 2.7
Albert <pound(at)alacra.com>
2011-12-30 17:56:21 [ FULL ]
Dave,

don't know if you're thinking of the same thing I have in mind, but I'd
also like to see a policy where round-robin is used, however, the new
backend is not selected on existing connection from client for new requests.

Currently, if a client makes a request for a page, and that page has
other dependent files (css, js,images) which are requested on the
keep-alive connection, pound will try to randomly select a new backend
after initial request.  I'd like to have a session type where pound
selects a backend randomly on a new request, and if a "Connection:
keep-alive" is provided by the client, for pound to reuse the connection
to the initial backend (assuming the service is the same).  This would
cut down on the number of connections being opened/closed to backends on
the request from the same client.

Albert


On 12/30/2011 10:48 AM, Dave Steinberg wrote:[...][...][...]
Attachments:  
text.html text/html 2694 Bytes

RE: [Pound Mailing List] Pound 2.7
Joe Gooch <mrwizard(at)k12system.com>
2011-12-30 18:24:11 [ FULL ]
Disabled backends already allow existing sessions to continue, so this is
already implemented.  Plus, I wouldn't consider this a config change. This to
me is a runtime modification (which is done through poundctl)

Joe

[...]

RE: [Pound Mailing List] Pound 2.7
Joe Gooch <mrwizard(at)k12system.com>
2011-12-30 18:28:05 [ FULL ]
I agree and disagree with this.  Shared/clustered session support adds a level
of complexity to the web solution, which I consider to be onerous to set up. 
Plus you have delay in session sync, and restrictions on what you can place in
session support among other things.  It depends on what you're balancing.  To
say it's a solution in all cases is overly simplistic... But I'm glad it works
for you.

I'd argue since commercial load balancers in this space all support cookie
based affinity at the browser level, managed by the load balancer... the market
has clearly shown a demand for persistent session affinity in the load balancer
regardless of backend application.  (Just a few I've researched are
CoyotePoint, KEMP, A10, F5, RadWare)

Joe

[...]

RE: [Pound Mailing List] Pound 2.7
Joe Gooch <mrwizard(at)k12system.com>
2011-12-30 18:29:55 [ FULL ]
Not really a pound 2.7 specific thing... but personally I'd love to see some
community development resources... I.e.
1) Bugzilla, mantis, or other similar place where feature requests could be
tracked, patches uploaded/attached, and/or voted for.
2) Community-available git, svn or similar repository (even if read only)

Joe

[...]

RE: [Pound Mailing List] Pound 2.7
Joe Gooch <mrwizard(at)k12system.com>
2011-12-30 18:32:31 [ FULL ]
Clusters/Macros: As someone who has 25+ backends per service and 6-7 services,
this would be very nice.  I would also anticipate this would not be difficult
to implement.

Joe
[...]

RE: [Pound Mailing List] Pound 2.7 (FR27: Security Fixes)
Joe Gooch <mrwizard(at)k12system.com>
2011-12-30 18:37:47 [ FULL ]
Just thought I'd throw in patches already available.

SSLv2 issues, and BEAST attack mitigation, and client renegotiation issues:
1) My SSL Ciphers and Client Renegotiation patch: http://goochfriend.org/pound_2.6f_ssl_renegotiation_and_ciphers.patch

  Introduces the SSLHonorCipherOrder option (0 or 1) which will set the
appropriate openssl option.  Allows for BEAST attack mitigation.
  Introduces the SSLAllowClientRenegotiation (0 1 or 2) option to control
whether client renegotiations are disabled, allowed for secure only, allowed
for insecure. A setting of 0 eliminates the thc-ssl-dos attack.

2) I think SSLv2 should be disabled by default (using the ssl option to disable
it).  A config action could reenable it. (Apache's SSLProtocol or similar,
maybe SSLEnableSSLv2 or something.)

3) The CSRF issue w/ invalid tags/et al in redirects... http://goochfriend.org/pound_2.6f_xss_redirect_fix.patch

   URL escapes the redirect_reply page so tags can't be injected.

Given the above are necessary to pass some compliance tests, and to lock down
vulnerabilities, I'd push for those to be in 2.7, if they weren't already
included in 2.6.

Joe

[...]

Re: [Pound Mailing List] Pound 2.7
"Jaroslav Lukesh" <lukesh(at)seznam.cz>
2011-12-30 18:44:09 [ FULL ]
Hi,

I give a vote for the emergency server - ie., server, which will be active 
only in case when all "normal" backends are not responding.

And vote for another detection of "not responding" status by defined page 
with (regexp) defined content.

Regards, Jaroslav Lukesh

----- Původní zpráva ----- 
Od: "Robert Segall" <roseg(at)apsis.ch>
[...]

RE: [Pound Mailing List] Pound 2.7 (FR27: Misc new features)
Joe Gooch <mrwizard(at)k12system.com>
2011-12-30 18:46:48 [ FULL ]
I have a bunch of other patches that form my branch of pound. (Still based on
2.5 actually)  Things you'd see in other software... I'll submit them here for
other people to chime in on.  These are in my git repo and I could provide
patches with little effort.

1) Include and IncludeDir directives... Ability to merge other config files,
use conf.d style configuration, etc.  Note that this alone could handle the
cluster config mentioned elsewhere... Instead of a cluster config construct,
just put your cluster backends in a conf file and Include it multiple times.
2) ForceHTTP10/ssl unclean shutdown functionality based on user agent...
Functionality generally accepted as needed for older versions of IE and browser
workarounds, present in apache and other web servers.
3) Socket ownership patch - allow config directives to set the owner, owner
group, and filesystem mode bits of the control socket when it is created.
4) PCRE-based dynamic redirects - i.e. ability to do a redirect backend that
can do rudimentary mod_rewrite type things... More specifically create a
destination URL based on the source URL.
5) NoSSL redirect patch - for redirecting a user using a non-ssl connection to
a SSL port.  (originally from http://hg.openpanel.com/pound-sslpatched/raw-rev/90a2b1ae6bf4,
but cleaned up)

I've been using these for years and would love to have them included in the
main product.

Joe
[...]

Re: [Pound Mailing List] Pound 2.7
Dave Steinberg <dave(at)redterror.net>
2011-12-30 18:58:38 [ FULL ]
Piling on - I like this one too.  I'd use it.

Theoretically then you'd also need to run fewer checks and/or get 
quicker convergence as a bonus.  ;)

Regards,[...]

RE: [Pound Mailing List] Pound 2.7 (FR27: Misc new features)
"Jacob Anderson" <jwa(at)beyond-ordinary.com>
2011-12-30 19:18:16 [ FULL ]
Joe's items #1, #3, and #5 would benefit me. +1 for each.
[...]

Re: [Pound Mailing List] Pound 2.7
Dave Steinberg <dave(at)redterror.net>
2011-12-30 19:35:32 [ FULL ]
On 12/30/2011 12:44 PM, Jaroslav Lukesh wrote:[...]

Pound can already do this one.  See the 'Emergency' block.

Regards,[...]

Re: [Pound Mailing List] Pound 2.7 (FR27: Security Fixes)
=?UTF-8?B?Sm9yZ2UgRsOhYnJlZ2Fz?= <jorge.fabregas(at)gmail.com>
2011-12-30 19:38:27 [ FULL ]
On 12/30/2011 01:37 PM, Joe Gooch wrote:[...]

+1

I've been using this patch ever since Joe provided it and would like
this functionality to be part of the main program.

Regards,
Jorge

MailBoxer