diff options
author | baude <bbaude@redhat.com> | 2019-08-25 14:02:33 -0500 |
---|---|---|
committer | baude <bbaude@redhat.com> | 2019-08-25 14:02:33 -0500 |
commit | ed88a5fb64f330f85e609587ac5028b7915211d8 (patch) | |
tree | 358bbb9908c4bfb1c8e332d82a36c8bcecdaed24 | |
parent | c0528c152ebe2a972e2a44384ebd4ac87b936273 (diff) | |
download | podman-ed88a5fb64f330f85e609587ac5028b7915211d8.tar.gz podman-ed88a5fb64f330f85e609587ac5028b7915211d8.tar.bz2 podman-ed88a5fb64f330f85e609587ac5028b7915211d8.zip |
clean up after remote build
when performing an image build over a varlink connection, we should
clean up tmp files that are a result of sending the file to the host and
untarring it for the build.
Fixes: #3869
Signed-off-by: baude <bbaude@redhat.com>
-rw-r--r-- | pkg/varlinkapi/images.go | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/pkg/varlinkapi/images.go b/pkg/varlinkapi/images.go index a1fdf5955..0e1ef5b76 100644 --- a/pkg/varlinkapi/images.go +++ b/pkg/varlinkapi/images.go @@ -142,7 +142,14 @@ func (i *LibpodAPI) BuildImage(call iopodman.VarlinkCall, config iopodman.BuildI return call.ReplyErrorOccurred(fmt.Sprintf("unable to untar context dir %s", contextDir)) } logrus.Debugf("untar of %s successful", contextDir) - + defer func() { + if err := os.Remove(contextDir); err != nil { + logrus.Errorf("unable to delete file '%s': %q", contextDir, err) + } + if err := os.RemoveAll(newContextDir); err != nil { + logrus.Errorf("unable to delete directory '%s': %q", newContextDir, err) + } + }() // All output (stdout, stderr) is captured in output as well var output bytes.Buffer |