/ Zope / Apsis / Pound Mailing List / Archive / 2007 / 2007-02 / Maintenance message for back-end

[ << ] [ >> ]

[ 2.2.5 oddity / McClain Looney ... ] [ Session-Fallback? / Robert Klikics ... ]

Maintenance message for back-end
"Carbonell, Yann" <Yann.Carbonell(at)BancTec.ca>
2007-02-26 18:02:07 [ FULL ]
Hi,

Is there a way to make pound display a maintenance message before
redirecting request to the back-end servers, in case of scheduled
maintenance.

What we want to achieve is inform our customers of a maintenance without
having to change every single servers configuration file  .
We think that this would save us some time and would be easier as it
requires  less changes on the single Pound server. 
Anyone of you has  comments or ideas on how to achieve that  ?
How do you guys  deal with  maintenance page  ?
In a previous experience I remember we were putting a maintenance page with
a redirection in it on the front-end web servers.

[...]

Re: [Pound Mailing List] Maintenance message for back-end
Falk Brockerhoff <noc(at)smartterra.de>
2007-02-26 18:21:29 [ FULL ]
Carbonell, Yann schrieb:[...]
It may be a kind of workaround but, what's about using the directive
emergency-backend for this? If any other backends fails, the request
will be passed to the emergency backend. You can deliver a message about
the scheduled maintainance or something like that...

Falk

Re: [Pound Mailing List] Maintenance message for back-end
Cesar Claveria <cesar(at)viaro.net>
2007-02-26 18:26:53 [ FULL ]
Hello,

On ours configuration we have pound and a lot (about 400) backend servers, if 
any of them is down and someone try to access, an error message would appear, 
the 503 service unavailable, in your pound.cfg HTTP listener you can specify 
a file to be served in case of an error*, so you could put your maintenance 
message in an html file and served it in case of an 503.

* I think it is something like:
Err503  some_file.html

On Monday 26 February 2007 11:02, Carbonell, Yann wrote:[...]

RE: [Pound Mailing List] Maintenance message for back-end
"Carbonell, Yann" <Yann.Carbonell(at)BancTec.ca>
2007-02-26 18:36:42 [ FULL ]
Yes that would make sense, but would work only at the very moment they are
down .
What if we want to inform them during the day prior to the downtime ?

Thanks for your comment !

Pound is a great software by the way , and it helped us a lot . I want to
thank the whole dev team for they work. 
We are using it in a production environment for banking payments , we use a
wildcard certificate for Https accees , with redirection based on host name
, this using a single external public IP . Though I know that pound is not
expected to deal with virtual hosting.

[...]

Recall: [Pound Mailing List] Maintenance message for back-end
"Carbonell, Yann" <Yann.Carbonell(at)BancTec.ca>
2007-02-26 18:37:16 [ FULL ]
Carbonell, Yann would like to recall the message, "[Pound Mailing List]
Maintenance message for back-end".

Re: [Pound Mailing List] Maintenance message for back-end
Dave Steinberg <dave(at)redterror.net>
2007-02-26 19:02:04 [ FULL ]
> Pound is a great software by the way , and it helped us a lot . I want
to[...]

+1.  Expected or not, it works great, and I for one appreciate that the 
dev team has left the door open rather than forcing it closed.

Regards,[...]

Re: [Pound Mailing List] Maintenance message for back-end
Falk Brockerhoff <noc(at)smartterra.de>
2007-02-26 19:11:17 [ FULL ]
Carbonell, Yann schrieb:[...]
Pound is a load balancer, not a (content injecting) proxy. In my opinion
this is the wrong place to look for a feature to inform your
customers/visitors about a scheduled downtime. But I can understand why
you want to use such a feature :) Keep me up to date, if you found a
solution!

Regards,

Falk

Re: [Pound Mailing List] Maintenance message for back-end
RedShift <redshift(at)pandora.be>
2007-02-26 19:19:17 [ FULL ]
Carbonell, Yann wrote:[...]

That doesn't really sound like pound's job...

Re: [Pound Mailing List] Maintenance message for back-end
Albert <pound(at)alacra.com>
2007-02-26 19:50:06 [ FULL ]
Yann,

I'm a bit confused what you'd like to achieve?  Do you want your 
homepage to display the "Maintenance" message (with a meta-refresh or a 
"continue" link)?  If so, the only way I can think of is create 2 new 
Services, one with single Redirect message to the "Maintenance" page 
(which will have the meta-refresh or a "continue" link that the client 
will need to click). You then create another Service to return this 
specific html page from one of your backends(if you put the 
"maintenance" page on all of your backends, they you don't need this 
second Service).  Its a bit hack-ish, but should work.

So you'd do something like this (this will have to be declared before 
your regular "Service"):

Service
    #catch all calls to your homepage
    URL "^/$"
    Redirect "http://www.mydomain.com/maintenance.html"
End
Service
    #catch the maintenance call, and put it on a specific backend server(s)
    URL ".*/maintenance.html"
    BackEnd
       Address mybackend.mydomain.com
       Port 80
    End

This redirectpage.html needs to only sit on one of your backend servers 
(you can put it on more if you're concerned it might go down, just add 
more "BackEnd" directives to the second service). You do whatever you 
need to do with redirectpage.html to redirect users after they see you 
message. 

