[opensuse-autoinstall] Network interface configuration and systemd's predictable network interface names
Hi, thanks to systemd's predictable network interface names (http://www.freedesktop.org/wiki/Software/systemd/PredictableNetworkInterface...), I have no way to tell what my eth0 interface is actually going to be called ahead of time as it varies amongst different computers. Is there anyway to affect all available network interfaces with autoyast? <networking> <interfaces config:type="list"> <interface> <bootproto>dhcp</bootproto> <device>How do I make it affect all devices? Or at least systemd's equivalent to eth0.</device> <startmode>onboot</startmode> </interface> </interfaces> </networking> -- To unsubscribe, e-mail: opensuse-autoinstall+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-autoinstall+owner@opensuse.org
Hi, On 01/24/2014 05:57 AM, David Huffman wrote:
Hi, thanks to systemd's predictable network interface names (http://www.freedesktop.org/wiki/Software/systemd/PredictableNetworkInterface...), I have no way to tell what my eth0 interface is actually going to be called ahead of time as it varies amongst different computers. Is there anyway to affect all available network interfaces with autoyast?
<networking> <interfaces config:type="list"> <interface> <bootproto>dhcp</bootproto> <device>How do I make it affect all devices? Or at least systemd's equivalent to eth0.</device> <startmode>onboot</startmode> </interface> </interfaces> </networking> --
I put only localhost in the interfaces section: <interfaces config:type="list"> <!-- leave out the systemd/udev named active device --> <interface> <broadcast>127.255.255.255</broadcast> <device>lo</device> <ipaddr>127.0.0.1</ipaddr> <netmask>255.0.0.0</netmask> <network>127.0.0.0</network> <prefixlen>8</prefixlen> <startmode>auto</startmode> <usercontrol>no</usercontrol> </interface> </interfaces> This works out of the box. For some servers I have an autoyast init script to give the interface a static IP address. I use the following line to get the device name: act_iface=$(/sbin/ip link | grep '[1-9]*: en' | grep 'state UP' | awk '{print $2}' | sed 's/://') Best regards Robert -- Robert Klein UNIX Operations, Max Planck-Institut für Polymerforschung Ackermannweg 10 55128 Mainz -- To unsubscribe, e-mail: opensuse-autoinstall+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-autoinstall+owner@opensuse.org
On 01/24/2014 05:57 AM, David Huffman wrote:
Hi, thanks to systemd's predictable network interface names (http://www.freedesktop.org/wiki/Software/systemd/PredictableNetworkInterface...), I have no way to tell what my eth0 interface is actually going to be called ahead of time as it varies amongst different computers. Is there anyway to affect all available network interfaces with autoyast?
Even if you could predict the name in the first stage, it might change in the second. I've been meaning to create a ticket on that since November but haven't gotten to it yet. In 12.3 and 13.1 we at my company have seen very different behaviour even across different models of the same machine vendor (I will include a matrix in the ticket). The interface names (on most of our hardware) change their name in stage2, even when disabling Dells CNDN on the cmdline ("biosdevname=0", since oS 12.3 or so) xor systemds PNIN ("net.ifnames=0", since oS 13.1). We run a lot of script from the network in s2, so if the network fails there, the install fails. (Fun fact: We never got PNIN to work on *any* of our machines because during s2, the interface first gets its old ethN name and is renamed during boot. AutoYAST doesn't seem to be handle that at all. That is even worse than the behavior we had in 12.3, where at least AutoYAST and the os where in agreement about what the name was in s2 *if* it changed its name.) The only way we got the install go finish successfully with a working network config was to disable *both* CNDN and PNIN by appending "biosdevname=0 net.ifnames=0" to every installation. Of course, then you're stuck with the old interface names (but IMAO the whole naming issue only exists in the world of clueless-user-administered computers anyway, so we're fine with that). -- End of rant Christopher 'm4z' Holm / 686f6c6d "We must respect the other fellow's religion, but only in the sense and to the extent that we respect his theory that his wife is beautiful and his children smart." --H. L. Mencken -- To unsubscribe, e-mail: opensuse-autoinstall+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-autoinstall+owner@opensuse.org
On Friday 24 January 2014 11:43:05 686f6c6d wrote:
On 01/24/2014 05:57 AM, David Huffman wrote:
Hi, thanks to systemd's predictable network interface names (http://www.freedesktop.org/wiki/Software/systemd/PredictableNetworkInter faceNames), I have no way to tell what my eth0 interface is actually going to be called ahead of time as it varies amongst different computers. Is there anyway to affect all available network interfaces with autoyast? Even if you could predict the name in the first stage, it might change in the second. I've been meaning to create a ticket on that since November but haven't gotten to it yet.
In 12.3 and 13.1 we at my company have seen very different behaviour even across different models of the same machine vendor (I will include a matrix in the ticket). The interface names (on most of our hardware) change their name in stage2, even when disabling Dells CNDN on the cmdline ("biosdevname=0", since oS 12.3 or so) xor systemds PNIN ("net.ifnames=0", since oS 13.1). We run a lot of script from the network in s2, so if the network fails there, the install fails. (Fun fact: We never got PNIN to work on *any* of our machines because during s2, the interface first gets its old ethN name and is renamed during boot. AutoYAST doesn't seem to be handle that at all. That is even worse than the behavior we had in 12.3, where at least AutoYAST and the os where in agreement about what the name was in s2 *if* it changed its name.)
The only way we got the install go finish successfully with a working network config was to disable *both* CNDN and PNIN by appending "biosdevname=0 net.ifnames=0" to every installation. Of course, then you're stuck with the old interface names (but IMAO the whole naming issue only exists in the world of clueless-user-administered computers anyway, so we're fine with that).
I agree. That's what I do too. I tried to come up with some elegant solution but at the end decided to disable the whole balony and do it the old fashion way. I can understand why people invented PNIN but it's not practical if you have to automatically install a whole zoo of different hardware with autoyast. Karsten. -- Do something unusual today. Pay a bill. -- To unsubscribe, e-mail: opensuse-autoinstall+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-autoinstall+owner@opensuse.org
Hi, I am having the same problem. Could anyone post an XML snipped on how to provide these options to the kernel for the installation system and with autoyast to the installed system? Thanks! -Joschi On 01/24/2014 04:07 PM, Karsten Künne wrote:
On Friday 24 January 2014 11:43:05 686f6c6d wrote:
On 01/24/2014 05:57 AM, David Huffman wrote:
Hi, thanks to systemd's predictable network interface names (http://www.freedesktop.org/wiki/Software/systemd/PredictableNetworkInter faceNames), I have no way to tell what my eth0 interface is actually going to be called ahead of time as it varies amongst different computers. Is there anyway to affect all available network interfaces with autoyast? Even if you could predict the name in the first stage, it might change in the second. I've been meaning to create a ticket on that since November but haven't gotten to it yet.
In 12.3 and 13.1 we at my company have seen very different behaviour even across different models of the same machine vendor (I will include a matrix in the ticket). The interface names (on most of our hardware) change their name in stage2, even when disabling Dells CNDN on the cmdline ("biosdevname=0", since oS 12.3 or so) xor systemds PNIN ("net.ifnames=0", since oS 13.1). We run a lot of script from the network in s2, so if the network fails there, the install fails. (Fun fact: We never got PNIN to work on *any* of our machines because during s2, the interface first gets its old ethN name and is renamed during boot. AutoYAST doesn't seem to be handle that at all. That is even worse than the behavior we had in 12.3, where at least AutoYAST and the os where in agreement about what the name was in s2 *if* it changed its name.)
The only way we got the install go finish successfully with a working network config was to disable *both* CNDN and PNIN by appending "biosdevname=0 net.ifnames=0" to every installation. Of course, then you're stuck with the old interface names (but IMAO the whole naming issue only exists in the world of clueless-user-administered computers anyway, so we're fine with that).
I agree. That's what I do too. I tried to come up with some elegant solution but at the end decided to disable the whole balony and do it the old fashion way. I can understand why people invented PNIN but it's not practical if you have to automatically install a whole zoo of different hardware with autoyast.
Karsten.
-- Dipl.-Ing. Joschi Brauchle, M.S. Institute for Communications Engineering (LNT) Technische Universitaet Muenchen (TUM) 80290 Munich, Germany Tel (work): +49 89 289-23474 Fax (work): +49 89 289-23490 E-mail: joschi.brauchle@tum.de Web: http://www.lnt.ei.tum.de/
participants (5)
-
686f6c6d
-
David Huffman
-
Joschi Brauchle
-
Karsten Künne
-
Robert Klein