/ Zope / Apsis / Pound Mailing List / Archive / 2006 / 2006-11 / Re: [Pound Mailing List] ANNOUNCE: Pound - reverse proxy and load balancer - v2.1.5

[ << ] [ >> ]

[ Re: [Pound Mailing List] problem with http ... ] [ RE: [Pound Mailing List] Pound - Does it redirect ... ]

Re: [Pound Mailing List] ANNOUNCE: Pound - reverse proxy and load balancer - v2.1.5
Robert Segall <roseg(at)apsis.ch>
2006-11-01 18:24:10 [ FULL ]
On Tue, 2006-10-31 at 11:19 -0800, Blake Barnett wrote:[...]

Just to make sure we are all on the same page:

1. the URL expressions in your Service definitions match the path part,
but not the host. Thus, to take your first Service as an example, it
will answer requests like http://your.host.name/some/thing_ps001_blah
but NOT http://www.ps001.com/x/y/z

2. your Emergency back-end applies only to the last Service. Thus, if a
request was matched for a previous Service, the Emergency back-end would
NOT be used

Perhaps you could try with a simpler config just to be sure that the
problem really is with the Emergency directive?[...]

Re: [Pound Mailing List] ANNOUNCE: Pound - reverse proxy and load balancer - v2.1.5
Blake Barnett <shadoi(at)nanovoid.com>
2006-11-01 19:35:12 [ FULL ]
On Nov 1, 2006, at 9:24 AM, Robert Segall wrote:
[...][...][...]

Yes, this is exactly the behavior we need.  We have this  
configuration running in production and this is our QA system, so I  
need the emergency back-end support to work for this before we  
eventually push 2.1.5 into production.

-Blake

Re: [Pound Mailing List] ANNOUNCE: Pound - reverse proxy and load balancer - v2.1.5
Blake Barnett <shadoi(at)nanovoid.com>
2006-11-01 19:49:12 [ FULL ]
On Nov 1, 2006, at 10:35 AM, Blake Barnett wrote:
[...]
>>> I have the emergency back-end using the same IP as the ListenHTTP
>>> config, maybe that's the issue?
>>>
>>> Here's the config:
>>> -----------------------------------
>>> User            "www-data"
>>> Group           "www-data"
>>> Control         "/var/run/pound.cmd"
>>> LogLevel        2
>>> Alive           5
>>> ListenHTTP
>>>    Address 10.0.8.10
>>>    Port 80
>>>
>>>    Service
>>>      URL ".*ps001.*"
>>>      BackEnd
>>>        Address 10.0.8.11
>>>        Port 81
>>>      End
>>>    End
>>>    Service
>>>      URL ".*ps002.*"
>>>      BackEnd
>>>        Address 10.0.8.12
>>>        Port 82
>>>      End
>>>    End
>>>    Service
>>>      URL ".*ps003.*"
>>>      BackEnd
>>>        Address 10.0.8.13
>>>        Port 83
>>>      End
>>>    End
>>>
>>>    Service
>>>      Emergency
>>>        Address 10.0.8.10
>>>        Port 8686
>>>      End
>>>      BackEnd
>>>        Address 10.0.8.11
>>>        Port 80
>>>        HAport 9090
>>>        Priority 3
>>>      End
>>>      BackEnd
>>>        Address 10.0.8.12
>>>        Port 80
>>>        HAport 9090
>>>        Priority 3
>>>      End
>>>      BackEnd
>>>        Address 10.0.8.13
>>>        Port 80
>>>        HAport 9090
>>>        Priority 3
>>>      End
>>>
>>>      Session
>>>        Type COOKIE
>>>        ID "lb"
>>>        TTL 600
>>>      End
>>>    End
>>>
>>> End
>>> -----------------------------------
>>>
>>> And the log from the point where I stopped the back-ends and then
>>> attempted another request:
>>> Oct 31 11:17:09 localhost pound: BackEnd 10.0.8.11:9090 is dead
(HA)
>>> Oct 31 11:17:09 localhost pound: BackEnd 10.0.8.12:9090 is dead
(HA)
>>> Oct 31 11:17:09 localhost pound: BackEnd 10.0.8.13:9090 is dead
(HA)
>>>
>>> Oct 31 11:17:14 localhost pound: response error read from
>>> 10.0.8.11:80: Connection reset by peer
>>> Oct 31 11:17:26 localhost pound: no back-end "GET / HTTP/1.1" from
>>> x.x.x.x[...][...]

