From 5c14efbd7742bbf5f8691ef992cb456f26215839 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Dirk=20M=C3=BCller?= Date: Wed, 15 Oct 2025 22:06:05 +0200 Subject: [PATCH] add openSUSE Leap 16 handling MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Dirk Müller --- artifacts/opensuse/leap/leap.go | 10 +++-- artifacts/opensuse/leap/leap_test.go | 41 +++++++++++++++++++ ...16.0-Minimal-VM.aarch64-Cloud.qcow2.sha256 | 1 + ...-16.0-Minimal-VM.x86_64-Cloud.qcow2.sha256 | 1 + cmd/medius/common/registry.go | 9 +++- 5 files changed, 58 insertions(+), 4 deletions(-) create mode 100644 artifacts/opensuse/leap/testdata/Leap-16.0-Minimal-VM.aarch64-Cloud.qcow2.sha256 create mode 100644 artifacts/opensuse/leap/testdata/Leap-16.0-Minimal-VM.x86_64-Cloud.qcow2.sha256 diff --git a/artifacts/opensuse/leap/leap.go b/artifacts/opensuse/leap/leap.go index 60946667c..877ebe547 100644 --- a/artifacts/opensuse/leap/leap.go +++ b/artifacts/opensuse/leap/leap.go @@ -24,15 +24,19 @@ type leap struct { var _ api.Artifact = &leap{} const ( - baseURLFmt = "https://download.opensuse.org/distribution/leap/%s/appliances/openSUSE-Leap-%s-Minimal-VM.%s-Cloud.qcow2" - description = `OpenSUSE Leap images for KubeVirt. + leap16BaseURLFmt = "https://download.opensuse.org/distribution/leap/%s/appliances/Leap-%s-Minimal-VM.%s-Cloud.qcow2" + leap15BaseURLFmt = "https://download.opensuse.org/distribution/leap/%s/appliances/openSUSE-Leap-%s-Minimal-VM.%s-Cloud.qcow2" + description = `OpenSUSE Leap images for KubeVirt.

Visit [get.opensuse.org/leap/](https://get.opensuse.org/leap/) to learn more about OpenSUSE Leap.` ) func (l *leap) Inspect() (*api.ArtifactDetails, error) { - baseURL := fmt.Sprintf(baseURLFmt, l.Version, l.Version, l.Arch) + baseURL := fmt.Sprintf(leap16BaseURLFmt, l.Version, l.Version, l.Arch) + if strings.HasPrefix(l.Version, "15") { + baseURL = fmt.Sprintf(leap15BaseURLFmt, l.Version, l.Version, l.Arch) + } checksumBytes, err := l.getter.GetAll(baseURL + ".sha256") if err != nil { return nil, err diff --git a/artifacts/opensuse/leap/leap_test.go b/artifacts/opensuse/leap/leap_test.go index 9098fd068..917e131ec 100644 --- a/artifacts/opensuse/leap/leap_test.go +++ b/artifacts/opensuse/leap/leap_test.go @@ -28,6 +28,47 @@ var _ = Describe("OpenSUSE Leap", func() { Expect(c.Metadata()).To(Equal(metadata)) Expect(err).NotTo(HaveOccurred()) }, + Entry("leap:16.0 x86_64", "x86_64", "16.0", "testdata/Leap-16.0-Minimal-VM.x86_64-Cloud.qcow2.sha256", + map[string]string{ + common.DefaultInstancetypeEnv: "u1.medium", + common.DefaultPreferenceEnv: "opensuse.leap", + }, + &api.ArtifactDetails{ + Checksum: "8a18cb174d783367e48d34e4e379c5e8f77b0868bcb09350e3627e40090f16fb", + DownloadURL: "https://download.opensuse.org/distribution/leap/16.0/appliances/Leap-16.0-Minimal-VM.x86_64-Cloud.qcow2", + ImageArchitecture: "amd64", + }, + &api.Metadata{ + Name: "opensuse-leap", + Version: "16.0", + Description: description, + ExampleUserData: docs.UserData{ + Username: "opensuse", + }, + EnvVariables: map[string]string{ + common.DefaultInstancetypeEnv: "u1.medium", + common.DefaultPreferenceEnv: "opensuse.leap", + }, + Arch: "x86_64", + }, + ), + Entry("leap:16.0 aarch64", "aarch64", "16.0", "testdata/Leap-16.0-Minimal-VM.aarch64-Cloud.qcow2.sha256", + nil, + &api.ArtifactDetails{ + Checksum: "3fb04efe905b065c25ef1953ce0b53ec680ec661d919c413e2d25986296a0750", + DownloadURL: "https://download.opensuse.org/distribution/leap/16.0/appliances/Leap-16.0-Minimal-VM.aarch64-Cloud.qcow2", + ImageArchitecture: "arm64", + }, + &api.Metadata{ + Name: "opensuse-leap", + Version: "16.0", + Description: description, + ExampleUserData: docs.UserData{ + Username: "opensuse", + }, + Arch: "aarch64", + }, + ), Entry("leap:15.6 x86_64", "x86_64", "15.6", "testdata/openSUSE-Leap-15.6-Minimal-VM.x86_64-Cloud.qcow2.sha256", map[string]string{ common.DefaultInstancetypeEnv: "u1.medium", diff --git a/artifacts/opensuse/leap/testdata/Leap-16.0-Minimal-VM.aarch64-Cloud.qcow2.sha256 b/artifacts/opensuse/leap/testdata/Leap-16.0-Minimal-VM.aarch64-Cloud.qcow2.sha256 new file mode 100644 index 000000000..8403e41c9 --- /dev/null +++ b/artifacts/opensuse/leap/testdata/Leap-16.0-Minimal-VM.aarch64-Cloud.qcow2.sha256 @@ -0,0 +1 @@ +3fb04efe905b065c25ef1953ce0b53ec680ec661d919c413e2d25986296a0750 Leap-16.0-Minimal-VM.aarch64-Cloud.qcow2 diff --git a/artifacts/opensuse/leap/testdata/Leap-16.0-Minimal-VM.x86_64-Cloud.qcow2.sha256 b/artifacts/opensuse/leap/testdata/Leap-16.0-Minimal-VM.x86_64-Cloud.qcow2.sha256 new file mode 100644 index 000000000..d6dcc4311 --- /dev/null +++ b/artifacts/opensuse/leap/testdata/Leap-16.0-Minimal-VM.x86_64-Cloud.qcow2.sha256 @@ -0,0 +1 @@ +8a18cb174d783367e48d34e4e379c5e8f77b0868bcb09350e3627e40090f16fb Leap-16.0-Minimal-VM.x86_64-Cloud.qcow2 diff --git a/cmd/medius/common/registry.go b/cmd/medius/common/registry.go index b77729da5..037d5fba4 100644 --- a/cmd/medius/common/registry.go +++ b/cmd/medius/common/registry.go @@ -80,12 +80,19 @@ var staticRegistry = []Entry{ }, UseForDocs: true, }, + { + Artifacts: []api.Artifact{ + leap.New("x86_64", "16.0", defaultEnvVariables("u1.medium", "opensuse.leap")), + leap.New("aarch64", "16.0", defaultEnvVariables("u1.medium", "opensuse.leap")), + }, + UseForDocs: true, + UseForLatest: true, + }, { Artifacts: []api.Artifact{ leap.New("x86_64", "15.6", defaultEnvVariables("u1.medium", "opensuse.leap")), leap.New("aarch64", "15.6", defaultEnvVariables("u1.medium", "opensuse.leap")), }, - UseForDocs: true, }, { Artifacts: []api.Artifact{