From 697b46430a8a7c2c7231078911dcec51f0c6fab5 Mon Sep 17 00:00:00 2001 From: haircommander Date: Thu, 16 Aug 2018 17:12:16 -0400 Subject: Support pause containers in varlink Signed-off-by: haircommander Closes: #1187 Approved by: mheon --- pkg/varlinkapi/pods.go | 14 ++++++++++++++ 1 file changed, 14 insertions(+) (limited to 'pkg') diff --git a/pkg/varlinkapi/pods.go b/pkg/varlinkapi/pods.go index 6252d815b..657aa0baf 100644 --- a/pkg/varlinkapi/pods.go +++ b/pkg/varlinkapi/pods.go @@ -21,6 +21,20 @@ func (i *LibpodAPI) CreatePod(call iopodman.VarlinkCall, create iopodman.PodCrea if create.Name != "" { options = append(options, libpod.WithPodName(create.Name)) } + if len(create.Share) > 0 && !create.Pause { + return call.ReplyErrorOccurred("You cannot share kernel namespaces on the pod level without a pause container") + } + if len(create.Share) == 0 && create.Pause { + return call.ReplyErrorOccurred("You must share kernel namespaces to run a pause container") + } + if create.Pause { + options = append(options, libpod.WithPauseContainer()) + nsOptions, err := shared.GetNamespaceOptions(create.Share) + if err != nil { + return err + } + options = append(options, nsOptions...) + } options = append(options, libpod.WithPodCgroups()) pod, err := i.Runtime.NewPod(getContext(), options...) -- cgit v1.2.3-54-g00ecf