Skip to content

Commit

Permalink
Merge pull request #783 from elezar/fix-config-file-path
Browse files Browse the repository at this point in the history
Fix bug in default config file path
  • Loading branch information
elezar authored Nov 8, 2024
2 parents b142091 + 46fc47c commit 1995925
Showing 1 changed file with 15 additions and 23 deletions.
38 changes: 15 additions & 23 deletions cmd/nvidia-ctk/runtime/configure/configure.go
Original file line number Diff line number Diff line change
Expand Up @@ -225,6 +225,17 @@ func (m command) validateFlags(c *cli.Context, config *config) error {
return fmt.Errorf("unrecognized Config Source: %v", config.configSource)
}

if config.configFilePath == "" {
switch config.runtime {
case "containerd":
config.configFilePath = defaultContainerdConfigFilePath
case "crio":
config.configFilePath = defaultCrioConfigFilePath
case "docker":
config.configFilePath = defaultDockerConfigFilePath
}
}

return nil
}

Expand All @@ -241,9 +252,6 @@ func (m command) configureWrapper(c *cli.Context, config *config) error {

// configureConfigFile updates the specified container engine config file to enable the NVIDIA runtime.
func (m command) configureConfigFile(c *cli.Context, config *config) error {
configFilePath := config.resolveConfigFilePath()

var err error
configSource, err := config.resolveConfigSource()
if err != nil {
return err
Expand All @@ -254,19 +262,19 @@ func (m command) configureConfigFile(c *cli.Context, config *config) error {
case "containerd":
cfg, err = containerd.New(
containerd.WithLogger(m.logger),
containerd.WithPath(configFilePath),
containerd.WithPath(config.configFilePath),
containerd.WithConfigSource(configSource),
)
case "crio":
cfg, err = crio.New(
crio.WithLogger(m.logger),
crio.WithPath(configFilePath),
crio.WithPath(config.configFilePath),
crio.WithConfigSource(configSource),
)
case "docker":
cfg, err = docker.New(
docker.WithLogger(m.logger),
docker.WithPath(configFilePath),
docker.WithPath(config.configFilePath),
)
default:
err = fmt.Errorf("unrecognized runtime '%v'", config.runtime)
Expand Down Expand Up @@ -307,22 +315,6 @@ func (m command) configureConfigFile(c *cli.Context, config *config) error {
return nil
}

// resolveConfigFilePath returns the default config file path for the configured container engine
func (c *config) resolveConfigFilePath() string {
if c.configFilePath != "" {
return c.configFilePath
}
switch c.runtime {
case "containerd":
return defaultContainerdConfigFilePath
case "crio":
return defaultCrioConfigFilePath
case "docker":
return defaultDockerConfigFilePath
}
return ""
}

// resolveConfigSource returns the default config source or the user provided config source
func (c *config) resolveConfigSource() (toml.Loader, error) {
switch c.configSource {
Expand Down Expand Up @@ -351,7 +343,7 @@ func (c *config) getOutputConfigPath() string {
if c.dryRun {
return ""
}
return c.resolveConfigFilePath()
return c.configFilePath
}

// configureOCIHook creates and configures the OCI hook for the NVIDIA runtime
Expand Down

0 comments on commit 1995925

Please sign in to comment.