-
Notifications
You must be signed in to change notification settings - Fork 364
vmimage: support the non EOL'd 15.x OpenSUSE LEAP versions #6219
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
vmimage: support the non EOL'd 15.x OpenSUSE LEAP versions #6219
Conversation
|
Dear contributor, The feature freeze will be active until the release planned on September 8, 2025. |
📝 WalkthroughWalkthroughOpenSUSE VM image regexes were broadened to match JeOS or Minimal-VM and make an optional -OpenStack segment for both build and non-build variants. The opensuse versions list in selftests variants was adjusted (removed 15.2, added 15.4/15.5/15.6). A test size constant for vmimage-variants was updated. Changes
Estimated code review effort🎯 3 (Moderate) | ⏱️ ~20 minutes Pre-merge checks❌ Failed checks (1 warning)
✅ Passed checks (2 passed)
📜 Recent review detailsConfiguration used: CodeRabbit UI Review profile: CHILL Plan: Pro 📒 Files selected for processing (3)
🚧 Files skipped from review as they are similar to previous changes (1)
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (41)
🔇 Additional comments (1)
Warning There were issues while running some tools. Please review the errors and either fix the tool's configuration or disable the tool if it's a critical failure. 🔧 Pylint (3.3.7)avocado/utils/vmimage.pyselftests/check.pyThanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 2
🧹 Nitpick comments (1)
avocado/utils/vmimage.py (1)
426-426: Escape the dot before arch to avoid over‑matching.Use a literal “.” between flavor and arch, matching filenames like “…JeOS.x86_64…/…Minimal‑VM.aarch64…”. This makes the non‑build pattern precise without changing behavior. (download.opensuse.org)
Apply this diff:
- self.image_pattern = "openSUSE-Leap-(?P<version>{version})-(JeOS|Minimal-VM).(?P<arch>{arch})(-OpenStack)?-Cloud.qcow2$" + self.image_pattern = "openSUSE-Leap-(?P<version>{version})-(JeOS|Minimal-VM)\\.(?P<arch>{arch})(-OpenStack)?-Cloud.qcow2$"
📜 Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro
📒 Files selected for processing (2)
avocado/utils/vmimage.py(1 hunks)selftests/vmimage/variants/vmimage.py.data/variants.yml(1 hunks)
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (47)
- GitHub Check: rpm-build:fedora-41-aarch64
- GitHub Check: rpm-build:fedora-41-s390x
- GitHub Check: rpm-build:fedora-41-ppc64le
- GitHub Check: rpm-build:centos-stream-9-x86_64
- GitHub Check: rpm-build:fedora-rawhide-x86_64
- GitHub Check: rpm-build:fedora-42-x86_64
- GitHub Check: rpm-build:epel-9-x86_64
- GitHub Check: rpm-build:fedora-41-x86_64
- GitHub Check: rpm-build:fedora-43-x86_64
- GitHub Check: rpm-build:epel-9-x86_64
- GitHub Check: rpm-build:fedora-41-s390x
- GitHub Check: rpm-build:fedora-41-x86_64
- GitHub Check: rpm-build:fedora-42-x86_64
- GitHub Check: rpm-build:centos-stream-9-x86_64
- GitHub Check: rpm-build:fedora-rawhide-x86_64
- GitHub Check: rpm-build:fedora-41-aarch64
- GitHub Check: rpm-build:fedora-43-x86_64
- GitHub Check: rpm-build:fedora-41-ppc64le
- GitHub Check: rpm-build:centos-stream-9-x86_64
- GitHub Check: rpm-build:fedora-43-x86_64
- GitHub Check: rpm-build:fedora-41-x86_64
- GitHub Check: rpm-build:epel-9-x86_64
- GitHub Check: rpm-build:fedora-42-x86_64
- GitHub Check: rpm-build:fedora-41-aarch64
- GitHub Check: rpm-build:fedora-rawhide-x86_64
- GitHub Check: rpm-build:fedora-41-ppc64le
- GitHub Check: rpm-build:fedora-41-s390x
- GitHub Check: Egg task ubi:8.8
- GitHub Check: Egg task fedora:41
- GitHub Check: Egg task fedora:40
- GitHub Check: Egg task ubuntu:24.04
- GitHub Check: Fedora selftests
- GitHub Check: Egg task ubuntu:22.04
- GitHub Check: Egg task ubi:9.2
- GitHub Check: Egg task debian:11.0
- GitHub Check: Podman Egg task
- GitHub Check: Version task ubuntu:22.04
- GitHub Check: Version task debian:11.0
- GitHub Check: Version task ubi:8.8
- GitHub Check: Build Package (wheel/tarball) for Python 3.9
- GitHub Check: Smokecheck on Linux with Python 3.11
- GitHub Check: Version task debian:12.4
- GitHub Check: Smokecheck on Linux with Python 3.10
- GitHub Check: Static checks
- GitHub Check: macOS with Python 3.11
- GitHub Check: Code Coverage (3.11)
- GitHub Check: Code Coverage (3.11)
| "openSUSE-Leap-(?P<version>{version})-(JeOS|Minimal-VM).(?P<arch>{arch})-{version}" | ||
| "(-OpenStack)?-Cloud-Build(?P<build>{build}).qcow2$" | ||
| ) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Build regex misses the “.0” in Leap file names; won’t match Cloud‑Build images.
Current build pattern requires “-{version}-Cloud-Build…”, but Leap 15.x images include “-{version}.0-Cloud-Build…”, e.g., openSUSE-Leap-15.6-Minimal-VM.aarch64-15.6.0-Cloud-Build16.32.qcow2. Allow an optional “.0” (or dot+digits) after {version}. (download.opensuse.org)
Apply this diff:
- self.image_pattern = (
- "openSUSE-Leap-(?P<version>{version})-(JeOS|Minimal-VM).(?P<arch>{arch})-{version}"
- "(-OpenStack)?-Cloud-Build(?P<build>{build}).qcow2$"
- )
+ self.image_pattern = (
+ "openSUSE-Leap-(?P<version>{version})-(JeOS|Minimal-VM)\\.(?P<arch>{arch})-{version}"
+ "(?:\\.\\d+)?(-OpenStack)?-Cloud-Build(?P<build>{build}).qcow2$"
+ )📝 Committable suggestion
‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.
| "openSUSE-Leap-(?P<version>{version})-(JeOS|Minimal-VM).(?P<arch>{arch})-{version}" | |
| "(-OpenStack)?-Cloud-Build(?P<build>{build}).qcow2$" | |
| ) | |
| self.image_pattern = ( | |
| "openSUSE-Leap-(?P<version>{version})-(JeOS|Minimal-VM)\\.(?P<arch>{arch})-{version}" | |
| "(?:\\.\\d+)?(-OpenStack)?-Cloud-Build(?P<build>{build}).qcow2$" | |
| ) |
🤖 Prompt for AI Agents
In avocado/utils/vmimage.py around lines 430-432, the filename regex requires
"-{version}-Cloud-Build..." but Leap images include a dot and extra digits after
the version (e.g. "15.6.0"); update the pattern to allow an optional ".<digits>"
after {version} before the "-Cloud-Build" piece. Concretely, insert a
non-capturing optional group like (?:\.\d+)? immediately after the {version}
token in the regex so it matches both "...-{version}-Cloud-Build..." and
"...-{version}.0-Cloud-Build..." variants.
| 15.3: | ||
| version: 15.3 | ||
| 15.4: | ||
| version: 15.4 | ||
| 15.5: | ||
| version: 15.5 | ||
| 15.6: | ||
| version: 15.6 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Limit opensuse variants to non‑EOL Leap: drop 15.3/15.4/15.5, keep 15.6 only.
As of September 15, 2025, Leap 15.3 (EOL Jan 2023), 15.4 (EOL Dec 2023) and 15.5 (EOL Dec 31, 2024) are end‑of‑life. Leap 15.6 is still supported (projected through Dec 31, 2025; roadmap suggests a plan to extend to Apr 30, 2026). Keeping EOL entries contradicts the PR objective and may break image fetches. (endoflife.date)
Apply this diff to reflect only the non‑EOL Leap 15.x:
version: !mux
- 15.3:
- version: 15.3
- 15.4:
- version: 15.4
- 15.5:
- version: 15.5
- 15.6:
- version: 15.6
+ 15.6:
+ version: 15.6📝 Committable suggestion
‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.
| 15.3: | |
| version: 15.3 | |
| 15.4: | |
| version: 15.4 | |
| 15.5: | |
| version: 15.5 | |
| 15.6: | |
| version: 15.6 | |
| 15.6: | |
| version: 15.6 |
🤖 Prompt for AI Agents
In selftests/vmimage/variants/vmimage.py.data/variants.yml around lines 88 to
95, the YAML currently lists Leap 15.3, 15.4 and 15.5 which are EOL and must be
removed; update this block to only include the supported 15.6 entry (version:
15.6) with the same indentation and YAML structure so the file contains only the
non‑EOL Leap 15.x variant; ensure no leftover keys or blank entries remain and
preserve surrounding formatting.
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## master #6219 +/- ##
==========================================
+ Coverage 73.24% 74.51% +1.26%
==========================================
Files 206 206
Lines 22485 22485
==========================================
+ Hits 16469 16754 +285
+ Misses 6016 5731 -285 ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
The LEAP 15.2 version has been EOL'd and removed from the website. The other versions suffered a few naming adjustments, which this covers. Signed-off-by: Cleber Rosa <[email protected]>
d18c36d to
e3dcde7
Compare
The LEAP 15.2 version has been EOL'd and removed from the website. The other versions suffered a few naming adjustments, which this covers.
Summary by CodeRabbit
New Features
Tests