Lars Noodén via Dng - 19.06.24, 03:48:02 CEST: > On 6/18/24 22:02, Simon Walter wrote:
> [snip]
>
> > I find it very interesting that this occurs so frequently and it's a
> > total show stopper - this non-deterministic behaviour.
>
> Don't forget that systemd can also choose to fail to boot, too, not just
> fail to shut down. That's all the while leaving no clue as to why on
> the display and or in the logs. Systemd's occasional failure to boot
> happened to me during a /very/ important demo plus two more less
> important ones. It took ages to track it down what seemed to be the
> problem and work around it.
Haha, indeed it can.
I created a swap device on a virtual machine. I wanted to mount it by
label. I forgot to set the label. What happened?
Systemd booted into rescue mode without SSH daemon running. I tried to
start the SSH daemon with "systemctl start ssh" as the VMware ESXi based
console did not work very well for me with the browser setup I had back
then. It took 90 seconds for Systemd to fail the start of the SSH daemon.
Why did it fail the start of the SSH daemon? Cause swap could not be
activated. What did I do? I ran "/usr/bin/sshd" manually. Yes, I am not
even kidding you, that is what I did. And why it took Systemd 90 seconds
to fail the start of the SSHD daemon even tough there was a persistent
issue that prevented activating the swap device is beyond me as well.
I reported this, do not remember whether upstream or not, I bet it was
upstream, maybe even both. They outright refused to do anything about it.
I think the bug report can still be found online. I could try to dig it
up, in case there is enough interest.
Same goes with NFS server temporarily not available unless you told
Systemd with the special "mount" option "_netdev" that it is a network
mount. Systemd could have recognized that by checking the filesystem type.
Now why the refusal to do anything about it:
They considered that behavior as correct. Either the system boots
correctly or rescue system. Like booting is a binary 0/1 thing. Either all
or nothing. Behavior of any other sane init system is: Get up as much as
you can and let the admin fix the rest.
I'd value booting *at all* over to *correct* boot *any time*, *especially*
for servers with limited out of band service capability.
That is what I mean by the sheer amount of implicit policy within Systemd.
They think they know what is best for everyone. But they don't. It is
patronizing and arrogant.
I believe it was a Debian back then and granted, maybe the rescue console
meanwhile has working SSH, but back then it did not.
The outright refusal to even consider some kind of fix, this basically
unlimited arrogance, not only by some upstream developers, but it part
also by some Debian developers was one of the major reasons for me to
switch away from Systemd for my own systems.
I have enough surprises in my life without Systemd. And my systems do what
I want! Period.