One problem with this solution, if somebody goes to your index.html page 
directly, they will bypass this redirect service.

Albert

Carbonell, Yann wrote:[...]

Re: [Pound Mailing List] Maintenance message for back-end
Ted Dunning <tdunning(at)veoh.com>
2007-02-26 20:13:02 [ FULL ]
Just hot swap the pound configuration to point the service in question to a
"we are down" server.


(oh ... Can't hot swap pound configs.  Forgot that for a moment)


On 2/26/07 8:36 PM, "Carbonell, Yann" <Yann.Carbonell(at)BancTec.ca>
wrote:
[...][...][...]

RE: [Pound Mailing List] Maintenance message for back-end
"Carbonell, Yann" <Yann.Carbonell(at)BancTec.ca>
2007-02-26 21:22:37 [ FULL ]
Could be a good idea , but as many people point out, there no reload
configuration file feature. 

Thanks anyway.
[...]

RE: [Pound Mailing List] Maintenance message for back-end
"Carbonell, Yann" <Yann.Carbonell(at)BancTec.ca>
2007-02-26 21:53:02 [ FULL ]
Thanks this is exactly what I would like to achieve! Actually you are not
confused at all . You pictured it very well . 

The meta-refresh page idea you came with is a great idea  , it would
redirect users after a certain period of time (let's say 10 sec) to the
corresponding back-end. 
However My concern is  whether they will still be able to access the final
application afer being redirected or will end-up in a loop. 

This means that after being displayed the page and redirected, customers
request will be redirected again as you catch all calls at the higher
service level . Am I correct saying that? 

Would it be easier to manage this if we put a front-end portal , that would
act as a central web page and redirect users to access back-end application
. So I could put the maintenance page on that particular server while
keeping the back-end config.

One more point though, when you say somebody goes to my index.html I think
that they will still be redirected as you have put the redirection on the
upper level .

Thanks for the help.
[...]

Re: [Pound Mailing List] Maintenance message for back-end
Albert <pound(at)alacra.com>
2007-02-26 22:17:56 [ FULL ]
Carbonell, Yann wrote:[...]
No, the first service is only catching calls to http://*yourdomain.com/ 
(the regexp is for "/" only).  Your meta-redirect would have to go to 
"http://www.yourdomain.com/index.html"
or whatever page is your homepage 
(this way the 2 Services will be skipped).[...]
Thats really upto you.  However, you must have at least 1 web server 
that returns this "maintenance" page (pound doesn't do this, its only a 
conduit).[...]
This is similar to the question(answer) above.  The regular expression 
is for the root page only.

RE: [Pound Mailing List] Maintenance message for back-end
"Carbonell, Yann" <Yann.Carbonell(at)BancTec.ca>
2007-02-26 22:37:47 [ FULL ]
Ok I get it now. Thanks 

I appreciate the help guys ! I will let you about the final implementation.
It could be helpful for people in the same situation. 

Yann

-----Original Message-----
From: Albert [mailto:pound(at)alacra.com] 
Sent: February 26, 2007 4:18 PM
To: pound(at)apsis.ch
Subject: Re: [Pound Mailing List] Maintenance message for back-end



Carbonell, Yann wrote:[...]
No, the first service is only catching calls to http://*yourdomain.com/ 
(the regexp is for "/" only).  Your meta-redirect would have to go to 
"http://www.yourdomain.com/index.html"
or whatever page is your homepage 
(this way the 2 Services will be skipped).[...]
would[...]
application[...]
Thats really upto you.  However, you must have at least 1 web server 
that returns this "maintenance" page (pound doesn't do this, its only a 
conduit).[...]
This is similar to the question(answer) above.  The regular expression 
is for the root page only. 



[...]

Re: [Pound Mailing List] Maintenance message for back-end
Albert <pound(at)alacra.com>
2007-02-26 22:45:09 [ FULL ]
I do something similar, but much more complex (such silly code running 
on backend, and developers don't want to fix it).  I do bunch of catch 
and redirects to make legacy code work.

It might not be a bad idea to tell pound to return a specific html page 
stored locally, but that involves having new directives for pound, and 
files to open, etc.  It can be done with this crazy setup, and it works.

Carbonell, Yann wrote:[...][...][...][...][...][...][...][...][...][...][...]
Attachments:  
text.html text/html 3530 Bytes

RE: [Pound Mailing List] Maintenance message for back-end
"Carbonell, Yann" <Yann.Carbonell(at)BancTec.ca>
2007-02-26 23:34:19 [ FULL ]
Yes it is nice to have different options . 
Though I let the code development to the dev team .  

-----Original Message-----
From: Albert [mailto:pound(at)alacra.com] 
Sent: February 26, 2007 4:45 PM
To: pound(at)apsis.ch
Subject: Re: [Pound Mailing List] Maintenance message for back-end

I do something similar, but much more complex (such silly code running 
on backend, and developers don't want to fix it).  I do bunch of catch 
and redirects to make legacy code work.

It might not be a bad idea to tell pound to return a specific html page 
stored locally, but that involves having new directives for pound, and 
files to open, etc.  It can be done with this crazy setup, and it works.

Carbonell, Yann wrote:[...]
implementation.[...][...]
final[...][...][...][...][...][...][...][...][...]
think[...][...]

[...]

MailBoxer