fix: update components.json revisionless, so updates are simpler and easier - #9598
Nishchay (awesomenix) wants to merge 1 commit into
Conversation
Nishchay (awesomenix)
commented
Sep 20, 2026
- Converted supported DEB/RPM package entries in components.json from full distro versions such as 1.4.2-1.azl3 to revisionless upstream versions such as 1.4.2 .
- Updated Renovate to track upstream GitHub releases/tags rather than individual Ubuntu or Azure Linux package revisions. - Added DEB and RPM resolvers that select the newest repository revision matching the requested upstream version.
- Enforced version boundaries so 1.4.2 can match 1.4.2-10.azl3 but cannot match 1.4.20-* or 1.4.3-* .
- Applied revisionless resolution to Kubernetes packages, containerd/runc, networking, credential providers, secure TLS bootstrap, Inspektor Gadget, NVIDIA/DCGM packages, and node-exporter.
- Kept artifact-backed Windows, Flatcar, ACL, OSGuard, OCI, and sysext versions pinned where exact artifact versions remain necessary.
- Kept ig-gadgets on PMC DEB/RPM Renovate sources and added build-time selection of its newest matching package revision.
- Added explicit requested -> resolved full package version logging to console and Linux VHD release notes.
- Updated VHD content tests to accept distro revisions while still verifying the exact upstream version and preventing patch-prefix mismatches.
Windows Unit Test Results 3 files 17 suites 58s ⏱️ Results for commit 97d0fc5. ♻️ This comment has been updated with latest results. |
2835d74 to
a67162d
Compare
There was a problem hiding this comment.
Copilot review overview
🟡 Changes recommended
Runtime logging can create the VHD marker, runc fallback remains prefix-unbounded, and an existing Inspektor Gadget test is broken.
Get a fresh assessment by requesting another Copilot review.
Review effort: Balanced
Findings: 4
Open (4)
What changed in this PR
Converts Linux package definitions from distro-specific revisions to upstream versions, resolving the latest matching DEB/RPM revision during build or provisioning.
Changes:
- Adds bounded DEB/RPM version resolution and release-note logging.
- Updates component metadata and Renovate to track upstream releases.
- Extends package-version validation and resolver tests.
Package Update Analysis
No upstream component versions change; distro revision pins are removed across Ubuntu, Mariner, and Azure Linux. Overall risk is high because resolution affects critical runtime, Kubernetes, networking, and GPU packages.
| File | Description |
|---|---|
.github/renovate.json |
Tracks upstream GitHub releases and tags. |
parts/common/components.json |
Replaces package revisions with upstream versions. |
parts/linux/cloud-init/artifacts/README-COMPONENTS.md |
Documents revisionless resolution. |
parts/linux/cloud-init/artifacts/ubuntu/cse_install_ubuntu.sh |
Adds DEB resolution and logging. |
parts/linux/cloud-init/artifacts/mariner/cse_install_mariner.sh |
Adds RPM resolution and logging. |
spec/parts/linux/cloud-init/artifacts/cse_install_ubuntu_spec.sh |
Tests DEB resolution. |
spec/parts/linux/cloud-init/artifacts/cse_install_mariner_spec.sh |
Tests RPM resolution. |
vhdbuilder/packer/install-dependencies.sh |
Resolves CNI and cached package revisions. |
vhdbuilder/packer/install-ig.sh |
Resolves Inspektor Gadget package revisions. |
vhdbuilder/packer/install-node-exporter.sh |
Resolves node-exporter package revisions. |
vhdbuilder/packer/test/linux-vhd-content-test.sh |
Accepts bounded distro revisions. |
💡 Configure MCP servers for context-aware, tailored reviews. Learn more in the docs.
| "renovateTag": "github-releases=inspektor-gadget/inspektor-gadget", | ||
| "latestVersion": "0.56.0" |
| if [ -n "${VHD_LOGS_FILEPATH:-}" ]; then | ||
| echo " - ${packageName} package version ${fullPackageVersion} (requested ${requestedVersion})" >> "${VHD_LOGS_FILEPATH}" | ||
| fi |
| if [ -n "${VHD_LOGS_FILEPATH:-}" ]; then | ||
| echo " - ${packageName} package version ${fullPackageVersion} (requested ${requestedVersion})" >> "${VHD_LOGS_FILEPATH}" | ||
| fi |
| while IFS= read -r file; do | ||
| RUNC_DEB_FILES+=("$file") | ||
| done < <(find "${RUNC_DOWNLOADS_DIR}" -type f -iname "${RUNC_DEB_PATTERN}" 2>/dev/null) | ||
| done < <(find "${RUNC_DOWNLOADS_DIR}" -type f -iname "${RUNC_DEB_PATTERN}" 2>/dev/null | grep -E "moby-runc_${TARGET_VERSION}([^0-9]|$)") |
There was a problem hiding this comment.
Copilot review overview
🟡 Changes recommended
Containerd can retain stale revisions, runc fallback matching is unsafe, and Ubuntu 26.04 DCGM packages remain unmanaged by Renovate.
Get a fresh assessment by requesting another Copilot review.
Review effort: Balanced
Findings: 5
Open (6)
Resolve full EVR before comparing installed containerd version · New Install exact VHD package version when cache entry is missing Avoid creating VHD completion marker on non-VHD installs Prevent VHD marker creation during normal CSE installs Update IG version test for new GitHub tag format Add Renovate discovery for Ubuntu 26.04 DCGM packages · New
| if [[ "${desiredVersion}" =~ ^[0-9]+\.[0-9]+\.[0-9]+$ ]]; then | ||
| fullPackageVersion=$(getLatestRPMPackageVersion "${containerdPackageName}" "${desiredVersion}") |
| "custom.nvidia-deb2204", | ||
| "custom.nvidia-deb2404", | ||
| "custom.nvidia-rpm-azl3", |
…easier • Converted supported DEB/RPM package entries in components.json from full distro versions such as 1.4.2-1.azl3 to revisionless upstream versions such as 1.4.2 . • Updated Renovate to track upstream GitHub releases/tags rather than individual Ubuntu or Azure Linux package revisions. • Added DEB and RPM resolvers that select the newest repository revision matching the requested upstream version. • Enforced version boundaries so 1.4.2 can match 1.4.2-10.azl3 but cannot match 1.4.20-* or 1.4.3-* . • Applied revisionless resolution to Kubernetes packages, containerd/runc, networking, credential providers, secure TLS bootstrap, Inspektor Gadget, NVIDIA/DCGM packages, and node-exporter. • Kept artifact-backed Windows, Flatcar, ACL, OSGuard, OCI, and sysext versions pinned where exact artifact versions remain necessary. • Kept ig-gadgets on PMC DEB/RPM Renovate sources and added build-time selection of its newest matching package revision. • Added explicit requested -> resolved full package version logging to console and Linux VHD release notes. • Updated VHD content tests to accept distro revisions while still verifying the exact upstream version and preventing patch-prefix mismatches.
a67162d to
97d0fc5
Compare
|
There was a problem hiding this comment.
Copilot review overview
🔵 Needs a closer look
Runc can select a longer patch version, and RPM containerd resolution can be skipped when an older revision shares the requested upstream version.
Review effort: Balanced
Findings: 5
Open (6)
Resolve full EVR before comparing installed containerd version Install exact VHD package version when cache entry is missing Avoid creating VHD completion marker on non-VHD installs Prevent VHD marker creation during normal CSE installs Update IG version test for new GitHub tag format Add Renovate discovery for Ubuntu 26.04 DCGM packages

