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

Re: Bug#995189: RFH: isc-dhcp

 ❦ 28 September 2021 13:04 -05, Richard Laager:

> Are you saying "everything breaks" as in:
> A) the change is not applied (correctly) in the way that it would be if
>    the system was rebooted, or
> B) the change is applied, but the human made a mistake in the config and
>    the change breaks things, or
> C) B + the human gets cut off from e.g. SSH due to the error?
> I would say (generally) that A is a bug, B is inherent to any tooling
> applying a human's instructions, and C can be addressed by a rollback 
> function.
> `netplan try` covers C (and thus also B).
> `netplan apply` (and thus `netplan try`) have a caveat that they don't
> remove virtual devices that are no longer described in the config.
> This feels like an example of A, though it's arguable how much it
> matters.

I am saying: remove the IP address from an interface, move it to a VLAN
instead. You'll get a duplicate IP.

>> ifupdown2
>> is smart and will converge to the new configuration. Network Manager can
>> restart and minimize impact. AFAIK, systemd-networkd is as dumb as
>> ifupdown and does not know how to converge.
> What does converge mean in this context? Is something needing to apply
> parts of the changes iteratively to arrive at the desired state?

It makes a diff between the current system state and the desired state
and applies actions to move to this state. The current system state
could be from a previous application of the tool or from manual action
from the operator, it does not matter (this is a second advantage of
such a tool). The above situation is handled perfectly.

>> My point is that ifupdown2 was a possible successor to ifupdown but was
>> never adopted because written in Python. As netplan is written in
>> Python, ifupdown2 seems a far better replacement.
> Am I understanding correctly that ifupdown2 is an alternative to
> systemd-networkd and NetworkManager (as opposed to netplan, which is a 
> layer on top of them)?

Don't use conditional branches as a substitute for a logical expression.
            - The Elements of Programming Style (Kernighan & Plauger)

Reply to: