MCPcopy Create free account
hub / github.com/Mirantis/cri-dockerd / updateCreateConfig

Method updateCreateConfig

core/helpers_linux.go:38–86  ·  view source on GitHub ↗
(
	createConfig *libdocker.ContainerCreateConfig,
	config *runtimeapi.ContainerConfig,
	sandboxConfig *runtimeapi.PodSandboxConfig,
	podSandboxID string, securityOptSep rune, apiVersion *semver.Version)

Source from the content-addressed store, hash-verified

36}
37
38func (ds *dockerService) updateCreateConfig(
39 createConfig *libdocker.ContainerCreateConfig,
40 config *runtimeapi.ContainerConfig,
41 sandboxConfig *runtimeapi.PodSandboxConfig,
42 podSandboxID string, securityOptSep rune, apiVersion *semver.Version) error {
43 // Apply Linux-specific options if applicable.
44 if lc := config.GetLinux(); lc != nil {
45 rOpts := lc.GetResources()
46 if rOpts != nil {
47 createConfig.HostConfig.Resources = dockercontainer.Resources{
48 // Memory and MemorySwap are set to the same value, this prevents containers from using any swap.
49 Memory: rOpts.MemoryLimitInBytes,
50 MemorySwap: rOpts.MemoryLimitInBytes,
51 CPUShares: rOpts.CpuShares,
52 CPUQuota: rOpts.CpuQuota,
53 CPUPeriod: rOpts.CpuPeriod,
54 CpusetCpus: rOpts.CpusetCpus,
55 CpusetMems: rOpts.CpusetMems,
56 }
57 createConfig.HostConfig.OomScoreAdj = int(rOpts.OomScoreAdj)
58 }
59 // Note: ShmSize is handled in kube_docker_client.go
60
61 // Apply security context.
62 if err := applyContainerSecurityContext(lc, podSandboxID, createConfig.Config, createConfig.HostConfig, securityOptSep); err != nil {
63 return fmt.Errorf(
64 "failed to apply container security context for container %q: %v",
65 config.Metadata.Name,
66 err,
67 )
68 }
69 }
70
71 // Apply cgroupsParent derived from the sandbox config.
72 if lc := sandboxConfig.GetLinux(); lc != nil {
73 // Apply Cgroup options.
74 cgroupParent, err := ds.GenerateExpectedCgroupParent(lc.CgroupParent)
75 if err != nil {
76 return fmt.Errorf(
77 "failed to generate cgroup parent in expected syntax for container %q: %v",
78 config.Metadata.Name,
79 err,
80 )
81 }
82 createConfig.HostConfig.CgroupParent = cgroupParent
83 }
84
85 return nil
86}
87
88func (ds *dockerService) determinePodIPBySandboxID(uid string) []string {
89 return nil

Callers 1

CreateContainerMethod · 0.95

Tested by

no test coverage detected