[opensuse-project] Network configuration future
Hi all, I would like to revive a proposal that I have made a while ago, regarding a framework for managing network interfaces. I called it wicked at that time, and it's still called that way, but because of potential confusion with WICD I'll probably change the name soonishly. This project has been going on for a while now, and is getting into a more presentable shape. Given the breadth and the width of the whole topic, I won't be able to cover all aspects of the system in one email - instead, I want to give you my perspective on why I think we need something new here, and what it should look like from my point of view. Your feedback is very much welcome! Regards, Olaf -- Neo didn't bring down the Matrix. SOA did. (soafacts.com) -------------------------------------------- Olaf Kirch - Director SUSE Linux Enterprise; R&D (okir@suse.com) SUSE LINUX Products GmbH, Maxfeldstr. 5, 90409 Nürnberg, Germany GF: Jeff Hawn, Jennifer Guild, Felix Imendörffer, HRB 16746 (AG Nürnberg)
On 29 August 2012 11:02, Olaf Kirch <okir@suse.com> wrote:
Hi all,
I would like to revive a proposal that I have made a while ago, regarding a framework for managing network interfaces. I called it wicked at that time, and it's still called that way, but because of potential confusion with WICD I'll probably change the name soonishly.
Definitely need the name changing, I'm unfortunately failing to come up with any suitable cheesy names.
This project has been going on for a while now, and is getting into a more presentable shape.
Given the breadth and the width of the whole topic, I won't be able to cover all aspects of the system in one email - instead, I want to give you my perspective on why I think we need something new here, and what it should look like from my point of view.
I've been a happy user of NetworkManager for many years now, it generally just works for me on my laptop. I'm not saying it is flawless, but it certainly works more than it breaks (at least for me). On my servers I use good old ifup/down, but would love to use a single method across all my machines. I think XML is certainly sane, and it concisely breaks components down into readable and crucially understandable segments. Out of interest, how much work would be required to integrate your proposals within NM (let's say upstream were happy for the changes)? My only concern here is the potential backlash for trying to re-invent the wheel in a relatively crowded market. I'm not saying it isn't warranted, just trying to understand the facts behind it all. Off the top of my head I can think of three tools all primarily aimed at desktop/laptop/tablet/$CLIENT - NetworkManager, WICD, Connman. The most featured being NM, but it is still very much aimed at $CLIENT machines and not servers. How would your proposal integrate with system tools, like YaST? Would it be a standalone application that would effectively deprecate that function of YaST, how extensible would it be (if someone had a strange requirement that doesn't fit a traditional use case)? I take it features like VPNs etc would be supported out of the box? I'd like to hear and crucially see more info as I personally think there is merit in the idea, but then again having ideas is the easy part it's the execution of those ideas that can be a PITA. Regards, Andy -- Andrew Wafaa IRC: FunkyPenguin GPG: 0x3A36312F -- To unsubscribe, e-mail: opensuse-project+unsubscribe@opensuse.org To contact the owner, email: opensuse-project+owner@opensuse.org
Olaf Kirch wrote:
Do we really need yet another network management thing? =======================================================
No, not really. We already have the good old ifup/ifdown scripts, who are doing their job nicely, if you don't strain them too much or try to make them learn new tricks (like integrating with systemd). Of all the tunables and knobs the kernel supports for each network interface, we're covering maybe 10%, but what was good enough for grandpa should be good enough for me as well, right?
It's probably worth pointing out that those 10% are what matters to the 90% of our users. Overall I think it's a good idea to clean up the mess and enhance the functionality, but I would worry about the migration. The enhanced functionality falls in relatively complex areas where admins (who use the 90% not covered by the current network management framework) will typically have their own set of scripts etc.
Quick, can you tell me how to...
- ... disable IPv6 on a specific interface? - ... set up an interface for DHCPv4 and DHCPv6? - ... change the link speed on an Ethernet interface? - ... reconfigure a bonding device without bringing it down? - ... set up a bridge using two bonded NICs as one of its ports? - ... the same as above, with VLAN tagging? - ... change the firewall rules on your UMTS modem? - ... set up 802.1x authentication for your Ethernet NIC? - ... set up persistent names for your System z devices?
If you could answer all of them at the snap of a finger, please send me your CV.
Hehe, I think I managed 2 of the above, but that is all I have ever had a need for.
Three, a modern network management framework should support a way to identify network devices by means other than their name. That name is really secondary; and tools should not rely on it.
The interface name is pretty essential to tools such as SNMP.
Oh my god, it uses XML!!! ========================= The desire to use a layered approach goes hand in hand with the need to have a less unstructured configuration file format. There are a number of different formats, including json and XML. I ended up picking XML as the primary configuration file format.
Sounds good to me.
Device Identification =====================
Naming of network devices in the kernel is a pain. Of course, it's not intentionally made painful, but from a user's perspective, it is - if you've ever run a server with several Ethernet interfaces in it, you know what I'm talking about.
All of our servers have multiple interfaces, typically 2 or 4 - tbh, I'm not sure what the problem is. Maybe I'm just used to it? -- Per Jessen, Zürich (26.7°C) -- To unsubscribe, e-mail: opensuse-project+unsubscribe@opensuse.org To contact the owner, email: opensuse-project+owner@opensuse.org
* Olaf Kirch <okir@suse.com> [2012-08-29 12:02]:
Hi all,
I would like to revive a proposal that I have made a while ago, regarding a framework for managing network interfaces. I called it wicked at that time, and it's still called that way, but because of potential confusion with WICD I'll probably change the name soonishly.
This project has been going on for a while now, and is getting into a more presentable shape.
Given the breadth and the width of the whole topic, I won't be able to cover all aspects of the system in one email - instead, I want to give you my perspective on why I think we need something new here, and what it should look like from my point of view.
Your feedback is very much welcome!
Regards, Olaf
[...]
We've got Network Manager, which is also doing it's job nicely and won't give you any headaches if you prevent it from stepping on anybody else's toes.
Then we've got libvirt and netcf, which do kind of an okay job if you manage to frob netcf enough that it deals with configuration files other than RedHat's, and as long as your network configuration doesn't get too complicated. Which happens quickly in a virtualization environment. Oh, and then there are things like openvswitch, which is crucial in a cloud environment but not at all integrated with any of the other components.
If you were able to implement wireless networking together with vlan and bridging support and put that behind a decent UI you could make me and a lot of sysadmins and developers happy who use virtualization setups on their laptops. The NM guys haven't been able to put something like that together in 7 years now despite RH apparently pushing NM usage even on servers. -- Guido Berhoerster -- To unsubscribe, e-mail: opensuse-project+unsubscribe@opensuse.org To contact the owner, email: opensuse-project+owner@opensuse.org
participants (4)
-
Andrew Wafaa
-
Guido Berhoerster
-
Olaf Kirch
-
Per Jessen