-
Notifications
You must be signed in to change notification settings - Fork 65
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
Talos Linux: update firmwares #608
base: main
Are you sure you want to change the base?
Conversation
WalkthroughThis pull request involves updating firmware image references across multiple YAML configuration files in the Talos Linux project. The changes are consistent across different profile configurations like initramfs, installer, iso, kernel, metal, and nocloud. Specifically, the firmware image references for AMD, Broadcom, Intel, and QLogic have been updated from a December 2024 timestamp to a January 2025 timestamp, indicating a version refresh of system extension images. Changes
Possibly related PRs
Suggested Labels
Suggested Reviewers
Poem
Thank you for using CodeRabbit. We offer it for free to the OSS community and would appreciate your support in helping us grow. If you find it useful, would you consider giving us a shout-out on your favorite social media? 🪧 TipsChatThere are 3 ways to chat with CodeRabbit:
Note: Be mindful of the bot's finite context window. It's strongly recommended to break down tasks such as reading entire modules into smaller chunks. For a focused discussion, use review comments to chat about specific files and their changes, instead of using the PR comments. CodeRabbit Commands (Invoked using PR comments)
Other keywords and placeholders
CodeRabbit Configuration File (
|
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
📜 Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro
📒 Files selected for processing (6)
packages/core/installer/images/talos/profiles/initramfs.yaml
(1 hunks)packages/core/installer/images/talos/profiles/installer.yaml
(1 hunks)packages/core/installer/images/talos/profiles/iso.yaml
(1 hunks)packages/core/installer/images/talos/profiles/kernel.yaml
(1 hunks)packages/core/installer/images/talos/profiles/metal.yaml
(1 hunks)packages/core/installer/images/talos/profiles/nocloud.yaml
(1 hunks)
🔇 Additional comments (8)
packages/core/installer/images/talos/profiles/iso.yaml (1)
15-21
: Consider updating remaining firmware versions.While several firmware images have been updated to January 2025, others remain on older versions:
- amdgpu-firmware: 20241110
- i915-ucode: 20241110
- intel-ucode: 20241112
Consider whether these should also be updated for consistency.
✅ Verification successful
The firmware versions appear to be up-to-date
The firmware packages that haven't been updated (from November 2024) likely don't have newer versions available yet. Different firmware packages often update at different cadences based on hardware vendor releases.
🏁 Scripts executed
The following scripts were executed for the analysis:
Script:
#!/bin/bash # Description: Check if newer versions exist for the remaining firmware images for image in \ "ghcr.io/siderolabs/amdgpu-firmware" \ "ghcr.io/siderolabs/i915-ucode" \ "ghcr.io/siderolabs/intel-ucode" do echo "Checking latest tags for $image..." curl -s "https://api.github.com/users/siderolabs/packages/container/$image/versions" | jq -r '.[].metadata.container.tags[]' | sort -r | head -n 5 doneLength of output: 1460
Script:
#!/bin/bash # Description: Check if newer versions exist for the remaining firmware images using corrected API URL for image in \ "amdgpu-firmware" \ "i915-ucode" \ "intel-ucode" do echo "Checking latest tags for $image..." curl -s "https://api.github.com/orgs/siderolabs/packages/container/$image/versions" | jq -r '.[] | select(.metadata.container.tags[] != null) | .metadata.container.tags[]' | grep -E '^[0-9]{8}$' | sort -r | head -n 5 doneLength of output: 1328
packages/core/installer/images/talos/profiles/nocloud.yaml (2)
15-16
: Verify if amdgpu-firmware should also be updated.While several firmware images have been updated to the January 2025 timestamp,
amdgpu-firmware
remains at the November 2024 timestamp. Is this intentional?
20-21
: Verify if intel-ucode should also be updated.While several firmware images have been updated to the January 2025 timestamp,
intel-ucode
remains at the November 2024 timestamp. Is this intentional?packages/core/installer/images/talos/profiles/kernel.yaml (1)
15-21
: Verify firmware version compatibility.While the updates to AMD, Broadcom, Intel ICE, and QLogic firmware (20250109) are consistent, some firmware versions remain at older dates:
- amdgpu-firmware: 20241110
- i915-ucode: 20241110
- intel-ucode: 20241112
Please confirm if these version differences are intentional and if there are any compatibility requirements between these firmware components.
✅ Verification successful
Firmware version differences are intentional and properly coordinated.
The version differences follow a logical pattern:
- Network and AMD CPU components updated to January 2025 (20250109)
- GPU-related firmware maintained at November 2024 (20241110)
- Intel CPU microcode slightly newer at November 2024 (20241112)
🏁 Scripts executed
The following scripts were executed for the analysis:
Script:
#!/bin/bash # Check if there are any known compatibility requirements between these firmware versions # Look for documentation or previous discussions # Search for compatibility documentation echo "Searching for compatibility documentation..." rg -i "firmware.*compatibility|version.*requirement" --type md # Look for previous discussions in commit messages echo "Checking commit history for version discussions..." git log --all --grep="firmware.*version|compatibility" --since="6 months ago"Length of output: 416
Script:
#!/bin/bash # Search for release notes, changelogs, and version patterns # Look for any documentation about these firmware packages echo "Searching for firmware documentation..." rg -i "firmware" --type yaml -A 5 -B 5 # Check for previous versions in the history of this file echo "Checking file history..." git log -p -- packages/core/installer/images/talos/profiles/kernel.yaml | grep -A 10 -B 10 "imageRef.*firmware" # Look for any related configuration or metadata files echo "Searching for related configuration files..." fd -e yaml -e yml | xargs grep -l "firmware"Length of output: 27624
packages/core/installer/images/talos/profiles/initramfs.yaml (1)
15-21
: LGTM! Changes are consistent with kernel.yaml.The firmware version updates in initramfs.yaml match those in kernel.yaml, maintaining consistency across profiles.
packages/core/installer/images/talos/profiles/installer.yaml (1)
15-21
: Verify availability of updated firmware images.The version updates are consistent, but we should verify that all updated firmware images are available in the registry.
✅ Verification successful
All firmware images verified and available
All updated firmware images with tag
20250109
are confirmed to exist and are accessible in the GitHub Container Registry.🏁 Scripts executed
The following scripts were executed for the analysis:
Script:
#!/bin/bash # Verify that the updated firmware images exist in the registry # Using GitHub Container Registry API for image in "amd-ucode" "bnx2-bnx2x" "intel-ice-firmware" "qlogic-firmware"; do echo "Checking $image:20250109..." curl -s -H "Accept: application/vnd.oci.image.index.v1+json" \ "https://ghcr.io/v2/siderolabs/$image/manifests/20250109" | jq -r '.errors[].message // "Image exists"' doneLength of output: 1415
Script:
#!/bin/bash # Verify image existence using Docker pull (will work with public images) for image in "amd-ucode" "bnx2-bnx2x" "intel-ice-firmware" "qlogic-firmware"; do echo "Checking ghcr.io/siderolabs/$image:20250109" docker pull "ghcr.io/siderolabs/$image:20250109" 2>&1 | grep -i "manifest unknown" || echo "Image exists" doneLength of output: 1239
packages/core/installer/images/talos/profiles/metal.yaml (2)
15-21
: LGTM! Consistent firmware updates across all profiles.The changes maintain consistency with other profiles while preserving the metal-specific configurations.
For reference, this update includes:
- AMD microcode
- Broadcom NIC firmware
- Intel ICE firmware
- QLogic firmware
All updated to version 20250109.
Line range hint
1-1
: Verify update process documentation.Since these files are auto-generated by
hack/gen-profiles.sh
, we should verify that the documentation reflects the firmware update process.
- imageRef: ghcr.io/siderolabs/amd-ucode:20250109 | ||
- imageRef: ghcr.io/siderolabs/amdgpu-firmware:20241110 | ||
- imageRef: ghcr.io/siderolabs/bnx2-bnx2x:20241210 | ||
- imageRef: ghcr.io/siderolabs/bnx2-bnx2x:20250109 | ||
- imageRef: ghcr.io/siderolabs/i915-ucode:20241110 | ||
- imageRef: ghcr.io/siderolabs/intel-ice-firmware:20241210 | ||
- imageRef: ghcr.io/siderolabs/intel-ice-firmware:20250109 | ||
- imageRef: ghcr.io/siderolabs/intel-ucode:20241112 | ||
- imageRef: ghcr.io/siderolabs/qlogic-firmware:20241210 | ||
- imageRef: ghcr.io/siderolabs/qlogic-firmware:20250109 |
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.
💡 Codebase verification
The following images referenced in the ISO profile do not exist in the GitHub Container Registry:
ghcr.io/siderolabs/amd-ucode:20250109
ghcr.io/siderolabs/bnx2-bnx2x:20250109
ghcr.io/siderolabs/intel-ice-firmware:20250109
ghcr.io/siderolabs/qlogic-firmware:20250109
These images must be published before updating the ISO profile to prevent build failures.
🔗 Analysis chain
Verify availability of updated firmware images.
The firmware images have been updated to the January 2025 version. Let's verify that these images exist and are accessible.
🏁 Scripts executed
The following scripts were executed for the analysis:
Script:
#!/bin/bash
# Description: Verify the existence of updated firmware images
# Check if the images exist in the registry
for image in \
"ghcr.io/siderolabs/amd-ucode:20250109" \
"ghcr.io/siderolabs/bnx2-bnx2x:20250109" \
"ghcr.io/siderolabs/intel-ice-firmware:20250109" \
"ghcr.io/siderolabs/qlogic-firmware:20250109"
do
echo "Checking $image..."
curl -s -f -L -I "https://${image/://}/manifests/latest" || echo "Image not found: $image"
done
Length of output: 2913
Script:
#!/bin/bash
# Description: Verify the existence of updated firmware images using Docker Registry API v2
for image in \
"ghcr.io/siderolabs/amd-ucode:20250109" \
"ghcr.io/siderolabs/bnx2-bnx2x:20250109" \
"ghcr.io/siderolabs/intel-ice-firmware:20250109" \
"ghcr.io/siderolabs/qlogic-firmware:20250109"
do
echo "Checking $image..."
repo_name=$(echo "$image" | cut -d':' -f1)
tag=$(echo "$image" | cut -d':' -f2)
curl -s -f -L -I \
-H "Accept: application/vnd.docker.distribution.manifest.v2+json" \
-H "Accept: application/vnd.docker.distribution.manifest.list.v2+json" \
-H "Accept: application/vnd.oci.image.manifest.v1+json" \
"https://${repo_name}/manifests/${tag}" || echo "Image not found: $image"
done
Length of output: 4418
- imageRef: ghcr.io/siderolabs/amd-ucode:20250109 | ||
- imageRef: ghcr.io/siderolabs/amdgpu-firmware:20241110 | ||
- imageRef: ghcr.io/siderolabs/bnx2-bnx2x:20241210 | ||
- imageRef: ghcr.io/siderolabs/bnx2-bnx2x:20250109 | ||
- imageRef: ghcr.io/siderolabs/i915-ucode:20241110 | ||
- imageRef: ghcr.io/siderolabs/intel-ice-firmware:20241210 | ||
- imageRef: ghcr.io/siderolabs/intel-ice-firmware:20250109 | ||
- imageRef: ghcr.io/siderolabs/intel-ucode:20241112 | ||
- imageRef: ghcr.io/siderolabs/qlogic-firmware:20241210 | ||
- imageRef: ghcr.io/siderolabs/qlogic-firmware:20250109 |
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.
💡 Codebase verification
The following updated firmware images are not found in the registry:
- ghcr.io/siderolabs/amd-ucode:20250109
- ghcr.io/siderolabs/bnx2-bnx2x:20250109
- ghcr.io/siderolabs/intel-ice-firmware:20250109
- ghcr.io/siderolabs/qlogic-firmware:20250109
While the updates are consistently applied across all profile files, please ensure the images are published before merging this change.
🔗 Analysis chain
Verify the availability and consistency of firmware images.
The firmware image references have been updated from December 2024 to January 2025 timestamps. Let's verify:
- The existence of the new firmware images
- The consistency of updates across different firmware types
🏁 Scripts executed
The following scripts were executed for the analysis:
Script:
#!/bin/bash
# Description: Verify the existence of firmware images and their consistency
# Check if the new firmware images exist
echo "Checking existence of new firmware images..."
for image in \
"ghcr.io/siderolabs/amd-ucode:20250109" \
"ghcr.io/siderolabs/bnx2-bnx2x:20250109" \
"ghcr.io/siderolabs/intel-ice-firmware:20250109" \
"ghcr.io/siderolabs/qlogic-firmware:20250109"
do
if ! curl -s -f -L -I "https://${image/://}/manifests/latest" >/dev/null; then
echo "❌ Image not found: $image"
else
echo "✅ Image exists: $image"
fi
done
# Check for consistency in firmware updates
echo -e "\nChecking consistency of firmware updates..."
rg -A 1 "imageRef: ghcr.io/siderolabs/(amd-ucode|bnx2-bnx2x|intel-ice-firmware|qlogic-firmware):" --glob "*.yaml"
Length of output: 7706
Summary by CodeRabbit