From: Lennart Poettering Date: Mon, 29 Dec 2014 11:38:26 +0000 (+0100) Subject: units: rework systemd-nspawn@.service unit X-Git-Tag: v219~766 X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=commitdiff_plain;ds=inline;h=6a140df0048c99e62339d97effbe16a1bba42d45;p=elogind.git units: rework systemd-nspawn@.service unit - Unescape instance name so that we can take almost anything as instance name. - Introduce "machines.target" which consists of all enabled nspawns and can be used to start/stop them altogether - Look for container directory using -M instead of harcoding the path in /var/lib/container --- diff --git a/Makefile.am b/Makefile.am index e1e084308..28d2e4b53 100644 --- a/Makefile.am +++ b/Makefile.am @@ -549,6 +549,7 @@ nodist_systemunit_DATA = \ units/initrd-udevadm-cleanup-db.service \ units/initrd-switch-root.service \ units/systemd-nspawn@.service \ + units/machines.target \ units/systemd-update-done.service if HAVE_UTMP diff --git a/units/machines.target b/units/machines.target new file mode 100644 index 000000000..99618a19f --- /dev/null +++ b/units/machines.target @@ -0,0 +1,17 @@ +# This file is part of systemd. +# +# systemd is free software; you can redistribute it and/or modify it +# under the terms of the GNU Lesser General Public License as published by +# the Free Software Foundation; either version 2.1 of the License, or +# (at your option) any later version. + +[Unit] +Description=Containers +Documentation=man:systemd.special(7) +Requires=basic.target +Conflicts=rescue.service rescue.target +After=basic.target rescue.service rescue.target +Before=multi-user.target + +[Install] +WantedBy=multi-user.target diff --git a/units/systemd-nspawn@.service.in b/units/systemd-nspawn@.service.in index e3eaa5323..02d663dd2 100644 --- a/units/systemd-nspawn@.service.in +++ b/units/systemd-nspawn@.service.in @@ -6,11 +6,13 @@ # (at your option) any later version. [Unit] -Description=Container %i +Description=Container %I Documentation=man:systemd-nspawn(1) +PartOf=machines.target +Before=machines.target [Service] -ExecStart=@bindir@/systemd-nspawn --quiet --keep-unit --boot --link-journal=try-guest --directory=/var/lib/container/%i +ExecStart=@bindir@/systemd-nspawn --quiet --keep-unit --boot --link-journal=try-guest --machine=%I KillMode=mixed Type=notify RestartForceExitStatus=133 @@ -18,4 +20,4 @@ SuccessExitStatus=133 Delegate=yes [Install] -WantedBy=multi-user.target +WantedBy=machines.target