From 52b5a4e299eb92c51c7b0e9596543b52e7540010 Mon Sep 17 00:00:00 2001 From: Alban Crequy Date: Tue, 26 May 2015 14:48:16 +0200 Subject: [PATCH] lib: add the tmpBaseDir parameter Each layer should use the specified temporary directory too. More fixes for: https://github.com/appc/docker2aci/issues/50 --- lib/backend/file/file.go | 4 ++-- lib/backend/repository/repository.go | 4 ++-- lib/docker2aci.go | 4 ++-- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/lib/backend/file/file.go b/lib/backend/file/file.go index ba41745c..91860201 100644 --- a/lib/backend/file/file.go +++ b/lib/backend/file/file.go @@ -44,8 +44,8 @@ func (lb *FileBackend) GetImageInfo(dockerURL string) ([]string, *types.ParsedDo return ancestry, parsedDockerURL, nil } -func (lb *FileBackend) BuildACI(layerID string, dockerURL *types.ParsedDockerURL, outputDir string, curPwl []string, compress bool) (string, *schema.ImageManifest, error) { - tmpDir, err := ioutil.TempDir("", "docker2aci-") +func (lb *FileBackend) BuildACI(layerID string, dockerURL *types.ParsedDockerURL, outputDir string, tmpBaseDir string, curPwl []string, compress bool) (string, *schema.ImageManifest, error) { + tmpDir, err := ioutil.TempDir(tmpBaseDir, "docker2aci-") if err != nil { return "", nil, fmt.Errorf("error creating dir: %v", err) } diff --git a/lib/backend/repository/repository.go b/lib/backend/repository/repository.go index d18ddf75..bce26a3e 100644 --- a/lib/backend/repository/repository.go +++ b/lib/backend/repository/repository.go @@ -61,8 +61,8 @@ func (rb *RepositoryBackend) GetImageInfo(url string) ([]string, *types.ParsedDo return ancestry, dockerURL, nil } -func (rb *RepositoryBackend) BuildACI(layerID string, dockerURL *types.ParsedDockerURL, outputDir string, curPwl []string, compress bool) (string, *schema.ImageManifest, error) { - tmpDir, err := ioutil.TempDir("", "docker2aci-") +func (rb *RepositoryBackend) BuildACI(layerID string, dockerURL *types.ParsedDockerURL, outputDir string, tmpBaseDir string, curPwl []string, compress bool) (string, *schema.ImageManifest, error) { + tmpDir, err := ioutil.TempDir(tmpBaseDir, "docker2aci-") if err != nil { return "", nil, fmt.Errorf("error creating dir: %v", err) } diff --git a/lib/docker2aci.go b/lib/docker2aci.go index be7284a6..8d4a1978 100644 --- a/lib/docker2aci.go +++ b/lib/docker2aci.go @@ -40,7 +40,7 @@ import ( type Docker2ACIBackend interface { GetImageInfo(dockerUrl string) ([]string, *types.ParsedDockerURL, error) - BuildACI(layerID string, dockerURL *types.ParsedDockerURL, outputDir string, curPWl []string, compress bool) (string, *schema.ImageManifest, error) + BuildACI(layerID string, dockerURL *types.ParsedDockerURL, outputDir string, tmpBaseDir string, curPWl []string, compress bool) (string, *schema.ImageManifest, error) } // Convert generates ACI images from docker registry URLs. @@ -124,7 +124,7 @@ func convertReal(backend Docker2ACIBackend, dockerURL string, squash bool, outpu layerID := ancestry[i] // only compress individual layers if we're not squashing - aciPath, manifest, err := backend.BuildACI(layerID, parsedDockerURL, layersOutputDir, curPwl, !squash) + aciPath, manifest, err := backend.BuildACI(layerID, parsedDockerURL, layersOutputDir, tmpDir, curPwl, !squash) if err != nil { return nil, fmt.Errorf("error building layer: %v", err) }