[cloud] #14: Investigate systemd-networkd

Fedora Cloud Trac Tickets cloud-trac at fedoraproject.org
Mon Apr 14 18:32:01 UTC 2014


#14: Investigate systemd-networkd
------------------------------+--------------------------------
 Reporter:  mattdm            |       Owner:  janeznemanic
     Type:  task              |      Status:  new
 Priority:  normal            |   Milestone:  Fedora 21 (Alpha)
Component:  Cloud Base Image  |  Resolution:
 Keywords:                    |
------------------------------+--------------------------------

Comment (by janeznemanic):

 Report on my work.

 First I had to learn a little bit about systemd. What is all about, how
 does it work etc. Then I focused on networking subsystem in Fedora and
 tried to understand how it works. After setting my little lab environment
 I started with hands on approach.

 My test environment:
 - host system: 32 bit Fedora 20
 - hypervisor: VirtualBox
 - guest system: 32 bit Fedora 20
 - systemd release: rawhide

 My experiment and current findings

 I disabled Gnome's NetworkManager, NetworkManager-dispatcher and
 NetworkManager-wait-online and dropped network configuration file into
 /usr/lib/systemd/network. The content of this file is:

 [Match]
 Name=p*

 [Network]
 DHCP=yes

 Systemd names network interface p2p1 on my guest Fedora. So that's why I
 used Name=p*. That's the most simple and basic network configuration with
 systemd-networkd. I think that DHCP is also default configuration in
 desktop Fedora 20. I restarted systemd-networkd service and I could ping
 www.google.com and do DNS look up with dig. Ping and dig work as you would
 expect on my guest and on my host system.

 I did some research on scripts in /etc/sysconfig/network-scripts. All
 those scripts depend on ifcfg-* files in the same directory. But systemd-
 networkd doesn't use ifcfg-* files. I removed ifcfg-* files and systemd-
 netword worked fine. I was also able to ping google. But if I tried to use
 for example ifup or ifdown script then that script failed. Because it
 couldn't source ifcfg-*. I think so, I might be wrong. Since ifup and
 ifdown are links to /usr/sbin/{ifup,ifdown} it might be possible to remove
 /usr/sbin/{ifup,ifdown}. But I haven't tested that so I'm not sure. I
 think we also don't need to use /etc/rc.d/init.d/network. I removed that
 file and networking worked fine with systemd-networkd.

 So to sum up. If systemd-networkd service is used it is possible in my
 opinion to remove scripts in /etc/sysconfig/network-scripts and
 /etc/rc.d/init.d/network script. Besides that it is possible to remove
 NetworkManager.

 '''Thoughts? Suggestions? Ideas?'''

 One more thing that's been bothering me for a few days now. How does
 systemd name network interfaces when Fedora is run on top of different
 hypervisors? If xen or kvm is used how does systemd name network
 interfaces?

-- 
Ticket URL: <https://fedorahosted.org/cloud/ticket/14#comment:3>
cloud <https://fedorahosted.org/cloud>
Fedora Cloud Working Group Ticketing System


More information about the cloud mailing list