From f812118ae8943524a296be9989720a673926b735 Mon Sep 17 00:00:00 2001 From: Michael Vogt Date: Fri, 20 Dec 2024 15:09:49 +0100 Subject: [PATCH] many: update images Manifest() API for PR#1107 This updates composer to use the updated API in images around the seed handling for manifests, see images PR#1107 for details. Note that this has no semantic changes yet. We could now simplfy some things because images will auto-seed but that is for a followup. --- cmd/gen-manifests/main.go | 2 +- cmd/osbuild-dnf-json-tests/main_test.go | 4 ++-- cmd/osbuild-store-dump/main.go | 2 +- internal/cloudapi/v2/server.go | 4 ++-- internal/store/fixtures.go | 6 +++--- internal/store/store_test.go | 2 +- internal/weldr/api.go | 2 +- internal/weldr/api_test.go | 10 +++++----- internal/weldr/compose_test.go | 4 ++-- internal/worker/server_test.go | 18 +++++++++--------- 10 files changed, 27 insertions(+), 27 deletions(-) diff --git a/cmd/gen-manifests/main.go b/cmd/gen-manifests/main.go index 31a1a6bda3..4aae93bf65 100644 --- a/cmd/gen-manifests/main.go +++ b/cmd/gen-manifests/main.go @@ -161,7 +161,7 @@ func makeManifestJob(name string, imgType distro.ImageType, cr composeRequest, d } } - manifest, _, err := imgType.Manifest(&bp, options, repos, seedArg) + manifest, _, err := imgType.Manifest(&bp, options, repos, &seedArg) if err != nil { err = fmt.Errorf("[%s] failed: %s", filename, err) return diff --git a/cmd/osbuild-dnf-json-tests/main_test.go b/cmd/osbuild-dnf-json-tests/main_test.go index 09dd9ada60..aca3e0b125 100644 --- a/cmd/osbuild-dnf-json-tests/main_test.go +++ b/cmd/osbuild-dnf-json-tests/main_test.go @@ -66,7 +66,7 @@ func TestCrossArchDepsolve(t *testing.T) { Customizations: customizations, }, options, - repos[archStr], 0) + repos[archStr], nil) assert.NoError(t, err) for _, set := range manifest.GetPackageSetChains() { @@ -105,7 +105,7 @@ func TestDepsolvePackageSets(t *testing.T) { qcow2Image, err := x86Arch.GetImageType(qcow2ImageTypeName) require.Nilf(t, err, "failed to get %q image type of %q/%q distro/arch", qcow2ImageTypeName, cs9.Name(), arch.ARCH_X86_64.String()) - manifestSource, _, err := qcow2Image.Manifest(&blueprint.Blueprint{Packages: []blueprint.Package{{Name: "bind"}}}, distro.ImageOptions{}, x86Repos, 0) + manifestSource, _, err := qcow2Image.Manifest(&blueprint.Blueprint{Packages: []blueprint.Package{{Name: "bind"}}}, distro.ImageOptions{}, x86Repos, nil) require.Nilf(t, err, "failed to initialise manifest for %q image type of %q/%q distro/arch", qcow2ImageTypeName, cs9.Name(), arch.ARCH_X86_64.String()) imagePkgSets := manifestSource.GetPackageSetChains() diff --git a/cmd/osbuild-store-dump/main.go b/cmd/osbuild-store-dump/main.go index 462730fa5f..2e3cbfeb7c 100644 --- a/cmd/osbuild-store-dump/main.go +++ b/cmd/osbuild-store-dump/main.go @@ -25,7 +25,7 @@ import ( func getManifest(bp blueprint.Blueprint, t distro.ImageType, a distro.Arch, d distro.Distro, cacheDir string, repos []rpmmd.RepoConfig) (manifest.OSBuildManifest, []rpmmd.PackageSpec) { ibp := blueprint.Convert(bp) - manifest, _, err := t.Manifest(&ibp, distro.ImageOptions{}, repos, 0) + manifest, _, err := t.Manifest(&ibp, distro.ImageOptions{}, repos, nil) if err != nil { panic(err) } diff --git a/internal/cloudapi/v2/server.go b/internal/cloudapi/v2/server.go index 5909d45a46..3e3213c7f0 100644 --- a/internal/cloudapi/v2/server.go +++ b/internal/cloudapi/v2/server.go @@ -161,7 +161,7 @@ func (s *Server) enqueueCompose(irs []imageRequest, channel string) (uuid.UUID, arch := ir.imageType.Arch() distribution := arch.Distro() - manifestSource, _, err := ir.imageType.Manifest(&ibp, ir.imageOptions, ir.repositories, ir.manifestSeed) + manifestSource, _, err := ir.imageType.Manifest(&ibp, ir.imageOptions, ir.repositories, &ir.manifestSeed) if err != nil { logrus.Warningf("ErrorEnqueueingJob, failed generating manifest: %v", err) return id, HTTPErrorWithInternal(ErrorEnqueueingJob, err) @@ -294,7 +294,7 @@ func (s *Server) enqueueKojiCompose(taskID uint64, server, name, version, releas arch := ir.imageType.Arch() distribution := arch.Distro() - manifestSource, _, err := ir.imageType.Manifest(&ibp, ir.imageOptions, ir.repositories, ir.manifestSeed) + manifestSource, _, err := ir.imageType.Manifest(&ibp, ir.imageOptions, ir.repositories, &ir.manifestSeed) if err != nil { logrus.Errorf("ErrorEnqueueingJob, failed generating manifest: %v", err) return id, HTTPErrorWithInternal(ErrorEnqueueingJob, err) diff --git a/internal/store/fixtures.go b/internal/store/fixtures.go index a74dce7c68..7b563f3c9b 100644 --- a/internal/store/fixtures.go +++ b/internal/store/fixtures.go @@ -81,7 +81,7 @@ func FixtureBase(hostDistroName, hostArchName string) *Fixture { if err != nil { panic(fmt.Sprintf("failed to get image type %s for a test distro architecture: %v", test_distro.TestImageTypeName, err)) } - manifest, _, err := imgType.Manifest(nil, distro.ImageOptions{}, nil, 0) + manifest, _, err := imgType.Manifest(nil, distro.ImageOptions{}, nil, nil) if err != nil { panic(fmt.Sprintf("failed to create a manifest: %v", err)) } @@ -231,7 +231,7 @@ func FixtureFinished(hostDistroName, hostArchName string) *Fixture { if err != nil { panic(fmt.Sprintf("failed to get image type %s for a test distro architecture: %v", test_distro.TestImageTypeName, err)) } - manifest, _, err := imgType.Manifest(nil, distro.ImageOptions{}, nil, 0) + manifest, _, err := imgType.Manifest(nil, distro.ImageOptions{}, nil, nil) if err != nil { panic(fmt.Sprintf("failed to create a manifest: %v", err)) } @@ -465,7 +465,7 @@ func FixtureJobs(hostDistroName, hostArchName string) *Fixture { if err != nil { panic(fmt.Sprintf("failed to get image type %s for a test distro architecture: %v", test_distro.TestImageTypeName, err)) } - manifest, _, err := imgType.Manifest(nil, distro.ImageOptions{}, nil, 0) + manifest, _, err := imgType.Manifest(nil, distro.ImageOptions{}, nil, nil) if err != nil { panic(fmt.Sprintf("failed to create a manifest: %v", err)) } diff --git a/internal/store/store_test.go b/internal/store/store_test.go index 296d274c95..125ffe0837 100644 --- a/internal/store/store_test.go +++ b/internal/store/store_test.go @@ -58,7 +58,7 @@ func (suite *storeTest) SetupSuite() { suite.myImageType, err = suite.myArch.GetImageType(test_distro.TestImageTypeName) suite.NoError(err) ibp := blueprint.Convert(suite.myBP) - manifest, _, _ := suite.myImageType.Manifest(&ibp, suite.myImageOptions, suite.myRepoConfig, 0) + manifest, _, _ := suite.myImageType.Manifest(&ibp, suite.myImageOptions, suite.myRepoConfig, nil) suite.myManifest, _ = manifest.Serialize(nil, nil, nil, nil) suite.mySourceConfig = SourceConfig{ Name: "testSourceConfig", diff --git a/internal/weldr/api.go b/internal/weldr/api.go index c31e1c899a..5015bbe98f 100644 --- a/internal/weldr/api.go +++ b/internal/weldr/api.go @@ -2567,7 +2567,7 @@ func (api *API) composeHandler(writer http.ResponseWriter, request *http.Request } ibp := blueprint.Convert(*bp) - manifest, warnings, err := imageType.Manifest(&ibp, options, imageRepos, seed) + manifest, warnings, err := imageType.Manifest(&ibp, options, imageRepos, &seed) if err != nil { errors := responseError{ ID: "ManifestCreationFailed", diff --git a/internal/weldr/api_test.go b/internal/weldr/api_test.go index 6967eea4f4..5b3e0f02fb 100644 --- a/internal/weldr/api_test.go +++ b/internal/weldr/api_test.go @@ -1001,7 +1001,7 @@ func TestCompose(t *testing.T) { require.NoError(t, err) imgType, err := arch.GetImageType(test_distro.TestImageTypeName) require.NoError(t, err) - manifest, _, err := imgType.Manifest(nil, distro.ImageOptions{}, nil, 0) + manifest, _, err := imgType.Manifest(nil, distro.ImageOptions{}, nil, nil) require.NoError(t, err) rPkgs, rContainers, rCommits := ResolveContent(manifest.GetPackageSetChains(), manifest.GetContainerSourceSpecs(), manifest.GetOSTreeSourceSpecs()) @@ -1012,7 +1012,7 @@ func TestCompose(t *testing.T) { ostreeImgType, err := arch.GetImageType(test_distro.TestImageTypeOSTree) require.NoError(t, err) ostreeOptions := ostree.ImageOptions{URL: ostreeRepoDefault.Server.URL} - ostreeManifest, _, err := ostreeImgType.Manifest(nil, distro.ImageOptions{OSTree: &ostreeOptions}, nil, 0) + ostreeManifest, _, err := ostreeImgType.Manifest(nil, distro.ImageOptions{OSTree: &ostreeOptions}, nil, nil) require.NoError(t, err) rPkgs, rContainers, rCommits = ResolveContent(ostreeManifest.GetPackageSetChains(), ostreeManifest.GetContainerSourceSpecs(), ostreeManifest.GetOSTreeSourceSpecs()) @@ -1123,7 +1123,7 @@ func TestCompose(t *testing.T) { } ostreeOptionsOther := ostree.ImageOptions{ImageRef: otherRef, URL: ostreeRepoOther.Server.URL} - ostreeManifestOther, _, err := ostreeImgType.Manifest(nil, distro.ImageOptions{OSTree: &ostreeOptionsOther}, nil, 0) + ostreeManifestOther, _, err := ostreeImgType.Manifest(nil, distro.ImageOptions{OSTree: &ostreeOptionsOther}, nil, nil) require.NoError(t, err) rPkgs, rContainers, rCommits = ResolveContent(ostreeManifestOther.GetPackageSetChains(), ostreeManifestOther.GetContainerSourceSpecs(), ostreeManifestOther.GetOSTreeSourceSpecs()) @@ -1166,7 +1166,7 @@ func TestCompose(t *testing.T) { require.NoError(t, err) imgType2, err := arch2.GetImageType(test_distro.TestImageTypeName) require.NoError(t, err) - manifest2, _, err := imgType.Manifest(nil, distro.ImageOptions{}, nil, 0) + manifest2, _, err := imgType.Manifest(nil, distro.ImageOptions{}, nil, nil) require.NoError(t, err) rPkgs, rContainers, rCommits = ResolveContent(manifest2.GetPackageSetChains(), manifest2.GetContainerSourceSpecs(), manifest2.GetOSTreeSourceSpecs()) @@ -2204,7 +2204,7 @@ func TestComposePOST_ImageTypeDenylist(t *testing.T) { require.NoError(t, err) imgType2, err := arch.GetImageType(test_distro.TestImageType2Name) require.NoError(t, err) - manifest, _, err := imgType.Manifest(nil, distro.ImageOptions{}, nil, 0) + manifest, _, err := imgType.Manifest(nil, distro.ImageOptions{}, nil, nil) require.NoError(t, err) rPkgs, rContainers, rCommits := ResolveContent(manifest.GetPackageSetChains(), manifest.GetContainerSourceSpecs(), manifest.GetOSTreeSourceSpecs()) diff --git a/internal/weldr/compose_test.go b/internal/weldr/compose_test.go index f2491177b9..4264f84415 100644 --- a/internal/weldr/compose_test.go +++ b/internal/weldr/compose_test.go @@ -34,7 +34,7 @@ func TestComposeStatusFromLegacyError(t *testing.T) { if err != nil { t.Fatalf("error getting image type from arch: %v", err) } - manifest, _, err := imageType.Manifest(nil, distro.ImageOptions{Size: imageType.Size(0)}, nil, 0) + manifest, _, err := imageType.Manifest(nil, distro.ImageOptions{Size: imageType.Size(0)}, nil, nil) if err != nil { t.Fatalf("error creating osbuild manifest: %v", err) } @@ -90,7 +90,7 @@ func TestComposeStatusFromJobError(t *testing.T) { if err != nil { t.Fatalf("error getting image type from arch: %v", err) } - manifest, _, err := imageType.Manifest(nil, distro.ImageOptions{Size: imageType.Size(0)}, nil, 0) + manifest, _, err := imageType.Manifest(nil, distro.ImageOptions{Size: imageType.Size(0)}, nil, nil) if err != nil { t.Fatalf("error creating osbuild manifest: %v", err) } diff --git a/internal/worker/server_test.go b/internal/worker/server_test.go index f7e77983b1..38d8c34190 100644 --- a/internal/worker/server_test.go +++ b/internal/worker/server_test.go @@ -147,7 +147,7 @@ func TestCreate(t *testing.T) { if err != nil { t.Fatalf("error getting image type from arch: %v", err) } - manifest, _, err := imageType.Manifest(nil, distro.ImageOptions{Size: imageType.Size(0)}, nil, 0) + manifest, _, err := imageType.Manifest(nil, distro.ImageOptions{Size: imageType.Size(0)}, nil, nil) if err != nil { t.Fatalf("error creating osbuild manifest: %v", err) } @@ -178,7 +178,7 @@ func TestCancel(t *testing.T) { if err != nil { t.Fatalf("error getting image type from arch: %v", err) } - manifest, _, err := imageType.Manifest(nil, distro.ImageOptions{Size: imageType.Size(0)}, nil, 0) + manifest, _, err := imageType.Manifest(nil, distro.ImageOptions{Size: imageType.Size(0)}, nil, nil) if err != nil { t.Fatalf("error creating osbuild manifest: %v", err) } @@ -222,7 +222,7 @@ func TestUpdate(t *testing.T) { if err != nil { t.Fatalf("error getting image type from arch: %v", err) } - manifest, _, err := imageType.Manifest(nil, distro.ImageOptions{Size: imageType.Size(0)}, nil, 0) + manifest, _, err := imageType.Manifest(nil, distro.ImageOptions{Size: imageType.Size(0)}, nil, nil) if err != nil { t.Fatalf("error creating osbuild manifest: %v", err) } @@ -261,7 +261,7 @@ func TestArgs(t *testing.T) { require.NoError(t, err) imageType, err := arch.GetImageType(test_distro.TestImageTypeName) require.NoError(t, err) - manifest, _, err := imageType.Manifest(nil, distro.ImageOptions{Size: imageType.Size(0)}, nil, 0) + manifest, _, err := imageType.Manifest(nil, distro.ImageOptions{Size: imageType.Size(0)}, nil, nil) require.NoError(t, err) mf, err := manifest.Serialize(nil, nil, nil, nil) @@ -310,7 +310,7 @@ func TestUpload(t *testing.T) { if err != nil { t.Fatalf("error getting image type from arch: %v", err) } - manifest, _, err := imageType.Manifest(nil, distro.ImageOptions{Size: imageType.Size(0)}, nil, 0) + manifest, _, err := imageType.Manifest(nil, distro.ImageOptions{Size: imageType.Size(0)}, nil, nil) if err != nil { t.Fatalf("error creating osbuild manifest: %v", err) } @@ -346,7 +346,7 @@ func TestUploadNotAcceptingArtifacts(t *testing.T) { if err != nil { t.Fatalf("error getting image type from arch: %v", err) } - manifest, _, err := imageType.Manifest(nil, distro.ImageOptions{Size: imageType.Size(0)}, nil, 0) + manifest, _, err := imageType.Manifest(nil, distro.ImageOptions{Size: imageType.Size(0)}, nil, nil) if err != nil { t.Fatalf("error creating osbuild manifest: %v", err) } @@ -380,7 +380,7 @@ func TestUploadAlteredBasePath(t *testing.T) { if err != nil { t.Fatalf("error getting image type from arch: %v", err) } - manifest, _, err := imageType.Manifest(nil, distro.ImageOptions{Size: imageType.Size(0)}, nil, 0) + manifest, _, err := imageType.Manifest(nil, distro.ImageOptions{Size: imageType.Size(0)}, nil, nil) if err != nil { t.Fatalf("error creating osbuild manifest: %v", err) } @@ -1554,7 +1554,7 @@ func TestRequestJobForWorker(t *testing.T) { if err != nil { t.Fatalf("error getting image type from arch: %v", err) } - manifest, _, err := imageType.Manifest(nil, distro.ImageOptions{Size: imageType.Size(0)}, nil, 0) + manifest, _, err := imageType.Manifest(nil, distro.ImageOptions{Size: imageType.Size(0)}, nil, nil) if err != nil { t.Fatalf("error creating osbuild manifest: %v", err) } @@ -1589,7 +1589,7 @@ func TestJobHeartbeats(t *testing.T) { if err != nil { t.Fatalf("error getting image type from arch: %v", err) } - manifest, _, err := imageType.Manifest(nil, distro.ImageOptions{Size: imageType.Size(0)}, nil, 0) + manifest, _, err := imageType.Manifest(nil, distro.ImageOptions{Size: imageType.Size(0)}, nil, nil) if err != nil { t.Fatalf("error creating osbuild manifest: %v", err) }