I simplified the configuration to the following but the emergency  
back-end still does nothing.  The same results are in the log.
----------------------------------------------
User            "www-data"
Group           "www-data"
Control         "/var/run/pound.cmd"
LogLevel        2
Alive           5

ListenHTTP
   Address 10.0.8.10
   Port 80

   Service
     Emergency
       Address 10.0.8.13
       Port 8686
     End
     BackEnd
       Address 10.0.8.11
       Port 80
       HAport 9090
       Priority 3
     End
     BackEnd
       Address 10.0.8.12
       Port 80
       HAport 9090
       Priority 3
     End

     Session
       Type COOKIE
       ID "lb"
       TTL 600
     End
   End

End
----------------------------------------------

Thanks,
-Blake

Re: [Pound Mailing List] ANNOUNCE: Pound - reverse proxy and load balancer - v2.1.5
Robert Segall <roseg(at)apsis.ch>
2006-11-02 18:09:57 [ FULL ]
On Wed, 2006-11-01 at 10:49 -0800, Blake Barnett wrote:[...]

Thanks Blake, that is very useful. We'll have a look at it and let you
know once we find something.[...]

Re: [Pound Mailing List] ANNOUNCE: Pound - reverse proxy and load balancer - v2.1.5
Robert Segall <roseg(at)apsis.ch>
2006-11-02 20:41:44 [ FULL ]
On Wed, 2006-11-01 at 10:49 -0800, Blake Barnett wrote:[...]

OK, found it: in svc.c, line 477 (right at the beginning of
get_backend()), remove the first two code lines that read:

    if(svc->tot_pri <= 0)
        return NULL;

They are left overs - and shouldn't.

Many thanks for your help. This will be part of 2.1.6.[...]

Re: [Pound Mailing List] ANNOUNCE: Pound - reverse proxy and load balancer - v2.1.5
Blake Barnett <shadoi(at)nanovoid.com>
2006-11-02 21:29:27 [ FULL ]
On Nov 2, 2006, at 11:41 AM, Robert Segall wrote:
[...]

Heh, I was staring at those lines, thinking it had to be that.  But I  
just didn't know the code well enough to dare removing them.

Thanks for tracking it down.

-Blake

ANNOUNCE: Pound - reverse proxy and load balancer - v2.1.6
Robert Segall <roseg(at)apsis.ch>
2006-11-04 11:53:56 [ FULL ]
This is to announce the release of Pound v2.1.6. Changes in this version
(since 2.1.5):


Enhancements:

- Redirect can now use the original request path: if you defined a
"pure" host in your Redirect directive the request path is appended to
the Location. See the man page for details.


Bug fixes:

- improved dynamic priorities calculation for faster "dampening".
- fixed problem with Emergency back-ends.

The software is at version 2.1.6 (beta quality). Further testing 
(especially under heavy loads), improvements and suggestions are
welcome.[...]

RE: [Pound Mailing List] ANNOUNCE: Pound - reverse proxy and load balancer - v2.1.6
"Kiriki Delany" <kiriki(at)streamguys.com>
2006-11-06 20:46:09 [ FULL ]
Great, I tested the new Enhancement

"- Redirect can now use the original request path: if you defined a
"pure" host in your Redirect directive the request path is appended to
the Location. See the man page for details."

The redirect now works with the generic hostname consistently.

One question, the redirects are not checked for being up live as a back-end
is. 

Would it be possible to still check the "back-end," and if it was down, to
remove a redirect rule along with the back-end? For instance, could you
associate a redirect with a given backend, instead of it being a separate
rule?

