supervision - discussion about system services, daemon supervision, init, runlevel management, and tools such as s6 and runit
 help / color / mirror / Atom feed
From: Vincent Danen <vdanen@annvix.org>
Cc: supervision@list.skarnet.org
Subject: Re: supervising postfix
Date: Sat, 16 Oct 2004 17:37:21 -0600	[thread overview]
Message-ID: <532D0697-1FCC-11D9-8DD8-000A9598BFB2@annvix.org> (raw)
In-Reply-To: <Pine.LNX.4.44.0410161549080.4200-100000@e-smith.charlieb.ott.istop.com>

[-- Attachment #1: Type: text/plain, Size: 3415 bytes --]


On 16-Oct-04, at 2:11 PM, Charlie Brady wrote:

>>> You'll either need to ensure that the run script is not a process 
>>> group
>>> leader (remove -P from runsvdir, and possibly add "chpst -P" to most
>>> other
>>> run scripts), or fix postfix to turn the fatal error into a warning.
>>
>> runsvdir doesn't run with -P.  I tried using chpst -P on postfix, but
>> that didn't work.  I'm not too terribly interested in changing all the
>> runscripts to chpst -P every other service (I haven't had the need to
>> do it for any yet).
>
> It's a defensive measure. you can't control when or if a process will 
> kill
> its own process group. And you don't want any of those processes taking
> out all your stage 2. You won't have the need for it, until you have 
> the
> need for it!

Hmmm... so should I be running runsvdir with -P then?  And if I do, do 
I need to run chpst -P on all the other services?

Defensive measures are good, I'm just not sure of the best way to 
implement it.  Is running runsvdir with -P sufficient, I guess is what 
I'm asking.

>> Patching postfix is not my idea of a good time, either.  I'd prefer to
>> not mangle as much software as possible because it becomes a
>> maintenance nuisance.
>
> Sure, but you already have a maintenance problem, right now. Postfix
> doesn't run for you.

Well, it does.  Not the way that I exactly want, but I can start 
postfix from stage 1 and have it work.  Of course, if I do it this way 
I have to "exec chpst -P postfix start &" which isn't elegant.

I'm recompiling postfix now with the change to master.c you noted in 
your next email and we'll see if I can make master run under 
supervision and do the right thing.

> If you are not using -P anywhere, then maybe you've found a bug with
> postfix, and it is trying multiple times to become process group 
> leader or
> something. Have you straced it, so you can see what is being called 
> when?

Yeah, but most of that is greek to me.  =)

>> I think what I may end up doing is calling "postfix start" from stage 
>> 2
>> if something like /etc/sysconfig/postfix contains "START=yes" or
>> something similar.  Then in stage 3 I'll issue a "postfix stop".  Goes
>> against how I like to do things, but it seems like "master" is doing a
>> bit of supervision on it's own so instead of using (on Annvix anyways)
>> "srv stop postfix" one would have to issue "postfix stop".  I dislike
>> that it needs to be different, but at least this way I don't have to
>> fall back to a traditional initscript.  I could then have a runscript
>> for service postfix that just checks every few seconds to make sure
>> that master is still running, and if it is, sleep for another 5 
>> seconds
>> and then do another check.  If master doesn't seem to be running, then
>> just issue "postfix start" and sleep again.
>>
>> A bit of a compromise, but I think it might be the best solution.
>
> Sounds aweful :-(

It's not, but not really what I want either.  It works, which is 
something, and it still doesn't rely on clumsy initscripts.  It just 
isn't quite the way I wanted it, but we'll see if making master warn on 
setsid() failure makes it work "properly".

-- 
Annvix - Secure Linux Server: http://annvix.org/
*Please note gpg keyid FE6F2AFD has been replaced with keyid FEE30AD4*
"lynx -source http://linsec.ca/vdanen.asc | gpg --import"
{FEE30AD4 : 7F6C A60C 06C2 4811 FA1C  A2BC 2EBC 5E32 FEE3 0AD4}

[-- Attachment #2: This is a digitally signed message part --]
[-- Type: application/pgp-signature, Size: 186 bytes --]

  reply	other threads:[~2004-10-16 23:37 UTC|newest]

Thread overview: 8+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2004-10-16  4:35 Vincent Danen
2004-10-16 19:11 ` Charlie Brady
2004-10-16 19:28   ` Vincent Danen
2004-10-16 20:11     ` Charlie Brady
2004-10-16 23:37       ` Vincent Danen [this message]
2004-10-17  1:38         ` Vincent Danen
2004-10-16 20:42   ` Charlie Brady
2004-11-01 21:45   ` Csillag Tamas

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=532D0697-1FCC-11D9-8DD8-000A9598BFB2@annvix.org \
    --to=vdanen@annvix.org \
    --cc=supervision@list.skarnet.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).