summaryrefslogtreecommitdiff
path: root/libpod/options.go
diff options
context:
space:
mode:
authorDaniel J Walsh <dwalsh@redhat.com>2018-10-15 15:42:12 -0400
committerDaniel J Walsh <dwalsh@redhat.com>2018-10-15 16:19:11 -0400
commit57a8c2e5e844ee403c9a703c621780de7c7343f0 (patch)
tree20a2acfd315cdfcc1f472c18508cd53b1dfedc47 /libpod/options.go
parent2bc9a3c4bbaade50264b1dbf348d1521cdd8d8b5 (diff)
downloadpodman-57a8c2e5e844ee403c9a703c621780de7c7343f0.tar.gz
podman-57a8c2e5e844ee403c9a703c621780de7c7343f0.tar.bz2
podman-57a8c2e5e844ee403c9a703c621780de7c7343f0.zip
Mount proper cgroup for systemd to manage inside of the container.
We are still requiring oci-systemd-hook to be installed in order to run systemd within a container. This patch properly mounts /sys/fs/cgroup/systemd/libpod_parent/libpod-UUID on /sys/fs/cgroup/systemd inside of container. Since we need the UUID of the container, we needed to move Systemd to be a config option of the container. Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>
Diffstat (limited to 'libpod/options.go')
-rw-r--r--libpod/options.go12
1 files changed, 12 insertions, 0 deletions
diff --git a/libpod/options.go b/libpod/options.go
index 9f966cead..228b38ba5 100644
--- a/libpod/options.go
+++ b/libpod/options.go
@@ -349,6 +349,18 @@ func WithShmDir(dir string) CtrCreateOption {
}
}
+// WithSystemd turns on systemd mode in the container
+func WithSystemd() CtrCreateOption {
+ return func(ctr *Container) error {
+ if ctr.valid {
+ return ErrCtrFinalized
+ }
+
+ ctr.config.Systemd = true
+ return nil
+ }
+}
+
// WithShmSize sets the size of /dev/shm tmpfs mount.
func WithShmSize(size int64) CtrCreateOption {
return func(ctr *Container) error {