In such a way, a redirect could also be removed, if the back-end was down.  

Removing a redirect rule that refers to a down server would still be very
useful, just as much as removing a dead back-end.

Thank You, 

 

Kiriki Delany

-----Original Message-----
From: Robert Segall [mailto:roseg(at)apsis.ch] 
Sent: Saturday, November 04, 2006 2:54 AM
To: pound(at)apsis.ch
Subject: [Pound Mailing List] ANNOUNCE: Pound - reverse proxy and load
balancer - v2.1.6

This is to announce the release of Pound v2.1.6. Changes in this version
(since 2.1.5):


Enhancements:

- Redirect can now use the original request path: if you defined a
"pure" host in your Redirect directive the request path is appended to
the Location. See the man page for details.


Bug fixes:

- improved dynamic priorities calculation for faster "dampening".
- fixed problem with Emergency back-ends.

The software is at version 2.1.6 (beta quality). Further testing 
(especially under heavy loads), improvements and suggestions are
welcome.[...]

RE: [Pound Mailing List] ANNOUNCE: Pound - reverse proxy and load balancer - v2.1.6
"Kiriki Delany" <kiriki(at)streamguys.com>
2006-11-06 21:01:46 [ FULL ]
Another bahavior I have noticed with the redirect rules.

If multiple redirect rules are listed, it will send some directs to each
rules listed. But it does not seem to be purely even.

By what mechanism is the requests balanced between the redirects? I would
assume its via round robin? Though does it rotate every so often on a
schedule? 

By behavior it appears semi random

Nov  6 11:41:33 tunein pound: starting...
Nov  6 11:46:55 tunein pound: ClientRequest GET /content HTTP/1.1 - REDIRECT
http://Server1/content
Nov  6 11:47:00 tunein pound: ClientRequest GET /content HTTP/1.1 - REDIRECT
http://Server2/content
Nov  6 11:47:00 tunein pound: ClientRequest GET /content HTTP/1.1 - REDIRECT
http://Server2/content
Nov  6 11:47:00 tunein pound: ClientRequest GET /content HTTP/1.1 - REDIRECT
http://Server2/content
Nov  6 11:47:00 tunein pound: ClientRequest GET /content HTTP/1.1 - REDIRECT
http://Server2/content
Nov  6 11:47:00 tunein pound: ClientRequest GET /content HTTP/1.1 - REDIRECT
http://Server2/content
Nov  6 11:47:00 tunein pound: ClientRequest GET /content HTTP/1.1 - REDIRECT
http://Server2/content
Nov  6 11:47:00 tunein pound: ClientRequest GET /content HTTP/1.1 - REDIRECT
http://Server2/content
Nov  6 11:47:00 tunein pound: ClientRequest GET /content HTTP/1.1 - REDIRECT
http://Server2/content
Nov  6 11:47:00 tunein pound: ClientRequest GET /content HTTP/1.1 - REDIRECT
http://Server2/content
Nov  6 11:47:38 tunein pound: ClientRequest GET /content HTTP/1.1 - REDIRECT
http://Server1/content
Nov  6 11:47:41 tunein pound: ClientRequest GET /content HTTP/1.1 - REDIRECT
http://Server1/content
Nov  6 11:47:44 tunein pound: ClientRequest GET /content HTTP/1.1 - REDIRECT
http://Server2/content

Thank You, 

 

Kiriki Delany


-----Original Message-----
From: Robert Segall [mailto:roseg(at)apsis.ch] 
Sent: Saturday, November 04, 2006 2:54 AM
To: pound(at)apsis.ch
Subject: [Pound Mailing List] ANNOUNCE: Pound - reverse proxy and load
balancer - v2.1.6

This is to announce the release of Pound v2.1.6. Changes in this version
(since 2.1.5):


Enhancements:

- Redirect can now use the original request path: if you defined a
"pure" host in your Redirect directive the request path is appended to
the Location. See the man page for details.


Bug fixes:

- improved dynamic priorities calculation for faster "dampening".
- fixed problem with Emergency back-ends.

