diff options
author | zhangguanzhang <zhangguanzhang@qq.com> | 2020-09-17 22:18:43 +0800 |
---|---|---|
committer | zhangguanzhang <zhangguanzhang@qq.com> | 2020-09-18 13:28:22 +0800 |
commit | f0ccac199bd500729dabc8948bbd4ddd0124231e (patch) | |
tree | 2147f83853330bca3812cd1cdf31176c38c02cfb /libpod/kube.go | |
parent | f84f441bec8d4ad6b6dfce059ca71dbd2b0d9615 (diff) | |
download | podman-f0ccac199bd500729dabc8948bbd4ddd0124231e.tar.gz podman-f0ccac199bd500729dabc8948bbd4ddd0124231e.tar.bz2 podman-f0ccac199bd500729dabc8948bbd4ddd0124231e.zip |
handle the play kube and generate kube for with restartPolicy
Signed-off-by: zhangguanzhang <zhangguanzhang@qq.com>
Diffstat (limited to 'libpod/kube.go')
-rw-r--r-- | libpod/kube.go | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/libpod/kube.go b/libpod/kube.go index 9d5cbe68b..f83e99d82 100644 --- a/libpod/kube.go +++ b/libpod/kube.go @@ -77,6 +77,24 @@ func (p *Pod) GenerateForKube() (*v1.Pod, []v1.ServicePort, error) { } pod.Spec.HostAliases = extraHost + // vendor/k8s.io/api/core/v1/types.go: v1.Container cannot save restartPolicy + // so set it at here + for _, ctr := range allContainers { + if !ctr.IsInfra() { + switch ctr.Config().RestartPolicy { + case RestartPolicyAlways: + pod.Spec.RestartPolicy = v1.RestartPolicyAlways + case RestartPolicyOnFailure: + pod.Spec.RestartPolicy = v1.RestartPolicyOnFailure + case RestartPolicyNo: + pod.Spec.RestartPolicy = v1.RestartPolicyNever + default: // some pod create from cmdline, such as "", so set it to Never + pod.Spec.RestartPolicy = v1.RestartPolicyNever + } + break + } + } + if p.SharesPID() { // unfortunately, go doesn't have a nice way to specify a pointer to a bool b := true |