[arch-general] systemd-nspawn/systemd-networkd/
Hi, I do not consider myself as a Linux expert, but rather an advanced user. I am running Arch for a few years now, with a clean setting environment and no major breakage. I am a great fan of systemd functionallities, but I waste my time the past two weeks setting up a working network on a systemd-nspawn managed container with no success. My setup is rather basic : a static IP for the main machine (it seems the HOST term is not relevant) and a static IP for the container. I have been reading/posting a lot, but as today didn't get a clean answer about netctl/systemd-networkd configuration files. Systemd is now ruling the Linux world, as more and more services are managed by it. This is not a bad thing, but in my opinion, there is a clear lack of good documentation/manuals/wiki. As it seems we are bound to learn systemd, I wish the systemd community could propose more documented manuals. This is not the case today. We shall now engage a serious rethinking of what part of systemd shall be in core, and what part stay in devel. A good example would be systemd-networkd. Honestly, this service needs supra intelligence or NASA tech engineer knowledge. Lennart and his team are certainly very good dev and clever guys, but they clearly don't deliver good documentation. I remember that one of my main pain in Linux was to set up a working pulse audio service ! As a long time Linux user, I do not see any interest in setting up packages with no serious documentations. I do not want my post to start a new flame as the one two years ago, but I am expecting some kind of community reaction against beta/broken/incomprehensible services. I wish the Arch community could be able to separate the working/documented part of systemd from the dark/beta part only dedicated to a few elite.
On 05/03/14 at 09:22pm, arnaud gaboury wrote:
Hi,
I do not consider myself as a Linux expert, but rather an advanced user. I am running Arch for a few years now, with a clean setting environment and no major breakage.
I am a great fan of systemd functionallities, but I waste my time the past two weeks setting up a working network on a systemd-nspawn managed container with no success. My setup is rather basic : a static IP for the main machine (it seems the HOST term is not relevant) and a static IP for the container.
I have been reading/posting a lot, but as today didn't get a clean answer about netctl/systemd-networkd configuration files.
Systemd is now ruling the Linux world, as more and more services are managed by it. This is not a bad thing, but in my opinion, there is a clear lack of good documentation/manuals/wiki. As it seems we are bound to learn systemd, I wish the systemd community could propose more documented manuals. This is not the case today.
We shall now engage a serious rethinking of what part of systemd shall be in core, and what part stay in devel. A good example would be systemd-networkd. Honestly, this service needs supra intelligence or NASA tech engineer knowledge.
Lennart and his team are certainly very good dev and clever guys, but they clearly don't deliver good documentation. I remember that one of my main pain in Linux was to set up a working pulse audio service !
As a long time Linux user, I do not see any interest in setting up packages with no serious documentations.
I do not want my post to start a new flame as the one two years ago, but I am expecting some kind of community reaction against beta/broken/incomprehensible services.
I wish the Arch community could be able to separate the working/documented part of systemd from the dark/beta part only dedicated to a few elite.
https://coreos.com/blog/intro-to-systemd-networkd/ -- http://jasonwryan.com/ [GnuPG Key: B1BD4E40]
On 05/03/14 03:22 PM, arnaud gaboury wrote:
Hi,
I do not consider myself as a Linux expert, but rather an advanced user. I am running Arch for a few years now, with a clean setting environment and no major breakage.
I am a great fan of systemd functionallities, but I waste my time the past two weeks setting up a working network on a systemd-nspawn managed container with no success. My setup is rather basic : a static IP for the main machine (it seems the HOST term is not relevant) and a static IP for the container.
I have been reading/posting a lot, but as today didn't get a clean answer about netctl/systemd-networkd configuration files.
netctl isn't part of systemd or related to systemd-networkd. As far as I know, Arch is the only distribution using netctl.
Systemd is now ruling the Linux world, as more and more services are managed by it. This is not a bad thing, but in my opinion, there is a clear lack of good documentation/manuals/wiki. As it seems we are bound to learn systemd, I wish the systemd community could propose more documented manuals. This is not the case today.
You're welcome to contribute to the documentation. I think the documentation is a significant improvement over what existed for the previous stack of technologies systemd is replacing.
We shall now engage a serious rethinking of what part of systemd shall be in core, and what part stay in devel. A good example would be systemd-networkd. Honestly, this service needs supra intelligence or NASA tech engineer knowledge.
The systemd-networkd daemon is written by an Arch developer. It only recently landed upstream and is still going through rapid initial development. It's not intended to be a replacement for end user facing software like NetworkManager and ConnMan, but rather a simple/powerful tool for system administrators. The initial documentation certainly does exist, despite it being such a new addition: http://www.freedesktop.org/software/systemd/man/systemd-networkd.html
Lennart and his team are certainly very good dev and clever guys, but they clearly don't deliver good documentation. I remember that one of my main pain in Linux was to set up a working pulse audio service !
This isn't clear to me. For example, the documentation on unit files is quite extensive and spans many man pages: http://www.freedesktop.org/software/systemd/man/systemd.unit.html
As a long time Linux user, I do not see any interest in setting up packages with no serious documentations.
You're certainly free to continue handling networking with netctl, ConnMan or NetworkManager.
I do not want my post to start a new flame as the one two years ago, but I am expecting some kind of community reaction against beta/broken/incomprehensible services.
I wish the Arch community could be able to separate the working/documented part of systemd from the dark/beta part only dedicated to a few elite.
Which part of systemd doesn't work? Do you even have an example of a unit type or user-facing utility that's not documented?
Daniel is right. netctl and systemd-networkd are two different things. 2014-03-05 17:56 GMT-03:00 Daniel Micay <danielmicay@gmail.com>:
On 05/03/14 03:22 PM, arnaud gaboury wrote:
Hi,
I do not consider myself as a Linux expert, but rather an advanced user. I am running Arch for a few years now, with a clean setting environment and no major breakage.
I am a great fan of systemd functionallities, but I waste my time the past two weeks setting up a working network on a systemd-nspawn managed container with no success. My setup is rather basic : a static IP for the main machine (it seems the HOST term is not relevant) and a static IP for the container.
I have been reading/posting a lot, but as today didn't get a clean answer about netctl/systemd-networkd configuration files.
netctl isn't part of systemd or related to systemd-networkd. As far as I know, Arch is the only distribution using netctl.
Systemd is now ruling the Linux world, as more and more services are managed by it. This is not a bad thing, but in my opinion, there is a clear lack of good documentation/manuals/wiki. As it seems we are bound to learn systemd, I wish the systemd community could propose more documented manuals. This is not the case today.
You're welcome to contribute to the documentation. I think the documentation is a significant improvement over what existed for the previous stack of technologies systemd is replacing.
We shall now engage a serious rethinking of what part of systemd shall be in core, and what part stay in devel. A good example would be systemd-networkd. Honestly, this service needs supra intelligence or NASA tech engineer knowledge.
The systemd-networkd daemon is written by an Arch developer. It only recently landed upstream and is still going through rapid initial development. It's not intended to be a replacement for end user facing software like NetworkManager and ConnMan, but rather a simple/powerful tool for system administrators. The initial documentation certainly does exist, despite it being such a new addition:
http://www.freedesktop.org/software/systemd/man/systemd-networkd.html
Lennart and his team are certainly very good dev and clever guys, but they clearly don't deliver good documentation. I remember that one of my main pain in Linux was to set up a working pulse audio service !
This isn't clear to me. For example, the documentation on unit files is quite extensive and spans many man pages:
http://www.freedesktop.org/software/systemd/man/systemd.unit.html
As a long time Linux user, I do not see any interest in setting up packages with no serious documentations.
You're certainly free to continue handling networking with netctl, ConnMan or NetworkManager.
I do not want my post to start a new flame as the one two years ago, but I am expecting some kind of community reaction against beta/broken/incomprehensible services.
I wish the Arch community could be able to separate the working/documented part of systemd from the dark/beta part only dedicated to a few elite.
Which part of systemd doesn't work? Do you even have an example of a unit type or user-facing utility that's not documented?
On Wed, Mar 5, 2014 at 10:00 PM, Mario Rugiero <mrugiero@gmail.com> wrote:
Daniel is right. netctl and systemd-networkd are two different things.
Yes, for sure. Let's take a bet : netctl will one day be "obsoleted", no upstream, and replaced entirely by networl@.service and networkd. Want to bet ? These two services are at some point doing the same things.
I agree, arnaud. The thing is, netctl is an Arch specific that exists since before networkd was even a plan, IIRC. I don't know what will happen in the end, but I'm always inclined to prefer an upstream solution, so my guess is Arch will do the same. 2014-03-05 18:27 GMT-03:00 arnaud gaboury <arnaud.gaboury@gmail.com>:
On Wed, Mar 5, 2014 at 10:00 PM, Mario Rugiero <mrugiero@gmail.com> wrote:
Daniel is right. netctl and systemd-networkd are two different things.
Yes, for sure. Let's take a bet : netctl will one day be "obsoleted", no upstream, and replaced entirely by networl@.service and networkd. Want to bet ? These two services are at some point doing the same things.
On 05/03/14 04:27 PM, arnaud gaboury wrote:
On Wed, Mar 5, 2014 at 10:00 PM, Mario Rugiero <mrugiero@gmail.com> wrote:
Daniel is right. netctl and systemd-networkd are two different things.
Yes, for sure. Let's take a bet : netctl will one day be "obsoleted", no upstream, and replaced entirely by networl@.service and networkd. Want to bet ? These two services are at some point doing the same things.
I don't think there are any current plans to implement wpa_supplicant support in systemd-networkd. NetworkManager already outputs plain text ini-style profiles in /etc and has a command-line management tool, so it's not like netctl has no solid existing alternatives today. ConnMan works fine from the command-line too.
I am sorry, my goal is not to start a new flame about systemd. I am very happy Arch was one of the first distro to make it default. This is a wonderful tool. I just want to share my experience. Some parts of this tool have a zero level documentation and are much more too complicated, especially whith no clear manuals. But I guess we can not do anything, right ? It is a little bit like politics: we, citizens, we can't do so much to make things change. I will keep trying how to configure a static bridge on my nspawn container with networkd...or go Virtualbox.
On 05/03/14 04:45 PM, arnaud gaboury wrote:
I just want to share my experience. Some parts of this tool have a zero level documentation and are much more too complicated, especially whith no clear manuals.
Can you point out one of these parts? systemd-networkd does not have zero documentation.
But I guess we can not do anything, right ? It is a little bit like politics: we, citizens, we can't do so much to make things change.
It's an open-source, collaborative project. It's not developed by a card carrying cabal. Several Arch developers have commit access upstream and you're free to contribute to the documentation.
On Thu, Mar 6, 2014 at 4:27 PM, Daniel Micay <danielmicay@gmail.com> wrote:
On 05/03/14 04:45 PM, arnaud gaboury wrote:
I just want to share my experience. Some parts of this tool have a zero level documentation and are much more too complicated, especially whith no clear manuals.
Can you point out one of these parts? systemd-networkd does not have zero documentation.
But I guess we can not do anything, right ? It is a little bit like politics: we, citizens, we can't do so much to make things change.
It's an open-source, collaborative project. It's not developed by a card carrying cabal. Several Arch developers have commit access upstream and you're free to contribute to the documentation.
I finally managed to boot the container with a working network and a static IP. I only used netctl, as systemd-networkd is still a mistery to me. I am not a dev and thus can not contribute in a efficient manner. Nevertheless, I will write a Arch wiki on systemd-nspawn, as for now there is nothing about it. Sorry for my yesterday nerves, but honestly, documentation exists on systemd-nspawn, systemd-network, but it is very basic. It lacks in fact a good example, from the container creation to the network setup. But maybe shall all this be written in a WIKI. Btw, # pacstrap -c -d ~/arch-tree/ base as exposed on systemd-nspawn[1] left me with a broken filesystem with a lot of missing libs. I installed the container from the usual Arch ISO mechanism. [1]http://www.freedesktop.org/software/systemd/man/systemd-nspawn.html
On 06/03/14 05:46 PM, arnaud gaboury wrote:
I finally managed to boot the container with a working network and a static IP. I only used netctl, as systemd-networkd is still a mistery to me.
I am not a dev and thus can not contribute in a efficient manner. Nevertheless, I will write a Arch wiki on systemd-nspawn, as for now there is nothing about it. Sorry for my yesterday nerves, but honestly, documentation exists on systemd-nspawn, systemd-network, but it is very basic. It lacks in fact a good example, from the container creation to the network setup. But maybe shall all this be written in a WIKI. Btw, # pacstrap -c -d ~/arch-tree/ base as exposed on systemd-nspawn[1] left me with a broken filesystem with a lot of missing libs. I installed the container from the usual Arch ISO mechanism.
[1]http://www.freedesktop.org/software/systemd/man/systemd-nspawn.html
The `pacstrap -c -d foo base` command does install everything necessary for a basic install. It's the same base group the installation guides have you install.
On Thursday 06 Mar 2014 23:46:59 arnaud gaboury wrote:
I finally managed to boot the container with a working network and a static IP. I only used netctl, as systemd-networkd is still a mistery to me. [...] It lacks in fact a good example, from the container creation to the network setup. But maybe shall all this be written in a WIKI.
I've had a quick look at systemd-networkd, and I don't think it would be significantly different to set up than netctl in your case. I think the problem was one of theory: I don't know how much reading you've done, but you need to understand some theory of the networking stack, network interfaces, bridges etc... before you can make a sensible configuration. I think that's beyond the scope of the documentation for most of these tools, although it would certainly make sense for the wiki to document some common use-cases. Paul
I've had a quick look at systemd-networkd, and I don't think it would be significantly different to set up than netctl in your case. I think the problem was one of theory: I don't know how much reading you've done, but you need to understand some theory of the networking stack, network interfaces, bridges etc... before you can make a sensible configuration. I think that's beyond the scope of the documentation for most of these tools, although it would certainly make sense for the wiki to document some common use-cases.
Paul
I read a lot, especially when it comes to networking. As for me, it is the trickiest part of administrating my machine. I found many posts asking help about bridge, and I realized I was far from being the only one to have trouble with this notion. The more detailed WIKI I found about a correct bridge set up was on parabolagnulinux qemu wiki[1]. Usually Arch and parabola wiki are quite similar, but this time I found more info. I know systemd-networkd can be used for my container. For now, I am enjoying the container with netctl. I was not successful with networkd, as I do not fully understand the principle. I don't even know which profile for wich machine (host or container) ! I have a lot of work to do now on container, as it will be a test server for writing/deploying web apps. TY for your kindness and support. [1]https://wiki.parabolagnulinux.org/QEMU_Guide
On Friday 07 Mar 2014 12:28:56 arnaud gaboury wrote:
I read a lot, especially when it comes to networking. As for me, it is the trickiest part of administrating my machine.
Yeah, networking can get complex very quickly. (I'm by no means an expert either!)
I found many posts asking help about bridge, and I realized I was far from being the only one to have trouble with this notion.
This looks pretty good when you have time, at least for understanding some more theory: http://www.linuxjournal.com/article/8172 Paul
On 07.03.14 at 12:28, arnaud gaboury wrote:
I've had a quick look at systemd-networkd, and I don't think it would be significantly different to set up than netctl in your case. I think the problem was one of theory: I don't know how much reading you've done, but you need to understand some theory of the networking stack, network interfaces, bridges etc... before you can make a sensible configuration. I think that's beyond the scope of the documentation for most of these tools, although it would certainly make sense for the wiki to document some common use-cases.
Paul
I read a lot, especially when it comes to networking. As for me, it is the trickiest part of administrating my machine. I found many posts asking help about bridge, and I realized I was far from being the only one to have trouble with this notion. The more detailed WIKI I found about a correct bridge set up was on parabolagnulinux qemu wiki[1]. Usually Arch and parabola wiki are quite similar, but this time I found more info. I know systemd-networkd can be used for my container. For now, I am enjoying the container with netctl. I was not successful with networkd, as I do not fully understand the principle. I don't even know which profile for wich machine (host or container) ! I have a lot of work to do now on container, as it will be a test server for writing/deploying web apps. TY for your kindness and support.
I can't see any fundamental difference between [2] and [3], though admittedly the Parabola wiki is more verbose and the topic is integrated into single bloated article, whereas Arch wiki has the information split across multiple pages - this is actually considered to be a good thing; plus every Archer should be used to this. (But of course nothing is perfect, any improvements are certainly welcome.) As has been said, you should look into networking more generally - for example, QEMU page on Arch wiki [4] describes several scenarios usable with VMs/containers, though you probably don't want to use the QEMU-specific stuff. If you want something more, look into the kernel docs [5]. [2]: https://wiki.parabolagnulinux.org/QEMU_Guide#Using_virtual_machines_for_use_... [3]: https://wiki.archlinux.org/index.php/Bridge_with_netctl [4]: https://wiki.archlinux.org/index.php/QEMU#Networking [5]: http://www.linuxfoundation.org/collaborate/workgroups/networking/bridge -- jlk
You're welcome to contribute to the documentation. I think the documentation is a significant improvement over what existed for the previous stack of technologies systemd is replacing.
I often write/modify some parts of Arch Wiki, and believe me, the day I will have a clean set up for a container managed by nspwan and networkd, I will write a wiki. All my computer knowledge come from the open source/Linux community, and I am proud to give back what some people gave to me.
participants (6)
-
arnaud gaboury
-
Daniel Micay
-
Jakub Klinkovský
-
Jason Ryan
-
Mario Rugiero
-
Paul Gideon Dann