From c6c311cc3d7c748ce77e697b2f4c8074fcf09019 Mon Sep 17 00:00:00 2001 From: sanne Date: Thu, 25 Nov 2021 11:24:00 +0100 Subject: [PATCH] osbuild-worker: Recreate rpmmd for each depsolve The remote workers are long-running, and the subscription certificates might expire. Before each depsolve refresh the subscriptions. --- cmd/osbuild-worker/jobimpl-depsolve.go | 6 ++++-- cmd/osbuild-worker/main.go | 3 +-- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/cmd/osbuild-worker/jobimpl-depsolve.go b/cmd/osbuild-worker/jobimpl-depsolve.go index 639548065..091d7d4f2 100644 --- a/cmd/osbuild-worker/jobimpl-depsolve.go +++ b/cmd/osbuild-worker/jobimpl-depsolve.go @@ -8,13 +8,15 @@ import ( ) type DepsolveJobImpl struct { - RPMMD rpmmd.RPMMD + RPMMDCache string } func (impl *DepsolveJobImpl) depsolve(packageSets map[string]rpmmd.PackageSet, repos []rpmmd.RepoConfig, modulePlatformID, arch, releasever string) (map[string][]rpmmd.PackageSpec, error) { + rpmMD := rpmmd.NewRPMMD(impl.RPMMDCache, "/usr/libexec/osbuild-composer/dnf-json") + packageSpecs := make(map[string][]rpmmd.PackageSpec) for name, packageSet := range packageSets { - packageSpec, _, err := impl.RPMMD.Depsolve(packageSet, repos, modulePlatformID, arch, releasever) + packageSpec, _, err := rpmMD.Depsolve(packageSet, repos, modulePlatformID, arch, releasever) if err != nil { return nil, err } diff --git a/cmd/osbuild-worker/main.go b/cmd/osbuild-worker/main.go index 4bc776c19..922fd6126 100644 --- a/cmd/osbuild-worker/main.go +++ b/cmd/osbuild-worker/main.go @@ -17,7 +17,6 @@ import ( "github.com/sirupsen/logrus" "github.com/osbuild/osbuild-composer/internal/common" - "github.com/osbuild/osbuild-composer/internal/rpmmd" "github.com/osbuild/osbuild-composer/internal/upload/azure" "github.com/osbuild/osbuild-composer/internal/upload/koji" "github.com/osbuild/osbuild-composer/internal/worker" @@ -287,7 +286,7 @@ func main() { go func() { jobImpls := map[string]JobImplementation{ "depsolve": &DepsolveJobImpl{ - RPMMD: rpmmd.NewRPMMD(rpmmd_cache, "/usr/libexec/osbuild-composer/dnf-json"), + RPMMDCache: rpmmd_cache, }, } acceptedJobTypes := []string{}