Re: Upgrade packages - Control Instance

From: Christoph Berg <myon(at)debian(dot)org>
To: Sébastien Lardière <sebastien(at)lardiere(dot)net>
Cc: pgsql-pkg-debian(at)lists(dot)postgresql(dot)org
Subject: Re: Upgrade packages - Control Instance
Date: 2019-05-21 10:09:40
Message-ID: 20190521100940.GC12440@msg.df7cb.de
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-pkg-debian

Re: Sébastien Lardière 2019-05-21 <f4efadb7-ecb0-ba1f-383b-b9a38f988f87(at)lardiere(dot)net>
> Hi,
>
> I'm looking for a way to control the way instances are restarted when
> `apt upgrade` run => sometime, if there is a large number of packages to
> upgrade, the instances is stopped for a long time.
>
> In the past, I used to use start.conf with manual setting, then restart
> "manually" after the upgrade, which give downtime as short as I can ;
> but now, it seems that "stop" is always done, even when i disable the
> systemd service (ok,it is weird to disable service and to want the
> service up, I know ) => I think that the fact we can't forbid the stop
> is not correct.
>
> I know that I can hold the postgresql packages, run the big `apt
> upgrade` then unhold packages and do the postgresql upgrade, but I think
> it's a more complicated way to do it.
>
> Am I miss something ?
>
> Am I the only one disturbed by the fact that we can't forbid stop ?

The generic solution is policy-rc.d:

https://people.debian.org/~hmh/invokerc.d-policyrc.d-specification.txt

Simple sample implementation:

#!/bin/sh

# policy-rc.d script for chroots.
# Copyright (c) 2007 Peter Palfrader <peter(at)palfrader(dot)org>

test -f /etc/debian_chroot || exit 0

while true; do
case "$1" in
-*) shift ;;
makedev) exit 0;;
*)
echo "Not running services in chroot."
exit 101
;;
esac
done

Christoph

In response to

Responses

Browse pgsql-pkg-debian by date

  From Date Subject
Next Message Sébastien Lardière 2019-05-21 12:39:53 Re: Upgrade packages - Control Instance
Previous Message Sébastien Lardière 2019-05-21 09:58:15 Upgrade packages - Control Instance