From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on inbox.vuxu.org X-Spam-Level: X-Spam-Status: No, score=-0.6 required=5.0 tests=DKIM_INVALID,DKIM_SIGNED, HEADER_FROM_DIFFERENT_DOMAINS,HTML_MESSAGE,MAILING_LIST_MULTI autolearn=ham autolearn_force=no version=3.4.4 Received: from alyss.skarnet.org (alyss.skarnet.org [95.142.172.232]) by inbox.vuxu.org (Postfix) with SMTP id 2276A21785 for ; Sat, 11 Jan 2025 16:15:47 +0100 (CET) Received: (qmail 7727 invoked by uid 89); 11 Jan 2025 15:16:13 -0000 Mailing-List: contact supervision-help@list.skarnet.org; run by ezmlm Sender: Precedence: bulk List-Post: List-Help: List-Unsubscribe: List-Subscribe: List-Id: Received: (qmail 7717 invoked from network); 11 Jan 2025 15:16:13 -0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sopka.ch; s=default; t=1736608545; bh=tJ1+5VyklgqQSaI3keMcEvZrK5HuclrGFKulmTbSsPw=; h=Received:Received:Subject:To:From; b=TXv3T2yBZ3XgbpzrfwZp6Z4eBASBuXYbtCJ6d9UeKMj8cUcOHXp3da19RRgHweWAC QPVt2J+EYZcLTkU8hWo3DvvMnTbsUM/oRshZK3CeunNfziPTfh7RgD5Qc0pP7V27L5 5jupLN41o5FsXPIFFWl/gLkEF0YzNRfLjJ9pEeKwa8Y//U0uVXsVlpbt+mpkyGhVLl fyiZaSfYEb3HGEdh15c9riRgdT6cdYfkmy1XgzMkOOgcGDqFpmcr/rxibxApmLTxTL SRuczwNb3GR/qqjcfFYHN5+onO71TV0xPw2t8Tz3hln3xB7peGh4VSGDNLUYhghUL+ M/5UWQ6WbPnaw== Authentication-Results: plesk.origon.ch; spf=pass (sender IP is 127.0.0.1) smtp.mailfrom=psopka@sopka.ch smtp.helo=plesk.origon.ch Received-SPF: pass (plesk.origon.ch: localhost is always allowed.) client-ip=127.0.0.1; envelope-from=psopka@sopka.ch; helo=plesk.origon.ch; Authentication-Results: plesk.origon.ch (amavis); dkim=pass (2048-bit key) header.d=sopka.ch Received-SPF: pass (plesk.origon.ch: connection is authenticated) Message-ID: <261837cb-6c20-4dc7-b3f0-c9423229447d@sopka.ch> Date: Sat, 11 Jan 2025 16:15:42 +0100 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: Scripting Stage 3 and 4 To: supervision@list.skarnet.org, Laurent Bercot References: <1dcb4b00-db5d-49bd-8598-fd6b2e5febdd@sopka.ch> <9ec5e5f1-35f9-4e6b-abd0-79299779b515@sopka.ch> Content-Language: en-US From: Paul Sopka Autocrypt: addr=psopka@sopka.ch; keydata= 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 In-Reply-To: Content-Type: multipart/signed; micalg=pgp-sha256; protocol="application/pgp-signature"; boundary="------------yry0Yd10H8zZhw0WfF0JGPKn" X-PPP-Message-ID: <173660854309.2719684.11033848623696606336@plesk.origon.ch> X-PPP-Vhost: sopka.ch --------------yry0Yd10H8zZhw0WfF0JGPKn Content-Type: multipart/mixed; boundary="------------IaIdrhUH2sQEjvxO5iqvT9Ba"; protected-headers="v1" From: Paul Sopka To: supervision@list.skarnet.org, Laurent Bercot Message-ID: <261837cb-6c20-4dc7-b3f0-c9423229447d@sopka.ch> Subject: Re: Scripting Stage 3 and 4 References: <1dcb4b00-db5d-49bd-8598-fd6b2e5febdd@sopka.ch> <9ec5e5f1-35f9-4e6b-abd0-79299779b515@sopka.ch> In-Reply-To: --------------IaIdrhUH2sQEjvxO5iqvT9Ba Content-Type: multipart/mixed; boundary="------------a7uvjvRrlivGOy4LuqoBXMoL" --------------a7uvjvRrlivGOy4LuqoBXMoL Content-Type: multipart/alternative; boundary="------------5DcmGl6o4fNi2AcC2gJcHDWB" --------------5DcmGl6o4fNi2AcC2gJcHDWB Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: base64 PiDCoFdpdGggbm8gdHR5PyBhbmQgbm90IGV2ZW4gYSByZWRpcmVjdGlvbiBmcm9tL3RvIC9k ZXYvY29uc29sZT8gVGhhdCdzDQo+IGdvaW5nIHRvIGJlIGEgdG91Z2ggcmVjb3Zlcnkg8J+Y iQ0KSSB0b29rIHJlZGlyZWN0aW9uIGZyb20vdG8gL2Rldi9jb25zb2xlIGZvciBncmFudGVk IHhELCBhZnRlciBhbGwgd2hhdCBJIA0Kd3JvdGUgYXMgb25seSBwYXJ0IG9mIGEgbGFyZ2Vy IHNjcmlwdC4NCg0KPiDCoEFuZCBzdXJlLCB5b3UgY291bGQgd3JhcCBhbGwgeW91ciBjb21t YW5kcyBpbiBhIGJpZyBpZiBibG9jay4gQnV0IG15DQo+IHBvaW50IGlzIHRoYXQgdGhlc2Ug YXJlICp0aGluZ3MgeW91IG5lZWQgdG8gdGhpbmsgYWJvdXQqLiBJJ2QgcmF0aGVyDQo+IG5v dCBoYXZlIHRvIHRoaW5rIGFib3V0IG5ldyB0aGluZ3MgYXQgc2h1dGRvd24gdGltZSB3aGVu IEkgZG9uJ3QgaGF2ZQ0KPiB0by4gV2h5IGNoYW5nZSBzb21ldGhpbmcgYW5kIGR1cGxpY2F0 ZSBsb2dpYyB3aGVuIHlvdSBjb3VsZCBqdXN0IGRvDQo+IG5vdGhpbmcgYW5kIGtlZXAgd2hh dCdzIGFscmVhZHkgd29ya2luZyBhbmQgaGFzIHdvcmtlZCBmb3IgdGhlIHdob2xlDQo+IGxp ZmV0aW1lIG9mIHRoZSBtYWNoaW5lPyANClNvIHlvdSBtZWFuIHJhdGhlciB0aGFuICh0byBx dW90ZSBteXNlbGYpOg0KPiB8IGlmIC1uIHsgbW91bnQgLW8gcmVtb3VudCxybyAvIH0NCj4g fCBmb3JlZ3JvdW5kIHsgczYtc3ZjIC1VIC9ydW4vc2VydmljZS9yZWNvdmVyeSB9IA0KWW91 IHdvdWxkIGp1c3Qgbm90IHRlYXIgZG93biBvbmUgdHR5IChlLmcuIDEyKSBvciBhICJtaW5p bWFsIHJlY292ZXJ5IA0Kc3NoIHNlcnZlciBsaXN0ZW5pbmcgb24gYW4gdW51c3VhbCBwb3J0 Ij8NCg0KPiDCoFRoZSBrZXkgdG8gdW5kZXJzdGFuZGluZyBob3cgdG8gbWFuYWdlIGEgc2h1 dGRvd24sIEkgdGhpbmssIGlzIHRvDQo+IHJlYWxpemUgdGhhdCBib290IGFuZCBzaHV0ZG93 biAqYXJlIG5vdCBzeW1tZXRyaWNhbCosIGFuZCBzbywgZG8gbm90DQo+IG5lZWQgdG8gYmUg aGFuZGxlZCBpbiBhIHN5bW1ldHJpY2FsIHdheS4gQmVjYXVzZSB5b3Ugc2V0IHVwIGENCj4g c3VwZXJ2aXNpb24gdHJlZSBhdCBib290IHRpbWUgZG9lcyBub3QgbWVhbiB5b3UgbmVlZCB0 byBnZXQgcmlkIG9mIGl0DQo+IGF0IHNodXRkb3duIHRpbWUuDQo+DQo+IMKgV2hlbiB5b3Ug Ym9vdCwgeW91J3JlIHN0YXJ0aW5nIGZyb20gKm5vdGhpbmcqLCBhbmQgeW91IG5lZWQgdG8g YnVpbGQNCj4gdXAgdG8gYSBzdGF0ZSB3aGVyZSB0aGUgbWFjaGluZSBpcyBmdW5jdGlvbmFs IGFuZCBhYmxlIHRvIHJ1biBzZXJ2aWNlcywNCj4gdGhhdCdzIHdoeSBpdCdzIGluY3JlbWVu dGFsIGFuZCBkZWxpYmVyYXRlIGFuZCBlbGFib3JhdGUuIEl0IGlzDQo+IGxpdGVyYWxseSBh IGJvb3RzdHJhcCBwcm9jZXNzIHRoYXQgbmVlZHMgcHJlY2lzZSBvcmRlcmluZy4NCj4NCj4g wqBXaGVuIHlvdSBzaHV0ZG93biwgeW91J3JlIHN0YXJ0aW5nIGZyb20gYSBzdGF0ZSB3aGVy ZSBldmVyeXRoaW5nIGlzDQo+IGFscmVhZHkgd29ya2luZywgc28geW91IGNhbiByZWx5IG9u IG1hbnkgbW9yZSBmZWF0dXJlcywgYW5kIHlvdSdyZSBub3QNCj4gdHJ5aW5nIHRvIGJ1aWxk IGFueXRoaW5nLCB5b3UncmUganVzdCB0cnlpbmcgdG8gZW5zdXJlIGNvbnNpc3RlbmN5IG9m DQo+IHBlcm1hbmVudCBzdGF0ZSAoYWthIGRpc2spIGJlZm9yZSB5b3UgcHVsbCB0aGUgcGx1 Zy4gSXQncyB0aGUgb25seQ0KPiB0aGluZyB0aGF0IG1hdHRlcnMuIElmIHlvdSB3ZXJlIG9u bHkgZXZlciBvcGVyYXRpbmcgaW4gUkFNLCBzdGFydGluZw0KPiBmcm9tIFJPTSAvIHJvIGRp c2ssIGFuZCBuZXZlciBoYWQgYW55IG11dGFibGUgcGVybWFuZW50IHN0YXRlLCB5b3VyDQo+ IHNodXRkb3duIHByb2NlZHVyZSBjb3VsZCBqdXN0IGJlIGFuIGltbWVkaWF0ZSByZWJvb3Qo KSwgb3IgcHJlc3NpbmcNCj4gdGhlIHBvd2VyIG9mZiBidXR0b247IGl0IGlzIHRoZSBjYXNl IGZvciBzb21lIGVtYmVkZGVkIGRldmljZXMuIEJ1dA0KPiB3aXRoIG11dGFibGUgcGVybWFu ZW50IHN0YXRlLCB3ZSBuZWVkIHRvIGJlIG1vcmUgY2FyZWZ1bCwgdGhhdCdzIHdoeQ0KPiB3 ZSBzaHV0IGRvd24gc2VydmljZXMgaW4gYW4gb3JkZXJlZCB3YXksIGFuZCB0aGVuIG1ha2Ug c3VyZSB3ZSBjYW4NCj4gdW5tb3VudCB0aGUgZmlsZXN5c3RlbXMgYmVmb3JlIHBvd2VyaW5n IG9mZi4gSXQncyB0aGUgKm9ubHkqIHJlYXNvbjsNCj4gYXBhcnQgZnJvbSB0aGF0LCB5b3Ug Y2FuIGRvIHdoYXRldmVyIHlvdSB3YW50LiBXaG8gY2FyZXM/IHRoZSBzeXN0ZW0gaXMNCj4g Z29pbmcgdG8gYmUgZG93biBhbnl3YXkuIFdoZW4gdGhlIEFybWFnZWRkb24gY29tZXMsIHlv dSB3YW50IHRvIG1ha2UNCj4gc3VyZSB0aGUgdGltZSBjYXBzdWxlcyBhcmUgd2VsbCBzZWFs ZWQgYW5kIGJ1cmllZCBmb3IgdGhlIG5leHQNCj4gY2l2aWxpemF0aW9uIHRvIGZpbmQsIGJ1 dCB5b3UgZG9uJ3QgaGF2ZSB0byBjbGVhbiB5b3VyIHJvb20uDQo+DQo+IMKgU28gdGhlIGdv YWxzIG9mIGJvb3QgYW5kIHNodXRkb3duIGFyZSB2ZXJ5IGRpZmZlcmVudC4NCj4NCj4gwqBJ IHNwZWNpZmljYWxseSBkZXNpZ25lZCBzNi1saW51eC1pbml0IHNvIGl0IHdvdWxkIG5vdCBz dG9yZSBhbnkgdml0YWwNCj4gaW5mb3JtYXRpb24gaW4gcGVybWFuZW50IG11dGFibGUgc3Rh dGUsIGFuZCB3b3VsZCBub3QgaG9sZCBhbnkgd3JpdGluZw0KPiBmZCBvbiBhIGZpbGVzeXN0 ZW0uIFRoYXQgbWVhbnMgczYgd2lsbCBub3QgcHJldmVudCB5b3UgZnJvbSB1bm1vdW50aW5n DQo+IHlvdXIgZmlsZXN5c3RlbXMsIHBhcmtpbmcgeW91ciBkaXNrcywgd2hhdGV2ZXIgLSBh bmQgdGhhdCB0aGUNCj4gc3VwZXJ2aXNpb24gdHJlZSBjYW4ga2VlcCBydW5uaW5nIHVudGls IHlvdSBwdWxsIHRoZSBwbHVnLiBJdCBpcw0KPiBkZXNpZ25lZCB0byBoZWxwIHlvdSB3aGls ZSB0aGUgbWFjaGluZSBpcyBydW5uaW5nLCBhbmQgKmVzcGVjaWFsbHkqDQo+IGluIGRlbGlj YXRlIHNpdHVhdGlvbnMgd2hlcmUgeW91J3JlIGtpbGxpbmcgdGhpbmdzIGFuZCB3YW50IHRv IGJlIHN1cmUNCj4geW91IGNhbiByZWNvdmVyIGlmIHNvbWV0aGluZyBnb2VzIHdyb25nIHJh dGhlciB0aGFuIGJyaWNrIHRoZSBzeXN0ZW0uDQo+IFRoYXQncyB3aHkgSSdtIHNheWluZyBp dCdzIGxlc3MgZWZmb3J0IHRvIGtlZXAgaXQgaW4gcGxhY2UgYW5kIHdvcmsNCj4gd2l0aCBk aXNhYmxpbmcgc3VwZXJ2aXNpb24gd2hlbiBpdCBuZWVkcyB0byBiZSBkaXNhYmxlZCwgdGhh biB0bw0KPiBkaXNtYW50bGUgdGhlIHN1cGVydmlzaW9uIHRyZWUgYW5kIGhhdmUgdG8gcmVp bXBsZW1lbnQgcmVjb3ZlcnkgbG9naWMuIA0KVmVyeSBpbnRlcmVzdGluZywgdGhhbmsgeW91 IHZlcnkgbXVjaCBmb3IgdGhpcyBkZXRhaWxlZCByZXNwb25zZSwgSSANCmZ1bGx5IGFncmVl IQ0KSSB0aGluayBpdCBtaWdodCBiZSB3b3J0aCBwdXR0aW5nIHRoaXMgb24gdGhlIHBhZ2Ug SSBjaXRlZCBpbiB0aGUgZmlyc3QgDQptYWlsLg0KDQo+PiB8IGlmIC1uIHsgbW91bnQgLW8g cmVtb3VudCxybyAvIH0NCj4+IHwgZm9yZWdyb3VuZCB7IHM2LXN2YyAtVSAvcnVuL3NlcnZp Y2UvcmVjb3ZlcnkgfQ0KPg0KPiDCoFlvdSBqdXN0IHRvcmUgZG93biB0aGUgc3VwZXJ2aXNp b24gdHJlZSwgYW5kIHlvdSB3YW50IHRvIHN0YXJ0IGENCj4gcmVjb3ZlcnkuLi4gc2Vydmlj ZT8gOkQgDQoNClRoaXMgd2FzIG1lYW50IGZvciB0aGUgYXBwcm9hY2ggb2Yga2VlcGluZyB0 aGUgc3VwZXJ2aXNpb24gdHJlZSwNCnRvIGJlIHJhbiBieSB0aGUgc2h1dGRvd24gc2Vydmlj ZS4NCkJ1dCBub3cgaXQgc2VlbXMgdG8gbWUgdGhhdCBpdCB3b3VsZCBiZSBhbm90aGVyIGNh c2Ugb2YNCg0KPiAqdGhpbmdzIHlvdSBuZWVkIHRvIHRoaW5rIGFib3V0Kg0KU28sIEkgZ3Vl c3MgaXQgd291bGQgYmUgYmV0dGVyIHRvIGhhdmUgYSByZWNvdmVyeSBzZXJ2aWNlIHJpZ2h0 IGF3YXkgYW5kIA0Kbm90IHN0b3AgaXQsDQpsaWtlIEkgc3VnZ2VzdGVkIGF0IHRoZSBzdGFy dCBvZiB0aGlzIG1haWw/DQoNCkZpbmFsbHksIHdvdWxkbid0IGF0IGxlYXN0IG9uZSAiaWYi IGJlIGFwcHJvcHJpYXRlLA0KdG8gYmUgc3VyZSB3aGV0aGVyIGV2ZXJ5dGhpbmcgaXMgdW5t b3VudGVkIHByb3Blcmx5Pw0KDQoNClJlZ2FyZHMsDQoNClBhdWwNCg0K --------------5DcmGl6o4fNi2AcC2gJcHDWB Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: quoted-printable

