[lxc-devel] [PATCH 3/6] Add systemd unit for lxc.net
Martin Pitt
martin.pitt at ubuntu.com
Thu Jul 31 06:53:53 UTC 2014
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
---
.gitignore | 1 +
config/init/systemd/Makefile.am | 11 +++++++----
config/init/systemd/lxc-net.service.in | 10 ++++++++++
config/init/systemd/lxc.service.in | 1 +
configure.ac | 1 +
5 files changed, 20 insertions(+), 4 deletions(-)
create mode 100644 config/init/systemd/lxc-net.service.in
diff --git a/.gitignore b/.gitignore
index 26011e4..e6de18f 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 3bd221f..ed1e4ef 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 0000000..37d1d69
--- /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 0a428a3..c7f2813 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 ded4c48..c0d7015 100644
--- a/configure.ac
+++ b/configure.ac
@@ -613,6 +613,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
--
2.0.1
More information about the lxc-devel
mailing list