The software is at version 2.1.6 (beta quality). Further testing 
(especially under heavy loads), improvements and suggestions are
welcome.[...]

Re: [Pound Mailing List] ANNOUNCE: Pound - reverse proxy and load balancer - v2.1.6
Alessio Cervellin <a.cervellin(at)acm.org>
2006-11-09 19:02:31 [ FULL ]
Robert Segall wrote:[...]

this release has an error in the configure script on solaris:
egrep: illegal option -- q
usage: egrep [ -bchilnsv ] [ -e exp ] [ -f file ] [ strings ] [ file ] ...

Re: [Pound Mailing List] ANNOUNCE: Pound - reverse proxy and load balancer - v2.1.6
Alessio Cervellin <a.cervellin(at)acm.org>
2006-11-09 20:05:11 [ FULL ]
Alessio Cervellin wrote:[...][...][...]

once fixed that egrep issue, there's also this bad compiler error:

cc -L/opt/csw/lib  -D_REENTRANT  -o pound pound.o http.o config.o svc.o 
-lpcreposix -lssl -lcrypto -lsocket -lnsl -ldl -lpthread  -lpthread -lm
Undefined                       first referenced
  symbol                             in file
hstrerror                           svc.o
ld: fatal: Symbol referencing errors. No output written to pound

Re: [Pound Mailing List] ANNOUNCE: Pound - reverse proxy and load balancer - v2.1.6
Alessio Cervellin <a.cervellin(at)acm.org>
2006-11-09 20:11:06 [ FULL ]
Alessio Cervellin wrote:[...][...]
>>> This is to announce the release of Pound v2.1.6.[...][...]

solved by adding -lresolv

Re: [Pound Mailing List] ANNOUNCE: Pound - reverse proxy and load balancer - v2.1.6
Alessio Cervellin <a.cervellin(at)acm.org>
2006-11-09 20:19:36 [ FULL ]
Alessio Cervellin wrote:[...][...]
>>> This is to announce the release of Pound v2.1.6.[...][...]

and last but not the least, fixed the above one with -lresolv, here's 
another error:

cc -DF_CONF=\"/opt/csw/etc/pound.cfg\" -DVERSION=\"2.1.6\" -fast 
-xarch=386 -D_REENTRANT  -DUPER -DNEED_STACK -DHAVE_SYSLOG_H=1 
-DMISS_FACILITYNAMES -D_REENTRANT  -I/opt/csw/include  -D_REENTRANT 
-D_THREAD_SAFE   -c -o poundctl.o poundctl.c
"poundctl.c", line 41: warning: old-style declaration or incorrect type 
for: main
cc -o poundctl poundctl.o
Undefined                       first referenced
  symbol                             in file
socket                              poundctl.o
connect                             poundctl.o
inet_ntoa                           poundctl.o
ld: fatal: Symbol referencing errors. No output written to poundctl


I guess it should be something like:
cc -o poundctl poundctl.o -L/opt/csw/lib -D_REENTRANT ... -lsocket -lnsl

(Nothe there's also a warning which should be fixed)

Re: [Pound Mailing List] ANNOUNCE: Pound - reverse proxy and load balancer - v2.1.6
Robert Segall <roseg(at)apsis.ch>
2006-11-10 18:21:25 [ FULL ]
On Thu, 2006-11-09 at 20:19 +0100, Alessio Cervellin wrote:[...]

Many thanks Alessio. This goes into the autoconf script.[...]

Re: [Pound Mailing List] ANNOUNCE: Pound - reverse proxy and load balancer - v2.1.1
SF Markus Elfring <elfring(at)users.sourceforge.net>
2006-11-23 22:28:44 [ FULL ]
[...]
Would the code maintainers be so competent to achieve program 
correctness at nearly all places in the source files?
How much do the software developers care to connect all return values 
with appropriate handling? (I think that it is dangerous to ignore error 
codes.)

Will this issue gain importance if it is compared to the respect for 
(red) traffic lights?

Regards,
Markus

MailBoxer