diff options
Diffstat (limited to 'libpod')
-rw-r--r-- | libpod/options.go | 26 | ||||
-rw-r--r-- | libpod/pod.go | 1 | ||||
-rw-r--r-- | libpod/runtime_pod_infra_linux.go | 6 |
3 files changed, 32 insertions, 1 deletions
diff --git a/libpod/options.go b/libpod/options.go index bc563d60c..17a36008d 100644 --- a/libpod/options.go +++ b/libpod/options.go @@ -459,6 +459,19 @@ func WithDefaultInfraCommand(cmd string) RuntimeOption { } } +// WithDefaultInfraName sets the infra container name for a single pod. +func WithDefaultInfraName(name string) RuntimeOption { + return func(rt *Runtime) error { + if rt.valid { + return define.ErrRuntimeFinalized + } + + rt.config.Engine.InfraImage = name + + return nil + } +} + // WithRenumber instructs libpod to perform a lock renumbering while // initializing. This will handle migrations from early versions of libpod with // file locks to newer versions with SHM locking, as well as changes in the @@ -1787,6 +1800,19 @@ func WithInfraCommand(cmd []string) PodCreateOption { } } +// WithInfraName sets the infra container name for a single pod. +func WithInfraName(name string) PodCreateOption { + return func(pod *Pod) error { + if pod.valid { + return define.ErrPodFinalized + } + + pod.config.InfraContainer.InfraName = name + + return nil + } +} + // WithPodName sets the name of the pod. func WithPodName(name string) PodCreateOption { return func(pod *Pod) error { diff --git a/libpod/pod.go b/libpod/pod.go index c03059c82..62f5c9e5b 100644 --- a/libpod/pod.go +++ b/libpod/pod.go @@ -112,6 +112,7 @@ type InfraContainerConfig struct { ExitCommand []string `json:"exitCommand,omitempty"` InfraImage string `json:"infraImage,omitempty"` InfraCommand []string `json:"infraCommand,omitempty"` + InfraName string `json:"infraName,omitempty"` Slirp4netns bool `json:"slirp4netns,omitempty"` NetworkOptions map[string][]string `json:"network_options,omitempty"` ResourceLimits *specs.LinuxResources `json:"resource_limits,omitempty"` diff --git a/libpod/runtime_pod_infra_linux.go b/libpod/runtime_pod_infra_linux.go index 8342352ec..d4f861118 100644 --- a/libpod/runtime_pod_infra_linux.go +++ b/libpod/runtime_pod_infra_linux.go @@ -201,7 +201,11 @@ func (r *Runtime) makeInfraContainer(ctx context.Context, p *Pod, imgName, rawIm g.AddLinuxSysctl(sysctlKey, sysctlVal) } - containerName := p.ID()[:IDTruncLength] + "-infra" + containerName := p.config.InfraContainer.InfraName + if containerName == "" { + containerName = p.ID()[:IDTruncLength] + "-infra" + } + logrus.Infof("Infra container name %s", containerName) options = append(options, r.WithPod(p)) options = append(options, WithRootFSFromImage(imgID, imgName, rawImageName)) options = append(options, WithName(containerName)) |