From f15b8e1b2b12334748ab9ed4c19340831b6d4792 Mon Sep 17 00:00:00 2001 From: Donal O'Sullivan Date: Thu, 16 Apr 2026 16:36:47 +0100 Subject: [PATCH] Sort cliOpts fields alphabetically in Compat Create Improve code readability by sorting ContainerCreateOptions field assignments alphabetically and simplifying access to embedded Config fields. Fixes: #28377 Signed-off-by: Donal O'Sullivan --- pkg/api/handlers/compat/containers_create.go | 52 ++++++++++---------- 1 file changed, 26 insertions(+), 26 deletions(-) diff --git a/pkg/api/handlers/compat/containers_create.go b/pkg/api/handlers/compat/containers_create.go index 4bb10f43ef..0ccfe3c58d 100644 --- a/pkg/api/handlers/compat/containers_create.go +++ b/pkg/api/handlers/compat/containers_create.go @@ -411,44 +411,55 @@ func cliOpts(cc handlers.CreateContainerConfig, rtc *config.Config) (*entities.C // like with start. We believe this is just a difference in podman/compat cliOpts := entities.ContainerCreateOptions{ // Attach: nil, // don't need? + Annotation: stringMaptoArray(cc.HostConfig.Annotations), + Arch: "", Authfile: "", CapAdd: cc.HostConfig.CapAdd, CapDrop: cc.HostConfig.CapDrop, + CgroupNS: string(cc.HostConfig.CgroupnsMode), CgroupParent: cc.HostConfig.CgroupParent, CIDFile: cc.HostConfig.ContainerIDFile, + // CPUS: 0, // don't need? CPUPeriod: uint64(cc.HostConfig.CPUPeriod), CPUQuota: cc.HostConfig.CPUQuota, CPURTPeriod: uint64(cc.HostConfig.CPURealtimePeriod), CPURTRuntime: cc.HostConfig.CPURealtimeRuntime, + CPUSetCPUs: cc.HostConfig.CpusetCpus, + CPUSetMems: cc.HostConfig.CpusetMems, CPUShares: uint64(cc.HostConfig.CPUShares), - // CPUS: 0, // don't need? - CPUSetCPUs: cc.HostConfig.CpusetCpus, - CPUSetMems: cc.HostConfig.CpusetMems, // Detach: false, // don't need // DetachKeys: "", // don't need - Devices: devices, DeviceCgroupRule: cc.HostConfig.DeviceCgroupRules, DeviceReadBPs: readBps, DeviceReadIOPs: readIops, + Devices: devices, DeviceWriteBPs: writeBps, DeviceWriteIOPs: writeIops, Entrypoint: entrypoint, - Env: cc.Config.Env, + Env: cc.Env, + EnvMerge: cc.EnvMerge, Expose: expose, GroupAdd: cc.HostConfig.GroupAdd, - Hostname: cc.Config.Hostname, + HealthInterval: define.DefaultHealthCheckInterval, + HealthLogDestination: define.DefaultHealthCheckLocalDestination, + HealthMaxLogCount: define.DefaultHealthMaxLogCount, + HealthMaxLogSize: define.DefaultHealthMaxLogSize, + HealthRetries: define.DefaultHealthCheckRetries, + HealthStartPeriod: define.DefaultHealthCheckStartPeriod, + HealthTimeout: define.DefaultHealthCheckTimeout, + Hostname: cc.Hostname, ImageVolume: "anonymous", Init: init, - Interactive: cc.Config.OpenStdin, + Interactive: cc.OpenStdin, IPC: string(cc.HostConfig.IpcMode), - Label: stringMaptoArray(cc.Config.Labels), + Label: stringMaptoArray(cc.Labels), LogDriver: cc.HostConfig.LogConfig.Type, LogOptions: stringMaptoArray(cc.HostConfig.LogConfig.Config), + Mount: mounts, Name: cc.Name, + Net: &netInfo, OOMScoreAdj: &cc.HostConfig.OomScoreAdj, - Arch: "", OS: "", - Variant: "", PID: string(cc.HostConfig.PidMode), PIDsLimit: cc.HostConfig.PidsLimit, Privileged: cc.HostConfig.Privileged, @@ -457,33 +468,22 @@ func cliOpts(cc handlers.CreateContainerConfig, rtc *config.Config) (*entities.C ReadOnly: cc.HostConfig.ReadonlyRootfs, ReadWriteTmpFS: true, // podman default Rm: cc.HostConfig.AutoRemove, - Annotation: stringMaptoArray(cc.HostConfig.Annotations), SecurityOpt: cc.HostConfig.SecurityOpt, - StopSignal: cc.Config.StopSignal, + StopSignal: cc.StopSignal, StopTimeout: rtc.Engine.StopTimeout, // podman default StorageOpts: stringMaptoArray(cc.HostConfig.StorageOpt), Sysctl: stringMaptoArray(cc.HostConfig.Sysctls), Systemd: "true", // podman default TmpFS: parsedTmp, - TTY: cc.Config.Tty, - EnvMerge: cc.EnvMerge, + TTY: cc.Tty, UnsetEnv: cc.UnsetEnv, UnsetEnvAll: cc.UnsetEnvAll, - User: cc.Config.User, + User: cc.User, UserNS: string(cc.HostConfig.UsernsMode), UTS: string(cc.HostConfig.UTSMode), - CgroupNS: string(cc.HostConfig.CgroupnsMode), - Mount: mounts, + Variant: "", VolumesFrom: cc.HostConfig.VolumesFrom, - Workdir: cc.Config.WorkingDir, - Net: &netInfo, - HealthInterval: define.DefaultHealthCheckInterval, - HealthRetries: define.DefaultHealthCheckRetries, - HealthTimeout: define.DefaultHealthCheckTimeout, - HealthStartPeriod: define.DefaultHealthCheckStartPeriod, - HealthLogDestination: define.DefaultHealthCheckLocalDestination, - HealthMaxLogCount: define.DefaultHealthMaxLogCount, - HealthMaxLogSize: define.DefaultHealthMaxLogSize, + Workdir: cc.WorkingDir, } var ulimits []string