Skip to content

Extensions package data not displayed due to regex mismatch with new CoreOS display name format #738

@cverna

Description

@cverna

Summary

Extensions package version data is missing/not loading on the release controller page for OCP 4.22+ nightly releases starting around March 3-4, 2026.

Reported via

Ask Support for RHEL CoreOS - Extensions data used to show which RPMs were included on the release controller page, but it's missing/not loading now.

Affected Releases

  • Broken: 4.22.0-0.nightly-2026-03-04-154138 and later
  • Working: 4.22.0-0.nightly-2026-03-02-153725 and earlier

Root Cause

The regex patterns in pkg/rhcos/rhcos.go don't match the new CoreOS version display format that was introduced after openshift/oc#2215 was merged (March 3, 2026).

The release-controller's tools image was bumped to 4.23 in PR #732 (merged March 4, 2026), which includes the new oc with updated display name handling.

Old format (matched):

* Red Hat Enterprise Linux CoreOS upgraded from 9.8.20260312-0 to 9.8.20260227-0

New format (NOT matched):

* Red Hat Enterprise Linux CoreOS 9.8 upgraded from 9.8.20260305-0 to 9.8.20260312-0

The key difference is the addition of 9.8 (the RHEL version) after "CoreOS" and before "upgraded from".

Affected Code

pkg/rhcos/rhcos.go:

reMdRHCoSDiff    = regexp.MustCompile(`\* Red Hat Enterprise Linux CoreOS upgraded from ((\d+)\.[\w\.\-]+) to ((\d+)\.[\w\.\-]+)\n`)
reMdRHCoSVersion = regexp.MustCompile(`\* Red Hat Enterprise Linux CoreOS ((\d+)\.[\w\.\-]+)\n`)

Impact

When the regex fails to match:

  1. transformCoreOSUpgradeLinks() is not called
  2. The CoreOS links are not generated
  3. The "Node Image Info" section is not rendered
  4. Extensions package data is not displayed

Proposed Fix

Update the regex patterns to optionally match the RHEL version number:

// Handle both old format (no RHEL version) and new format (with RHEL version like "9.8")
reMdRHCoSDiff    = regexp.MustCompile(`\* Red Hat Enterprise Linux CoreOS( \d+\.\d+)? upgraded from ((\d+)\.[\w\.\-]+) to ((\d+)\.[\w\.\-]+)\n`)
reMdRHCoSVersion = regexp.MustCompile(`\* Red Hat Enterprise Linux CoreOS( \d+\.\d+)? ((\d+)\.[\w\.\-]+)\n`)

Note: The capture group indices in transformCoreOSUpgradeLinks() and transformCoreOSLinks() will need to be adjusted accordingly.

How to Verify

Compare these two release pages:

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions