Skip to content

Commit 1b94470

Browse files
Merge pull request #16238 from vrothberg/fix-common-1200
use cached containers.conf
2 parents 283ecd4 + 7a9c14d commit 1b94470

File tree

16 files changed

+123
-127
lines changed

16 files changed

+123
-127
lines changed

cmd/podman/common/create.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ import (
1414

1515
const sizeWithUnitFormat = "(format: `<number>[<unit>]`, where unit = b (bytes), k (kibibytes), m (mebibytes), or g (gibibytes))"
1616

17-
var containerConfig = registry.PodmanConfig()
17+
var podmanConfig = registry.PodmanConfig()
1818

1919
// ContainerToPodOptions takes the Container and Pod Create options, assigning the matching values back to podCreate for the purpose of the libpod API
2020
// For this function to succeed, the JSON tags in PodCreateOptions and ContainerCreateOptions need to match due to the Marshaling and Unmarshaling done.
@@ -218,7 +218,7 @@ func DefineCreateFlags(cmd *cobra.Command, cf *entities.ContainerCreateOptions,
218218

219219
createFlags.BoolVar(
220220
&cf.HTTPProxy,
221-
"http-proxy", containerConfig.Containers.HTTPProxy,
221+
"http-proxy", podmanConfig.ContainersConfDefaultsRO.Containers.HTTPProxy,
222222
"Set proxy environment variables in the container based on the host proxy vars",
223223
)
224224

cmd/podman/common/create_opts.go

Lines changed: 14 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -8,70 +8,70 @@ import (
88

99
func ulimits() []string {
1010
if !registry.IsRemote() {
11-
return containerConfig.Ulimits()
11+
return podmanConfig.ContainersConfDefaultsRO.Ulimits()
1212
}
1313
return nil
1414
}
1515

1616
func cgroupConfig() string {
1717
if !registry.IsRemote() {
18-
return containerConfig.Cgroups()
18+
return podmanConfig.ContainersConfDefaultsRO.Cgroups()
1919
}
2020
return ""
2121
}
2222

2323
func devices() []string {
2424
if !registry.IsRemote() {
25-
return containerConfig.Devices()
25+
return podmanConfig.ContainersConfDefaultsRO.Devices()
2626
}
2727
return nil
2828
}
2929

3030
func Env() []string {
3131
if !registry.IsRemote() {
32-
return containerConfig.Env()
32+
return podmanConfig.ContainersConfDefaultsRO.Env()
3333
}
3434
return nil
3535
}
3636

3737
func initPath() string {
3838
if !registry.IsRemote() {
39-
return containerConfig.InitPath()
39+
return podmanConfig.ContainersConfDefaultsRO.InitPath()
4040
}
4141
return ""
4242
}
4343

4444
func pidsLimit() int64 {
4545
if !registry.IsRemote() {
46-
return containerConfig.PidsLimit()
46+
return podmanConfig.ContainersConfDefaultsRO.PidsLimit()
4747
}
4848
return -1
4949
}
5050

5151
func policy() string {
5252
if !registry.IsRemote() {
53-
return containerConfig.Engine.PullPolicy
53+
return podmanConfig.ContainersConfDefaultsRO.Engine.PullPolicy
5454
}
5555
return ""
5656
}
5757

5858
func shmSize() string {
5959
if !registry.IsRemote() {
60-
return containerConfig.ShmSize()
60+
return podmanConfig.ContainersConfDefaultsRO.ShmSize()
6161
}
6262
return ""
6363
}
6464

6565
func volumes() []string {
6666
if !registry.IsRemote() {
67-
return containerConfig.Volumes()
67+
return podmanConfig.ContainersConfDefaultsRO.Volumes()
6868
}
6969
return nil
7070
}
7171

7272
func LogDriver() string {
7373
if !registry.IsRemote() {
74-
return containerConfig.Containers.LogDriver
74+
return podmanConfig.ContainersConfDefaultsRO.Containers.LogDriver
7575
}
7676
return ""
7777
}
@@ -81,14 +81,14 @@ func DefineCreateDefaults(opts *entities.ContainerCreateOptions) {
8181
opts.LogDriver = LogDriver()
8282
opts.CgroupsMode = cgroupConfig()
8383
opts.MemorySwappiness = -1
84-
opts.ImageVolume = containerConfig.Engine.ImageVolumeMode
84+
opts.ImageVolume = podmanConfig.ContainersConfDefaultsRO.Engine.ImageVolumeMode
8585
opts.Pull = policy()
8686
opts.ReadOnlyTmpFS = true
8787
opts.SdNotifyMode = define.SdNotifyModeContainer
88-
opts.StopTimeout = containerConfig.Engine.StopTimeout
88+
opts.StopTimeout = podmanConfig.ContainersConfDefaultsRO.Engine.StopTimeout
8989
opts.Systemd = "true"
90-
opts.Timezone = containerConfig.TZ()
91-
opts.Umask = containerConfig.Umask()
90+
opts.Timezone = podmanConfig.ContainersConfDefaultsRO.TZ()
91+
opts.Umask = podmanConfig.ContainersConfDefaultsRO.Umask()
9292
opts.Ulimit = ulimits()
9393
opts.SeccompPolicy = "default"
9494
opts.Volume = volumes()

cmd/podman/common/netflags.go

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -28,20 +28,20 @@ func DefineNetFlags(cmd *cobra.Command) {
2828

2929
dnsFlagName := "dns"
3030
netFlags.StringSlice(
31-
dnsFlagName, containerConfig.DNSServers(),
31+
dnsFlagName, podmanConfig.ContainersConf.DNSServers(),
3232
"Set custom DNS servers",
3333
)
3434
_ = cmd.RegisterFlagCompletionFunc(dnsFlagName, completion.AutocompleteNone)
3535

3636
dnsOptFlagName := "dns-option"
3737
netFlags.StringSlice(
38-
dnsOptFlagName, containerConfig.DNSOptions(),
38+
dnsOptFlagName, podmanConfig.ContainersConf.DNSOptions(),
3939
"Set custom DNS options",
4040
)
4141
_ = cmd.RegisterFlagCompletionFunc(dnsOptFlagName, completion.AutocompleteNone)
4242
dnsSearchFlagName := "dns-search"
4343
netFlags.StringSlice(
44-
dnsSearchFlagName, containerConfig.DNSSearches(),
44+
dnsSearchFlagName, podmanConfig.ContainersConf.DNSSearches(),
4545
"Set custom DNS search domains",
4646
)
4747
_ = cmd.RegisterFlagCompletionFunc(dnsSearchFlagName, completion.AutocompleteNone)
@@ -89,7 +89,7 @@ func DefineNetFlags(cmd *cobra.Command) {
8989
_ = cmd.RegisterFlagCompletionFunc(publishFlagName, completion.AutocompleteNone)
9090

9191
netFlags.Bool(
92-
"no-hosts", containerConfig.Containers.NoHosts,
92+
"no-hosts", podmanConfig.ContainersConfDefaultsRO.Containers.NoHosts,
9393
"Do not create /etc/hosts within the container, instead use the version from the image",
9494
)
9595
}

cmd/podman/containers/ps.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -125,8 +125,8 @@ func checkFlags(c *cobra.Command) error {
125125
if listOpts.Watch > 0 && listOpts.Latest {
126126
return errors.New("the watch and latest flags cannot be used together")
127127
}
128-
cfg := registry.PodmanConfig()
129-
if cfg.Engine.Namespace != "" {
128+
podmanConfig := registry.PodmanConfig()
129+
if podmanConfig.ContainersConf.Engine.Namespace != "" {
130130
if c.Flag("storage").Changed && listOpts.External {
131131
return errors.New("--namespace and --external flags can not both be set")
132132
}

cmd/podman/images/build.go

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -504,11 +504,11 @@ func buildFlagsWrapperToOptions(c *cobra.Command, contextDir string, flags *buil
504504
runtimeFlags = append(runtimeFlags, "--"+arg)
505505
}
506506

507-
containerConfig := registry.PodmanConfig()
508-
for _, arg := range containerConfig.RuntimeFlags {
507+
podmanConfig := registry.PodmanConfig()
508+
for _, arg := range podmanConfig.RuntimeFlags {
509509
runtimeFlags = append(runtimeFlags, "--"+arg)
510510
}
511-
if containerConfig.Engine.CgroupManager == config.SystemdCgroupsManager {
511+
if podmanConfig.ContainersConf.Engine.CgroupManager == config.SystemdCgroupsManager {
512512
runtimeFlags = append(runtimeFlags, "--systemd-cgroup")
513513
}
514514

@@ -576,7 +576,7 @@ func buildFlagsWrapperToOptions(c *cobra.Command, contextDir string, flags *buil
576576
ConfigureNetwork: networkPolicy,
577577
ContextDirectory: contextDir,
578578
CPPFlags: flags.CPPFlags,
579-
DefaultMountsFilePath: containerConfig.Containers.DefaultMountsFile,
579+
DefaultMountsFilePath: podmanConfig.ContainersConfDefaultsRO.Containers.DefaultMountsFile,
580580
Devices: flags.Devices,
581581
DropCapabilities: flags.CapDrop,
582582
Envs: flags.Envs,
@@ -608,7 +608,7 @@ func buildFlagsWrapperToOptions(c *cobra.Command, contextDir string, flags *buil
608608
Quiet: flags.Quiet,
609609
RemoveIntermediateCtrs: flags.Rm,
610610
ReportWriter: reporter,
611-
Runtime: containerConfig.RuntimePath,
611+
Runtime: podmanConfig.RuntimePath,
612612
RuntimeArgs: runtimeFlags,
613613
RusageLogFile: flags.RusageLogFile,
614614
SignBy: flags.SignBy,

cmd/podman/images/save.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -95,7 +95,7 @@ func saveFlags(cmd *cobra.Command) {
9595
_ = cmd.RegisterFlagCompletionFunc(outputFlagName, completion.AutocompleteDefault)
9696

9797
flags.BoolVarP(&saveOpts.Quiet, "quiet", "q", false, "Suppress the output")
98-
flags.BoolVarP(&saveOpts.MultiImageArchive, "multi-image-archive", "m", containerConfig.Engine.MultiImageArchive, "Interpret additional arguments as images not tags and create a multi-image-archive (only for docker-archive)")
98+
flags.BoolVarP(&saveOpts.MultiImageArchive, "multi-image-archive", "m", containerConfig.ContainersConfDefaultsRO.Engine.MultiImageArchive, "Interpret additional arguments as images not tags and create a multi-image-archive (only for docker-archive)")
9999

100100
if !registry.IsRemote() {
101101
flags.StringVar(&saveOpts.SignaturePolicy, "signature-policy", "", "Path to a signature-policy file")

cmd/podman/machine/init.go

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -46,15 +46,15 @@ func init() {
4646
cpusFlagName := "cpus"
4747
flags.Uint64Var(
4848
&initOpts.CPUS,
49-
cpusFlagName, cfg.Machine.CPUs,
49+
cpusFlagName, cfg.ContainersConfDefaultsRO.Machine.CPUs,
5050
"Number of CPUs",
5151
)
5252
_ = initCmd.RegisterFlagCompletionFunc(cpusFlagName, completion.AutocompleteNone)
5353

5454
diskSizeFlagName := "disk-size"
5555
flags.Uint64Var(
5656
&initOpts.DiskSize,
57-
diskSizeFlagName, cfg.Machine.DiskSize,
57+
diskSizeFlagName, cfg.ContainersConfDefaultsRO.Machine.DiskSize,
5858
"Disk size in GB",
5959
)
6060

@@ -63,7 +63,7 @@ func init() {
6363
memoryFlagName := "memory"
6464
flags.Uint64VarP(
6565
&initOpts.Memory,
66-
memoryFlagName, "m", cfg.Machine.Memory,
66+
memoryFlagName, "m", cfg.ContainersConfDefaultsRO.Machine.Memory,
6767
"Memory in MB",
6868
)
6969
_ = initCmd.RegisterFlagCompletionFunc(memoryFlagName, completion.AutocompleteNone)
@@ -74,7 +74,7 @@ func init() {
7474
"Start machine now",
7575
)
7676
timezoneFlagName := "timezone"
77-
defaultTz := cfg.TZ()
77+
defaultTz := cfg.ContainersConfDefaultsRO.TZ()
7878
if len(defaultTz) < 1 {
7979
defaultTz = "local"
8080
}
@@ -89,15 +89,15 @@ func init() {
8989
_ = flags.MarkHidden("reexec")
9090

9191
UsernameFlagName := "username"
92-
flags.StringVar(&initOpts.Username, UsernameFlagName, cfg.Machine.User, "Username used in qcow image")
92+
flags.StringVar(&initOpts.Username, UsernameFlagName, cfg.ContainersConfDefaultsRO.Machine.User, "Username used in qcow image")
9393
_ = initCmd.RegisterFlagCompletionFunc(UsernameFlagName, completion.AutocompleteDefault)
9494

9595
ImagePathFlagName := "image-path"
96-
flags.StringVar(&initOpts.ImagePath, ImagePathFlagName, cfg.Machine.Image, "Path to qcow image")
96+
flags.StringVar(&initOpts.ImagePath, ImagePathFlagName, cfg.ContainersConfDefaultsRO.Machine.Image, "Path to qcow image")
9797
_ = initCmd.RegisterFlagCompletionFunc(ImagePathFlagName, completion.AutocompleteDefault)
9898

9999
VolumeFlagName := "volume"
100-
flags.StringArrayVarP(&initOpts.Volumes, VolumeFlagName, "v", cfg.Machine.Volumes, "Volumes to mount, source:target")
100+
flags.StringArrayVarP(&initOpts.Volumes, VolumeFlagName, "v", cfg.ContainersConfDefaultsRO.Machine.Volumes, "Volumes to mount, source:target")
101101
_ = initCmd.RegisterFlagCompletionFunc(VolumeFlagName, completion.AutocompleteDefault)
102102

103103
VolumeDriverFlagName := "volume-driver"

cmd/podman/registry/config.go

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -51,7 +51,7 @@ func newPodmanConfig() {
5151
os.Exit(1)
5252
}
5353

54-
cfg, err := config.NewConfig("")
54+
defaultConfig, err := config.Default()
5555
if err != nil {
5656
fmt.Fprint(os.Stderr, "Failed to obtain podman configuration: "+err.Error())
5757
os.Exit(1)
@@ -76,11 +76,11 @@ func newPodmanConfig() {
7676

7777
// If EngineMode==Tunnel has not been set on the command line or environment
7878
// but has been set in containers.conf...
79-
if mode == entities.ABIMode && cfg.Engine.Remote {
79+
if mode == entities.ABIMode && defaultConfig.Engine.Remote {
8080
mode = entities.TunnelMode
8181
}
8282

83-
podmanOptions = entities.PodmanConfig{Config: cfg, EngineMode: mode}
83+
podmanOptions = entities.PodmanConfig{ContainersConf: &config.Config{}, ContainersConfDefaultsRO: defaultConfig, EngineMode: mode}
8484
}
8585

8686
// setXdgDirs ensures the XDG_RUNTIME_DIR env and XDG_CONFIG_HOME variables are set.

0 commit comments

Comments
 (0)