diff options
author | Charlie Doern <cdoern@redhat.com> | 2022-06-28 12:11:29 -0400 |
---|---|---|
committer | Charlie Doern <cdoern@redhat.com> | 2022-07-01 13:44:32 -0400 |
commit | b92149e2a8ce596b2839ec404e2ebd457943848f (patch) | |
tree | 1223e8b4594b40413a749c5d0025f5c4a6106f8a /libpod/pod.go | |
parent | b00e65aa9c071428579a55f91a92f3702765ed85 (diff) | |
download | podman-b92149e2a8ce596b2839ec404e2ebd457943848f.tar.gz podman-b92149e2a8ce596b2839ec404e2ebd457943848f.tar.bz2 podman-b92149e2a8ce596b2839ec404e2ebd457943848f.zip |
podman pod create --memory
using the new resource backend, implement podman pod create --memory which enables
users to modify memory.max inside of the parent cgroup (the pod), implicitly impacting all
children unless overriden
Signed-off-by: Charlie Doern <cdoern@redhat.com>
Diffstat (limited to 'libpod/pod.go')
-rw-r--r-- | libpod/pod.go | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/libpod/pod.go b/libpod/pod.go index 2502c41a9..c8c6790e8 100644 --- a/libpod/pod.go +++ b/libpod/pod.go @@ -169,6 +169,23 @@ func (p *Pod) CPUQuota() int64 { return 0 } +// MemoryLimit returns the pod Memory Limit +func (p *Pod) MemoryLimit() uint64 { + if p.state.InfraContainerID == "" { + return 0 + } + infra, err := p.runtime.GetContainer(p.state.InfraContainerID) + if err != nil { + return 0 + } + conf := infra.config.Spec + if conf != nil && conf.Linux != nil && conf.Linux.Resources != nil && conf.Linux.Resources.Memory != nil && conf.Linux.Resources.Memory.Limit != nil { + val := *conf.Linux.Resources.Memory.Limit + return uint64(val) + } + return 0 +} + // NetworkMode returns the Network mode given by the user ex: pod, private... func (p *Pod) NetworkMode() string { infra, err := p.runtime.GetContainer(p.state.InfraContainerID) |