From: Martin Pitt Date: Thu, 31 Jul 2014 06:53:53 +0000 (+0200) Subject: Add systemd unit for lxc.net X-Git-Tag: lxc-1.1.0.alpha2~109 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=65b27d845f182167aa1620d6225336d722a7e7c5;p=thirdparty%2Flxc.git Add systemd unit for lxc.net This is the equivalent of the upstart lxc-net.conf to set up the LXC bridge. This also drops "lxc.service" from tarballs. It is built source which depends on configure options, so the statically shipped file will not work on most systems. https://launchpad.net/bugs/1312532 Signed-off-by: Martin Pitt Acked-by: Serge E. Hallyn --- diff --git a/.gitignore b/.gitignore index 26011e483..e6de18f60 100644 --- a/.gitignore +++ b/.gitignore @@ -114,6 +114,7 @@ config/lt*.m4 config/bash/lxc config/init/systemd/lxc-autostart-helper config/init/systemd/lxc.service +config/init/systemd/lxc-net.service config/init/sysvinit/lxc doc/*.1 diff --git a/config/init/systemd/Makefile.am b/config/init/systemd/Makefile.am index 3bd221fc9..ed1e4ef74 100644 --- a/config/init/systemd/Makefile.am +++ b/config/init/systemd/Makefile.am @@ -1,6 +1,8 @@ EXTRA_DIST = \ lxc-devsetup \ - lxc.service + lxc.service.in \ + lxc-net.service.in \ + $(NULL) if INIT_SCRIPT_SYSTEMD lxc-autostart-helper: ../sysvinit/lxc.in $(top_builddir)/config.status @@ -11,14 +13,15 @@ lxc-autostart-helper: ../sysvinit/lxc.in $(top_builddir)/config.status < $< > $@-t && \ chmod a+x $@-t && \ mv $@-t $@ -BUILT_SOURCES = lxc-autostart-helper +BUILT_SOURCES = lxc-autostart-helper lxc.service lxc-net.service -install-systemd: lxc.service lxc-devsetup lxc-autostart-helper +install-systemd: lxc.service lxc-net.service lxc-devsetup lxc-autostart-helper $(MKDIR_P) $(DESTDIR)$(SYSTEMD_UNIT_DIR) - $(INSTALL_DATA) lxc.service $(DESTDIR)$(SYSTEMD_UNIT_DIR)/ + $(INSTALL_DATA) lxc.service lxc-net.service $(DESTDIR)$(SYSTEMD_UNIT_DIR)/ uninstall-systemd: rm -f $(DESTDIR)$(SYSTEMD_UNIT_DIR)/lxc.service + rm -f $(DESTDIR)$(SYSTEMD_UNIT_DIR)/lxc-net.service rmdir $(DESTDIR)$(SYSTEMD_UNIT_DIR) || : pkglibexec_SCRIPTS = lxc-devsetup lxc-autostart-helper diff --git a/config/init/systemd/lxc-net.service.in b/config/init/systemd/lxc-net.service.in new file mode 100644 index 000000000..37d1d6941 --- /dev/null +++ b/config/init/systemd/lxc-net.service.in @@ -0,0 +1,10 @@ +[Unit] +Description=LXC network bridge setup +After=network.target +Before=lxc.service + +[Service] +Type=oneshot +RemainAfterExit=yes +ExecStart=@DATADIR@/lxc/lxc.net start +ExecStop=@DATADIR@/lxc/lxc.net stop diff --git a/config/init/systemd/lxc.service.in b/config/init/systemd/lxc.service.in index 0a428a346..c7f2813a7 100644 --- a/config/init/systemd/lxc.service.in +++ b/config/init/systemd/lxc.service.in @@ -1,6 +1,7 @@ [Unit] Description=LXC Container Initialization and Autoboot Code After=syslog.target network.target +Wants=lxc-net.service [Service] Type=oneshot diff --git a/configure.ac b/configure.ac index db8e43a71..edae96f44 100644 --- a/configure.ac +++ b/configure.ac @@ -614,6 +614,7 @@ AC_CONFIG_FILES([ config/init/sysvinit/lxc config/init/systemd/Makefile config/init/systemd/lxc.service + config/init/systemd/lxc-net.service config/init/upstart/Makefile config/etc/Makefile config/templates/Makefile