NetworkManager stops working on upgrade 16.04 -> 16.10
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
network-manager-applet (Ubuntu) |
New
|
Undecided
|
Unassigned |
Bug Description
Hi,
first of all, let me inform you that I'm a very long term linux user. I installed my first linux in 1993. That means I worked through myriads of different network configuration issues, where networks are describes in terms of 1 to 20 different configuration files.
Network configuration is always very custom to every environment and every user. Though in the older days the legacy ifconfig, route and friends had a strange syntax of options. I assume that's the reason why system designers chose to abstract away these syntax from the user.
IMHO these abstraction layers never really worked and the most annoying thing about these different network configuration files is, that syntax and location changes between distributions and sometimes between minor releases.
The funny thing is, that most if not any network configuration management tool is build of little programs, that finally sends command lines in the form of ifconfig, route etc. or in our days iproute2.
The iproute2 syntax is the best syntax you can get from the cli. It is expressive, simple, well documented and quite - if not completly - bug free. Often when you write twenty LOC (lines of code) configuration options into a network abstraction syntax configuration file, this compiles into less than 10 LOC of iproute2 commands.
In the end the plain iproute2 command line syntax is more clear and simple than any network abstraction idea from any distribution and if you did that once on any distribution, you simply copy your setup into another distribution and it will most likely work out of the box.
Today I tried a beta update from Ubuntu 16.04 -> Ubuntu 16.10. After I restarted the computer my network was gone, all network cards where in the "unmanaged" status in the NetworkManager applet and the configuration that previously worked was gone, so I couldn't even review what had worked in the previous version.
Searching the internet for such problems, I found some [ifupdown] setting to be switched to managed=true. After I did that and restarted the several services (networking and network-manager), nothing happened.
Searching systemctl list-units for the network manager reveals that it is not there anymore, but the "network-manager" initialization script can be found in /etc/init.
Actually there is some systemctl magic that actually started the NetworkManager without a network-manager service, unit or whatever.
To get my network up again I had to edit /etc/network/
auto NETDEVICE
iface NETDEVICE inet dhcp
. As I told before, the iproute2 commands to get this thing going is
ip link set dev NETDEVICE up # much more descriptive and easier to distinguish than auto NETDEV
Of course iproute2 does not contain dhcp. So to get an auto configuration from my network card I also need to talk to the dhcp client:
dhclient NETDEVICE
You see here that two manual and simple to memorize calls completely replace the two lines in the /etc/network/
Now it seems that the /etc/NetworkManager configuration is completely ignored and there is a systemd-networkd not running, that can be controlled by a networkctl.
So I'm completely confused now, what method you ubuntu distributors think of, to be the next cool technique to replace a simple sequence of commands.
What about throwing away all these NetworkManager, networkctl and networking stuff and simply rely on the basics. Many years of failed network configurations show that all these methods don't actually work and that it is very easy for a user to understand the used underlying techniques:
iproute2, dhcp and wpa_supplicant
For simple setups the commands and configurations needed are learned in a few minutes. For complex setups it is easier to understand the core technology than to research the distributors idea of network configuration.
Please clost this bag of worms.