=C2=A0With no tty? and not even a redirec= tion from/to /dev/console? That's
going to be a tough recovery =F0=9F=98=89
I took redirection from/to /dev/console for granted xD, after all what I wrote as only part of a larger script.

=C2=A0And sure, you could wrap all your commands in a big if block. But my
point is that these are *things you need to think about<= span class=3D"moz-txt-tag">*. I'd rather
not have to think about new things at shutdown time when I don't have
to. Why change something and duplicate logic when you could just do
nothing and keep what's already working and has worked for the whole
lifetime of the machine?
So you mean rather than (to quote myself):
| if -n { mount -o remount,ro / }
| foreground { s6-svc -U /run/service/recovery }
You would just not tear down one tty (e.g. 12) or a "minimal recovery ssh server listening on an unusual port"?

=C2=A0The key to understanding how to man= age a shutdown, I think, is to
realize that boot and shutdown *are not symmetrical*, and so, do not
need to be handled in a symmetrical way. Because you set up a
supervision tree at boot time does not mean you need to get rid of it
at shutdown time.

=C2=A0When you boot, you're starting from *nothing*, and you need to build
up to a state where the machine is functional and able to run services,
that's why it's incremental and deliberate and elaborate. It is
literally a bootstrap process that needs precise ordering.

=C2=A0When you shutdown, you're starting from a state where everything is
already working, so you can rely on many more features, and you're not
trying to build anything, you're just trying to ensure consistency of
permanent state (aka disk) before you pull the plug. It's the only
thing that matters. If you were only ever operating in RAM, starting
from ROM / ro disk, and never had any mutable permanent state, your
shutdown procedure could just be an immediate reboot(), or pressing
the power off button; it is the case for some embedded devices. But
with mutable permanent state, we need to be more careful, that's why
we shut down services in an ordered way, and then make sure we can
unmount the filesystems before powering off. It's the *only= * reason;
apart from that, you can do whatever you want. Who cares? the system is
going to be down anyway. When the Armageddon comes, you want to make
sure the time capsules are well sealed and buried for the next
civilization to find, but you don't have to clean your room.

=C2=A0So the goals of boot and shutdown are very different.

=C2=A0I specifically designed s6-linux-init so it would not store= any vital
information in permanent mutable state, and would not hold any writing
fd on a filesystem. That means s6 will not prevent you from unmounting
your filesystems, parking your disks, whatever - and that the
supervision tree can keep running until you pull the plug. It is
designed to help you while the machine is running, and *espe= cially*
in delicate situations where you're killing things and want to be sure
you can recover if something goes wrong rather than brick the system.
That's why I'm saying it's less effort to keep it in place and work
with disabling supervision when it needs to be disabled, than to
dismantle the supervision tree and have to reimplement recovery logic.
Very interesting, thank you very much for this detailed response, I fully agree!
I think it might be worth putting this on the page I cited in the first mail.

| if -n { mou= nt -o remount,ro / }
| foreground { s6-svc -U /run/service/recovery }

=C2=A0You just tore down the supervision tree, and you want to st= art a
recovery... service? :D

This was meant for the approach of keeping the supervision tree, to be ran by the shutdown service.
But now it seems to me that it would be another case of

*things you need to think about<= span class=3D"moz-txt-tag">*
So, I guess it would be better to have a recovery service right away and not stop it,
like I suggested at the start of this mail?

Finally, wouldn't at least one "if" be appropriate,
to be sure whether everything is unmounted properly?


