diff options
author | Lennart Poettering <lennart@poettering.net> | 2014-12-29 12:38:26 +0100 |
---|---|---|
committer | Lennart Poettering <lennart@poettering.net> | 2014-12-29 17:00:05 +0100 |
commit | 6a140df0048c99e62339d97effbe16a1bba42d45 (patch) | |
tree | f73e885bd86466de5588e68d2521455fc60db5d8 | |
parent | 8fa844dccff70824ff063bfe5f409c47f5699d73 (diff) |
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
-rw-r--r-- | Makefile.am | 1 | ||||
-rw-r--r-- | units/machines.target | 17 | ||||
-rw-r--r-- | units/systemd-nspawn@.service.in | 8 |
3 files changed, 23 insertions, 3 deletions
diff --git a/Makefile.am b/Makefile.am index e1e0843086..28d2e4b53f 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 0000000000..99618a19f7 --- /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 e3eaa53239..02d663dd24 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 |