posit-dev / posit-dev/images-shared

RHEL 10 falls through to `multi` in `_parse_download_json_os_identifier` for Connect and Package Manager

Open
#699 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

cvp:0 docker tdp:2
Dominant language
Python
Stars
2
Forks
0
Avg merge
4d 13h
Merged PRs (30d)
22

Description

Problem

_parse_download_json_os_identifier (posit_bakery/config/image/posit_product/main.py) hardcodes RHEL-family version handling per product and silently falls through to a "multi" OS identifier for RHEL 10 in two of three branches:

  • ProductEnum.CONNECT: handles versions 8 (redhat8) and 9 (rhel9); nothing for 10.
  • ProductEnum.PACKAGE_MANAGER: handles versions 7 (rhel7_64), 8 (fedora28), 9 (rhel9); nothing for 10.
  • ProductEnum.WORKBENCH/WORKBENCH_SESSION: already generic ("rhel" + _os.version), unaffected.

The fallthrough means the release-channel resolver silently looks up the wrong download_json_os key when fetching version/download-URL metadata for a RHEL 10 build, instead of failing loudly.

Where

  • posit_bakery/config/image/posit_product/main.py:296-334 (_parse_download_json_os_identifier)

Why fix it here, not in each product repo

images-package-manager#130 already plans to patch the PACKAGE_MANAGER branch as part of its own RHEL 10 (UBI) work. This file is shared library code in images-shared (posit-bakery), consumed by every product repo — patching only the PACKAGE_MANAGER branch there doesn't help images-connect#143, which will independently hit the identical fallthrough for the CONNECT branch and need the same file patched again, plus a new posit-bakery release either way. Fixing both branches together here avoids that duplication.

Note

Package Manager's own version-to-identifier mapping isn't a clean function of version number (rhel7_64, fedora28, rhel9), so this likely isn't a one-line elif. Confirm what identifier Connect's and Package Manager's downloads.json actually publish for RHEL 10 once artifacts exist there, for both branches, before wiring in a value.

Related

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start in posit_bakery/config/image/posit_product/main.py at _parse_download_json_os_identifier, focusing on the CONNECT and PACKAGE_MANAGER branches. Confirm the RHEL 10 identifiers published in each product's downloads.json, then update both mappings and verify that RHEL 10 no longer falls through to "multi" during release-channel resolution.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
devops
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
45/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.