diff --git a/cmd/osbuild-worker/jobimpl-osbuild-koji.go b/cmd/osbuild-worker/jobimpl-osbuild-koji.go index f7d2d26fb5..545546bfad 100644 --- a/cmd/osbuild-worker/jobimpl-osbuild-koji.go +++ b/cmd/osbuild-worker/jobimpl-osbuild-koji.go @@ -18,6 +18,7 @@ import ( type OSBuildKojiJobImpl struct { Store string + Output string KojiServers map[string]koji.GSSAPICredentials } @@ -54,7 +55,7 @@ func (impl *OSBuildKojiJobImpl) kojiUpload(file *os.File, server, directory, fil } func (impl *OSBuildKojiJobImpl) Run(job worker.Job) error { - outputDirectory, err := ioutil.TempDir("/var/tmp", "osbuild-worker-*") + outputDirectory, err := ioutil.TempDir(impl.Output, job.Id().String()+"-*") if err != nil { return fmt.Errorf("error creating temporary output directory: %v", err) } diff --git a/cmd/osbuild-worker/jobimpl-osbuild.go b/cmd/osbuild-worker/jobimpl-osbuild.go index 512e559df9..c6f0e1e85a 100644 --- a/cmd/osbuild-worker/jobimpl-osbuild.go +++ b/cmd/osbuild-worker/jobimpl-osbuild.go @@ -25,6 +25,7 @@ import ( type OSBuildJobImpl struct { Store string + Output string KojiServers map[string]koji.GSSAPICredentials } @@ -62,7 +63,7 @@ func osbuildStagesToRPMs(stages []osbuild.StageResult) []koji.RPM { } func (impl *OSBuildJobImpl) Run(job worker.Job) error { - outputDirectory, err := ioutil.TempDir("/var/tmp", "osbuild-worker-*") + outputDirectory, err := ioutil.TempDir(impl.Output, job.Id().String()+"-*") if err != nil { return fmt.Errorf("error creating temporary output directory: %v", err) } @@ -154,7 +155,7 @@ func (impl *OSBuildJobImpl) Run(job worker.Job) error { Datastore: options.Datastore, } - tempDirectory, err := ioutil.TempDir("/var/tmp", "osbuild-worker-vmware-*") + tempDirectory, err := ioutil.TempDir(impl.Output, job.Id().String()+"-vmware-*") if err != nil { r = append(r, err) continue diff --git a/cmd/osbuild-worker/main.go b/cmd/osbuild-worker/main.go index 578f77c7c8..62907ce812 100644 --- a/cmd/osbuild-worker/main.go +++ b/cmd/osbuild-worker/main.go @@ -117,6 +117,8 @@ func main() { log.Fatal("CACHE_DIRECTORY is not set. Is the service file missing CacheDirectory=?") } store := path.Join(cacheDirectory, "osbuild-store") + output := path.Join(cacheDirectory, "output") + _ = os.Mkdir(output, os.ModeDir) kojiServers := make(map[string]koji.GSSAPICredentials) for server, creds := range config.KojiServers { @@ -152,10 +154,12 @@ func main() { jobImpls := map[string]JobImplementation{ "osbuild": &OSBuildJobImpl{ Store: store, + Output: output, KojiServers: kojiServers, }, "osbuild-koji": &OSBuildKojiJobImpl{ Store: store, + Output: output, KojiServers: kojiServers, }, "koji-init": &KojiInitJobImpl{