( createConfig *libdocker.ContainerCreateConfig, config *runtimeapi.ContainerConfig, sandboxConfig *runtimeapi.PodSandboxConfig, podSandboxID string, securityOptSep rune, apiVersion *semver.Version)
| 36 | } |
| 37 | |
| 38 | func (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 | |
| 88 | func (ds *dockerService) determinePodIPBySandboxID(uid string) []string { |
| 89 | return nil |
no test coverage detected