From 076fd917e4aab58f3ccbb87918e645d65d29adcc Mon Sep 17 00:00:00 2001 From: ishaansehgal99 Date: Thu, 30 May 2024 19:26:50 -0700 Subject: [PATCH] filepath bugfix --- pkg/tuning/preset-tuning.go | 7 +++++-- pkg/tuning/preset-tuning_test.go | 12 ++++++++++++ 2 files changed, 17 insertions(+), 2 deletions(-) diff --git a/pkg/tuning/preset-tuning.go b/pkg/tuning/preset-tuning.go index 90c3a00c1..803a6a83e 100644 --- a/pkg/tuning/preset-tuning.go +++ b/pkg/tuning/preset-tuning.go @@ -188,8 +188,11 @@ func PrepareOutputDir(outputDir string) (string, error) { if outputDir == "" { return DefaultOutputVolumePath, nil } - - cleanPath := filepath.Clean(filepath.Join(DefaultBaseDir, outputDir)) + cleanPath := outputDir + if !strings.HasPrefix(cleanPath, DefaultBaseDir) { + cleanPath = filepath.Join(DefaultBaseDir, outputDir) + } + cleanPath = filepath.Clean(cleanPath) if cleanPath == DefaultBaseDir || !strings.HasPrefix(cleanPath, DefaultBaseDir) { klog.InfoS("Invalid output_dir specified: '%s', must be a directory. Using default output_dir: %s", outputDir, DefaultOutputVolumePath) return DefaultOutputVolumePath, fmt.Errorf("invalid output_dir specified: '%s', must be a directory", outputDir) diff --git a/pkg/tuning/preset-tuning_test.go b/pkg/tuning/preset-tuning_test.go index fc61fed35..8ca64c334 100644 --- a/pkg/tuning/preset-tuning_test.go +++ b/pkg/tuning/preset-tuning_test.go @@ -279,6 +279,18 @@ training_config: }, expectedOutputDir: "/mnt/custom/path", }, + "Output Dir already includes /mnt": { + configMap: &corev1.ConfigMap{ + Data: map[string]string{ + "training_config.yaml": ` +training_config: + TrainingArguments: + output_dir: "/mnt/output" +`, + }, + }, + expectedOutputDir: DefaultOutputVolumePath, + }, "Invalid Output Dir": { configMap: &corev1.ConfigMap{ Data: map[string]string{