[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Why focus on systemd?



Martin Read wrote:
On 22/11/14 09:50, lee wrote:
Nobody understands udev rules,

Challenge accepted.

*looks at /etc/udev/rules.d* *looks at /lib/udev/rules.d*

I'm honestly baffled that someone who is capable of comfortably using emacs thinks these files are incomprehensible. They appear to be written in a domain-specific declarative language with a fairly straightforward syntax.

*runs "man 7 udev"*

Yup. Pretty straightforward. Some highly-commented example files would be *nice*, but I don't see anything particularly intimidating in there.



They are pretty cryptic, compared to say, /etc/udev/interfaces. And complicated by the fact that one rarely has to look at udev rules, except in first setting up a system, or at zero-dark-thirty, when something breaks.

I offer the all-nighter I pulled after installing a new ethernet controller, and finding that our web server wasn't talking to the net - complicated by the fact that it was one of a pair of of servers configured for hot-spare failover, with virtual hosts set to listen on statically configured IP addresses. Diagnosing and fixing the problem involved: - realizing there was a problem in the first place (system fails over, replace board on non-functioning system, seems to come backup, it's now the backup machine, subtle problem only discovered when reconfiguring active/backup configuration at a later date) - having to drive to the data center, and spend a good part of the night there - identifying udev as the problem (admittedly, udev was new at the time - having come in with the latest Debian release) - figuring out that udev had set up different addressing for the new board (it had swapped places with the board on our SAN network) - in the process, having to learn enough about udev, and untangle the gaggle of specific udev files on the systems and how they interact
- identifying that the solution was to write a persistent udev rule
- figuring out how to write it, and and where to put it (and then testing and debugging it - again complicated by the fact that it was one of a pair of failover machines -- can't really test a static IP address without taking BOTH machines off the air) - documenting it all and putting the information in a place where we'll remember to include the persistent rule when we (re)build systems in the future
- all in the middle of the night (luckily, support lists are global)

Yes... a lot more complicated than /etc/network/interfaces and ifup/ipdown.

Its been years, but I still shudder when I think about it. And when I consider that similar changes, and subtle effects, almost certainly lurk in systemd and all the functions that its absorbed (systemd-), I really shudder.

Miles Fidelman



--
In theory, there is no difference between theory and practice.
In practice, there is.   .... Yogi Berra


Reply to: