Skip to content

Conversation

@clebergnu
Copy link
Contributor

@clebergnu clebergnu commented Sep 15, 2025

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

    • Expanded OpenSUSE VM image support: detects both JeOS and Minimal-VM flavors and no longer requires the OpenStack suffix, improving image discovery for build and non-build artifacts.
  • Tests

    • Updated OpenSUSE version matrix: removed 15.2; added 15.4, 15.5, 15.6 (15.3 retained).
    • Adjusted selftest expectations: vmimage-variants test count updated from 248 to 256.

@clebergnu clebergnu added this to the 112 - Codename TBD milestone Sep 15, 2025
@clebergnu clebergnu self-assigned this Sep 15, 2025
@mr-avocado
Copy link

mr-avocado bot commented Sep 15, 2025

Dear contributor,
Avocado is currently at the end of sprint 112, therefore we are in feature freeze state.
Please avoid merging changes that do not fall into these categories:

Bug fixes
Documentation updates

The feature freeze will be active until the release planned on September 8, 2025.

@coderabbitai
Copy link

coderabbitai bot commented Sep 15, 2025

📝 Walkthrough

Walkthrough

OpenSUSE 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

Cohort / File(s) Summary
VM image pattern updates
avocado/utils/vmimage.py
Broadened OpenSUSE image_pattern strings: accept JeOS or Minimal-VM and make the -OpenStack segment optional for both non-build (-Cloud.qcow2) and build (-Cloud-Build...) variants. No other logic changes.
Selftests variants maintenance
selftests/vmimage/variants/vmimage.py.data/variants.yml
Updated distro.opensuse.version mapping: removed 15.2; added 15.4, 15.5, 15.6; retained 15.3.
Test size constant update
selftests/check.py
Updated TEST_SIZE entry: vmimage-variants value changed from 248 to 256. No other control-flow changes.

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~20 minutes

Pre-merge checks

❌ Failed checks (1 warning)
Check name Status Explanation Resolution
Docstring Coverage ⚠️ Warning Docstring coverage is 0.00% which is insufficient. The required threshold is 80.00%. You can run @coderabbitai generate docstrings to improve docstring coverage.
✅ Passed checks (2 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title Check ✅ Passed The title clearly and concisely states the primary intent: updating vmimage support for OpenSUSE LEAP 15.x releases that are not EOL, which matches the PR objective and the changes in the raw summary (removal of 15.2 and adjustments for remaining 15.x versions and image patterns). It is specific to the main change and avoids noisy file lists or vague wording. Therefore the title accurately summarizes the most important change from the developer's perspective.

📜 Recent review details

Configuration used: CodeRabbit UI

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between d18c36d and e3dcde7.

📒 Files selected for processing (3)
  • avocado/utils/vmimage.py (1 hunks)
  • selftests/check.py (1 hunks)
  • selftests/vmimage/variants/vmimage.py.data/variants.yml (1 hunks)
🚧 Files skipped from review as they are similar to previous changes (1)
  • avocado/utils/vmimage.py
⏰ 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)
  • 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:fedora-41-x86_64
  • GitHub Check: rpm-build:fedora-41-s390x
  • GitHub Check: rpm-build:fedora-43-x86_64
  • GitHub Check: rpm-build:epel-9-x86_64
  • GitHub Check: rpm-build:fedora-41-ppc64le
  • GitHub Check: rpm-build:fedora-41-aarch64
  • GitHub Check: rpm-build:fedora-rawhide-x86_64
  • GitHub Check: rpm-build:centos-stream-9-x86_64
  • GitHub Check: rpm-build:fedora-42-x86_64
  • 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: Fedora selftests
  • GitHub Check: Egg task debian:12.4
  • GitHub Check: Podman spawner with 3rd party runner plugin
  • GitHub Check: Egg task ubi:9.2
  • GitHub Check: Egg task ubuntu:24.04
  • GitHub Check: Egg task ubuntu:22.04
  • GitHub Check: Version task ubuntu:22.04
  • GitHub Check: Windows with Python 3.13
  • GitHub Check: Version task debian:12.4
  • GitHub Check: Smokecheck on Linux with Python 3.10
  • GitHub Check: Smokecheck on Linux with Python 3.11
  • GitHub Check: Version task ubi:8.8
  • GitHub Check: Static checks
  • GitHub Check: macOS with Python 3.11
  • GitHub Check: Code Coverage (3.11)
  • GitHub Check: Code Coverage (3.11)
🔇 Additional comments (1)
selftests/check.py (1)

40-40: Recalculate vmimage-variants size after trimming Leap to supported minors.

If you drop EOL Leap 15.3/15.4/15.5 in variants.yml (recommended), 256 will no longer match the generated suite size. Please re-run the suite locally and update this constant to the new count to avoid false failures in the size check.

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.py
selftests/check.py

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@mr-avocado mr-avocado bot moved this to Review Requested in Default project Sep 15, 2025
Copy link

@coderabbitai coderabbitai bot left a 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

📥 Commits

Reviewing files that changed from the base of the PR and between 3e0d672 and d18c36d.

📒 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)

Comment on lines +430 to 432
"openSUSE-Leap-(?P<version>{version})-(JeOS|Minimal-VM).(?P<arch>{arch})-{version}"
"(-OpenStack)?-Cloud-Build(?P<build>{build}).qcow2$"
)
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue

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.

Suggested change
"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.

Comment on lines 88 to +95
15.3:
version: 15.3
15.4:
version: 15.4
15.5:
version: 15.5
15.6:
version: 15.6
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue

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.

Suggested change
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
Copy link

codecov bot commented Sep 15, 2025

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 74.51%. Comparing base (3e0d672) to head (e3dcde7).
⚠️ Report is 42 commits behind head on master.

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.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

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]>
@clebergnu clebergnu force-pushed the vmimage_opensuse_leap_15 branch from d18c36d to e3dcde7 Compare September 16, 2025 11:31
@richtja richtja merged commit e9b268f into avocado-framework:master Sep 16, 2025
65 checks passed
@github-project-automation github-project-automation bot moved this from Review Requested to Done 112 in Default project Sep 16, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Status: Done 112

Development

Successfully merging this pull request may close these issues.

2 participants