diff --git a/cmd/gardener-node-agent/app/app.go b/cmd/gardener-node-agent/app/app.go index e33135efd02..1a2ed004627 100644 --- a/cmd/gardener-node-agent/app/app.go +++ b/cmd/gardener-node-agent/app/app.go @@ -203,6 +203,11 @@ func run(ctx context.Context, cancel context.CancelFunc, log logr.Logger, cfg *c dbus = dbus.New() ) + log.Info("Creating directory for temporary files", "path", nodeagentv1alpha1.TempDir) + if err := fs.MkdirAll(nodeagentv1alpha1.TempDir, os.ModeDir); err != nil { + return fmt.Errorf("unable to create directory for temporary files %q: %w", nodeagentv1alpha1.TempDir, err) + } + log.Info("Adding runnables to manager") if err := mgr.Add(&controllerutils.ControlledRunner{ Manager: mgr, diff --git a/pkg/nodeagent/apis/config/v1alpha1/types.go b/pkg/nodeagent/apis/config/v1alpha1/types.go index d167072a0dd..e740db3f7d3 100644 --- a/pkg/nodeagent/apis/config/v1alpha1/types.go +++ b/pkg/nodeagent/apis/config/v1alpha1/types.go @@ -25,6 +25,8 @@ const ( BaseDir = "/var/lib/gardener-node-agent" // CredentialsDir is the directory on the worker node that contains credentials for the gardener-node-agent. CredentialsDir = BaseDir + "/credentials" + // TempDir is the directory on the worker node that contains temporary directories of files. + TempDir = BaseDir + "/tmp" // BinaryDir is the directory on the worker node that contains the binary for the gardener-node-agent. BinaryDir = "/opt/bin" diff --git a/pkg/nodeagent/bootstrap/kubelet_data_volume.go b/pkg/nodeagent/bootstrap/kubelet_data_volume.go index 964a8f28d5b..52d4d36dad2 100644 --- a/pkg/nodeagent/bootstrap/kubelet_data_volume.go +++ b/pkg/nodeagent/bootstrap/kubelet_data_volume.go @@ -24,6 +24,8 @@ import ( "github.com/go-logr/logr" "github.com/spf13/afero" utilruntime "k8s.io/apimachinery/pkg/util/runtime" + + nodeagentv1alpha1 "github.com/gardener/gardener/pkg/nodeagent/apis/config/v1alpha1" ) var ( @@ -50,7 +52,7 @@ func formatKubeletDataDevice(log logr.Logger, fs afero.Afero, kubeletDataVolumeS } log.Info("Creating temporary file") - tmpFile, err := fs.TempFile("", "format-kubelet-data-volume-*") + tmpFile, err := fs.TempFile(nodeagentv1alpha1.TempDir, "format-kubelet-data-volume-") if err != nil { return fmt.Errorf("unable to create temporary directory: %w", err) } diff --git a/pkg/nodeagent/controller/operatingsystemconfig/reconciler.go b/pkg/nodeagent/controller/operatingsystemconfig/reconciler.go index c0d6ffef4e4..97c88a19497 100644 --- a/pkg/nodeagent/controller/operatingsystemconfig/reconciler.go +++ b/pkg/nodeagent/controller/operatingsystemconfig/reconciler.go @@ -205,7 +205,7 @@ var ( ) func (r *Reconciler) applyChangedFiles(ctx context.Context, log logr.Logger, files []extensionsv1alpha1.File) error { - tmpDir, err := r.FS.TempDir("", "gardener-node-agent-*") + tmpDir, err := r.FS.TempDir(nodeagentv1alpha1.TempDir, "osc-reconciliation-file-") if err != nil { return fmt.Errorf("unable to create temporary directory: %w", err) } diff --git a/pkg/nodeagent/registry/containerd_extractor.go b/pkg/nodeagent/registry/containerd_extractor.go index aaebce8bea8..5ab5124e461 100644 --- a/pkg/nodeagent/registry/containerd_extractor.go +++ b/pkg/nodeagent/registry/containerd_extractor.go @@ -33,6 +33,8 @@ import ( "github.com/opencontainers/image-spec/identity" "github.com/spf13/afero" utilruntime "k8s.io/apimachinery/pkg/util/runtime" + + nodeagentv1alpha1 "github.com/gardener/gardener/pkg/nodeagent/apis/config/v1alpha1" ) type containerdExtractor struct{} @@ -76,7 +78,7 @@ func (e *containerdExtractor) CopyFromImage(ctx context.Context, imageRef string snapshotter := client.SnapshotService(containerd.DefaultSnapshotter) - imageMountDirectory, err := fs.TempDir("", "node-agent-") + imageMountDirectory, err := fs.TempDir(nodeagentv1alpha1.TempDir, "mount-image-") if err != nil { return fmt.Errorf("error creating temp directory: %w", err) } @@ -157,7 +159,7 @@ func CopyFile(fs afero.Afero, sourceFile, destinationFile string, permissions os return fmt.Errorf("destination directory %q could not be created", path.Dir(destinationFile)) } - tempDir, err := fs.TempDir("", "copy-image-") + tempDir, err := fs.TempDir(nodeagentv1alpha1.TempDir, "copy-image-") if err != nil { return fmt.Errorf("error creating temp directory: %w", err) }