Systemd as tragedy
Systemd as tragedy
Posted Feb 5, 2019 15:28 UTC (Tue) by jccleaver (guest, #127418)In reply to: Systemd as tragedy by pizza
Parent article: Systemd as tragedy
> Are you sure that isn't because udev has hidden re-ordering behind its default behaviour of persistent interface renaming?
Pretty sure, unless the times we did that intentionally were logged in a different way than when it's automatically performing the function. That also really only helps for persistency once the OS is installed -- if it were truly random, then kickstarts without MAC codification would be expected to randomly fail as NICs went to different switches or ports got bonded incorrectly, and that didn't happen for us with any of our models, even though only the GB1 NIC was used by us for tracking in our PXE boot server.
Of course, the persistence with udev kind of proves the point: Even if the kernel can't be trusted deterministically, and with biosdevname out there, udev was already taking care of it. It was a "solved problem". There was no need for systemd to rip everything out and remove the long-standing conventions and make the most common case (a box with a single nic) annoying and difficult.
And with udev being subsumed into systemd, for no good reason, no one outside of the project had any real say in the matter.
Posted Feb 6, 2019 0:00 UTC (Wed)
by anselm (subscriber, #2796)
[Link] (12 responses)
The principal maintainers of udev also happen to be the principal maintainers of systemd, and they seem to find it convenient to arrange things this way. According to them it avoids code duplication and cyclic dependencies and makes administering the code base easier. Their prerogative.
Also, AFAIR the connection between systemd and udev doesn't really go deeper than the fact that they're sharing the same upstream tarball. It is still possible to build and use udev without systemd (and presumably vice-versa, although there would probably be little point – on the whole, udev for its faults seems to be a lot less controversial than systemd).
In any case, the network-interface naming issue is strictly a udev thing and has nothing whatsoever to do with systemd. It also applies to non-systemd installations if they're using udev, and IIRC even predates systemd altogether.
Posted Feb 6, 2019 0:28 UTC (Wed)
by jccleaver (guest, #127418)
[Link] (11 responses)
But that's not really the case operationally, and it's why eudev was forked away from it for Gentoo. Once you combine and remove independent support, let's face it: systemd may have different binaries, but when you take away any attempt and a stable platform between those pieces, you're forcing use of it as an integrated whole.
> In any case, the network-interface naming issue is strictly a udev thing and has nothing whatsoever to do with systemd. It also applies to non-systemd installations if they're using udev, and IIRC even predates systemd altogether.
Sure, but it's under the systemd aegis that they decided to implement this change, and with removing udev's support for non-systemd distributions, you no longer really have an option. Rather than allow for distinct approaches, now you're forced (well, by default) to adopt this new methodology that solves for edge cases by frustrating the simple, common case:
From: https://www.freedesktop.org/wiki/Software/systemd/Predict...
Thanks, Lennart. *slow clap*
Posted Feb 6, 2019 9:48 UTC (Wed)
by anselm (subscriber, #2796)
[Link]
That would be the developers of the “eudev” fork of udev talking, so this is not exactly an unbiased view. Whether that fork was really necessary is by no means clear.
Posted Feb 6, 2019 12:50 UTC (Wed)
by pizza (subscriber, #46)
[Link] (9 responses)
For all your bellyaching, that feature is trivially disabled, as per the second-to-last section on that page.
So, yes, thanks Lennart, for building a mechanism that most distributions found useful enough to enable by default, documenting it heavily, and providing an easy way to configure or disable it altogether.
Posted Feb 6, 2019 18:33 UTC (Wed)
by jccleaver (guest, #127418)
[Link] (8 responses)
I'm aware that it's disableable, and regularly do so. My original point was that "making the common use case very smooth" is risible for systemd as a whole. The most common use case for a host will be a single attached NIC, and now your options for this are:
And it's not even difficult to come up with workarounds for this -- maybe a built-in alias so that "eth0" *always* means "the only NIC" on single NIC systems even if the real name is its mess, so that thing would continue to work the way they had for the last 20 years in most cases.
> So, yes, thanks Lennart, for building a mechanism that most distributions found useful enough to enable by default, documenting it heavily, and providing an easy way to configure or disable it altogether.
That's a sheer bandwagon argument, and it fails even before you get to the underlying arguments about how responsive some distributions are to either their userbases or their downstreams (hint: not always, especially if they regularly kick policy decisions over to members in the same group popping on a different hat).
Posted Feb 6, 2019 22:26 UTC (Wed)
by jccleaver (guest, #127418)
[Link] (7 responses)
https://www.ispcolohost.com/2015/07/11/kickstarting-with-...
And of course, this doesn't even address the straight-up clusterf*ck of the 7.2 to 7.3 update:
https://access.redhat.com/solutions/2592561
Nor does it hit the "systemd will silently hang all boot/reboot attempts because no one tested SELinux policy application" that many of us hit while trying to address the issue: https://bugzilla.redhat.com/show_bug.cgi?id=1393505
Although this was a flat-out collapse of RedHat QA, it was precipitated by a belief by the systemd crew that it should be able to barrel over all sorts of underlying real-world behaviors blithely making assumptions no one had guaranteed and no one had agreed to. And when it inevitably breaks because of some other issue out there, their initial response is *always* "Hey, works for us. Not our problem!"
See also: UEFI bricking, usernames starting with a number, incorrect /etc/fstab entries hanging boot, flooding debug data to klogd, and God knows what else...
Posted Feb 6, 2019 23:00 UTC (Wed)
by johannbg (guest, #65743)
[Link] (2 responses)
Red Hat has a number to call for their support contract have you tried using it?
I'm pretty sure they can give you the moral support you need and even re-train you.
And you still arent critisizing systemd in an area you could arguably critisize it for but carry on throwing bricks at a dead pony...
Posted Feb 9, 2019 22:46 UTC (Sat)
by nix (subscriber, #2304)
[Link] (1 responses)
> Red Hat has a number to call for their support contract have you tried using it?
I'm fairly sure this is not argument in good faith on your part. (At the very least, you are entirely ignoring your interlocutor.)
Posted Feb 10, 2019 10:50 UTC (Sun)
by johannbg (guest, #65743)
[Link]
This problem has existed long before udev and came to be as can be seen by historic multiple prope and pray workarounds from various upstreams and distribution ( and *nixes) trying to get it right, all the way down to administrators trying to manage that by themselves by stuffing something as simple like ifconfig $foo name $bar in /etc/rc.conf or write more complex, scripts which boiled down more or less finding the mac addr and then run ifconfig $foo on it's output.
Users can disable or hack the udev rule to their liking if they dont agree with it's implementation.
And systemd's networkd interface configuration file arent more complex than so...
/etc/systemd/network/20-wired.network
[Match]
[Network]
And a simple ( fallback ) dhcp configuration
/etc/systemd/network/99-wired-dhcp.network
[Match]
[Network]
And for the keen administrator eye he will notices that *both* of the networkd network files combined are atleast half the size of an single
The fact is udev is not do blame for the device naming enumiration problem nor is systemd network configuration, complex or hard to understand
So all this constant blaming udev, systemd or both for all the worlds problem approach, to me makes little to no sense.
Posted Feb 13, 2019 8:44 UTC (Wed)
by flussence (guest, #85566)
[Link] (3 responses)
(and personally I'd prefer if /sbin/mount would grok GPT partition metadata so that fstab could go away, but that's neither here nor there.)
Posted Feb 13, 2019 18:14 UTC (Wed)
by Wol (subscriber, #4433)
[Link] (1 responses)
Cheers,
Posted Feb 14, 2019 7:25 UTC (Thu)
by zdzichu (subscriber, #17118)
[Link]
I think they're utilised by systemd-gpt-mount generator.
Posted Feb 14, 2019 17:51 UTC (Thu)
by nix (subscriber, #2304)
[Link]
Systemd as tragedy
And with udev being subsumed into systemd, for no good reason, no one outside of the project had any real say in the matter.
Systemd/udev and complex simple single nic cases
From: https://lwn.net/Articles/529314/
> > Earlier this year, udev upstream was absorbed into systemd. udev often breaks compatibility with older systems by depending upon recent Linux kernel releases, even when such dependencies are avoidable. This became worse after udev became part of systemd, which has jeopardized our ability to support existing installations. The systemd developers are uninterested in providing full support in udev to systemd alternatives.
> > Starting with v197 systemd/udev will automatically assign predictable, stable network interface names for all local Ethernet, WLAN and WWAN interfaces. This is a departure from the traditional interface naming scheme ("eth0", "eth1", "wlan0", ...), but should fix real problems.
Systemd/udev and complex simple single nic cases
Earlier this year, udev upstream was absorbed into systemd. udev often breaks compatibility with older systems by depending upon recent Linux kernel releases, even when such dependencies are avoidable. This became worse after udev became part of systemd, which has jeopardized our ability to support existing installations. The systemd developers are uninterested in providing full support in udev to systemd alternatives.
Systemd/udev and complex simple single nic cases
> Thanks, Lennart. *slow clap*
Systemd/udev and complex simple single nic cases
a) a completely unpredictable in advance interface name
b) add kernel flags at install/kickstart and on your grub line to undo this
Systemd/udev and complex simple single NIC cases
https://access.redhat.com/discussions/916973
https://access.redhat.com/discussions/2620221
https://bugzilla.redhat.com/show_bug.cgi?id=1392506
https://bugzilla.redhat.com/show_bug.cgi?id=1391944
https://github.com/systemd/systemd/commit/6c1e69f9456d022...
Systemd/udev and complex simple single NIC cases
Systemd/udev and complex simple single NIC cases
> I'm pretty sure they can give you the moral support you need and even re-train you.
Systemd/udev and complex simple single NIC cases
( this problem is not spesific to linux, they are present on bsd and solaris as well ).
Name=enp1s0
Domains=<your search domains>
DNS=<your dns >
DNS=<your dns >
Address= <your ipv4 address )
Address=< your ipv6 address )
Gateway=< your gateway >
Name=enp1*
DHCP=yes
ifcfg script.
Systemd/udev and complex simple single NIC cases
The UEFI bricking vuln wasn't unique to systemd.
Systemd/udev and complex simple single NIC cases
Wol
Systemd/udev and complex simple single NIC cases
https://en.wikipedia.org/wiki/GUID_Partition_Table#Partit...
Systemd/udev and complex simple single NIC cases