Regards,

Paul

--------------5DcmGl6o4fNi2AcC2gJcHDWB-- --------------a7uvjvRrlivGOy4LuqoBXMoL Content-Type: application/pgp-keys; name="OpenPGP_0x71C7C85A2EA30F62.asc" Content-Disposition: attachment; filename="OpenPGP_0x71C7C85A2EA30F62.asc" Content-Description: OpenPGP public key Content-Transfer-Encoding: quoted-printable -----BEGIN PGP PUBLIC KEY BLOCK----- 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 8QRhtw=3D=3D =3Dhu4K -----END PGP PUBLIC KEY BLOCK----- --------------a7uvjvRrlivGOy4LuqoBXMoL-- --------------IaIdrhUH2sQEjvxO5iqvT9Ba-- --------------yry0Yd10H8zZhw0WfF0JGPKn Content-Type: application/pgp-signature; name="OpenPGP_signature.asc" Content-Description: OpenPGP digital signature Content-Disposition: attachment; filename="OpenPGP_signature.asc" -----BEGIN PGP SIGNATURE----- wsF5BAABCAAjFiEEklpwGqZx1YzBW1hqccfIWi6jD2IFAmeCix4FAwAAAAAACgkQccfIWi6jD2LG fg/8CUl3i6ZKxcNuEZcpM0Ehvm/Vi2g56xZxq7P7N8dDFBYT9rZq9LERPUGLskLxyh9r9hHVe/nz Zdt8UUgNSu0YE2rpQb7ifAlFN7yQ+uRDgspKvUIwVtFL/zRMP59qkvdXuLMhTmTPMvbKIS8qdKkH RwsHvFlkwyNkC+mQ28Wrvgoi5z68TQQFKK4NlBJLCh4IqF7wy1i1TpDQjNYIizPqxKhFH9NxTUTc lMjbpi2KdRNiMCYWRTl3Yp6k1wZ8aZqqlSoEVHYb7HvEHvp95uzhErVR2EUgkfcXoLbFKpxCYIEz svvnEcyP6Ebr/laUVfdu6Xa/QqKgvjfa0LDdsV/rF0+Tp6bX3qT9nhogIeGtdiitteP8a4yCwVQl HdfuDfOzKN5dLjR6WatBiM6cOr0A/Xn+UPcq3ssiMcL3W+u8EmhbTWcUPHS0mwV2s1ZR8hRvGntA AgejV8fXZkBTvxpGrD49iyB3ojGtRuyNAIxtaeyxSPZesn59DNg+HCOYKjqsmP6xehREnk3TWgjy 9GuoAwLehXGFvY3ojoIhS6Oox0kxM7uYUmnjlkWCl3D4DmyKKctSX0H5NpTtPNDUhUjVYCSMPrl+ 37dGRtKwHxLqUZkH+7co2B1iAiFoK6hr6yiHvDjF+Ji9mh2dq3CeuasaQX+p2BvbXti77aC8xmfO kGo= =ge2p -----END PGP SIGNATURE----- --------------yry0Yd10H8zZhw0WfF0JGPKn--