Repository navigation
Conversation
Kata was left extension-managed when NPD moved into Azure Linux 3 VHDs. Resolve both NPD packages through azurelinuxkata and require baked NPD in content tests. Kata uses the same packages, tdnf lock, recovery cache, CSE activation and npdConfig handler as Azure Linux 3; its OS, kernel and Kata packages still update only through images.
Contributor
Windows Unit Test Results 3 files 18 suites 1m 9s ⏱️ Results for commit d52083f. |
Contributor
Contributor
|
Contributor
There was a problem hiding this comment.
🔵 Needs a closer look
Enabling shared NPD live-patching on Kata warrants final Kata-owner confirmation despite the reported validation and absence of identified defects.
No open issues 🎉
What changed in this PR
Extends VHD-owned Node Problem Detector (NPD) to Azure Linux 3 Kata, completing the host-component onboarding alongside node-exporter and Inspektor Gadget.
Changes:
- Adds Kata package pins and enables NPD installation during VHD builds.
- Includes Kata in existing baked-NPD content checks.
- Documents host-only operation and shared live-patching behavior.
| File | Description |
|---|---|
vhdbuilder/packer/test/linux-vhd-content-test.sh |
Requires baked NPD on Kata images. |
vhdbuilder/packer/install-dependencies.sh |
Removes the Kata installation exclusion. |
parts/common/components.json |
Adds Kata NPD binary and config package pins. |
docs/npd-onboarding.md |
Documents Kata ownership, updates, and host limitations. |
Review effort: Balanced
Contributor
This branch has not been deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What this PR does / why we need it:
Bakes Node Problem Detector (NPD) into Azure Linux 3 Kata (Pod Sandboxing) VHDs. Kata now uses the same VHD-owned NPD as regular Azure Linux 3, including live config updates through generic live patching (LPC). This completes the Kata host-component onboarding started with node-exporter (#9810) and Inspektor Gadget (#9836).
Kata was left extension-managed when NPD moved into Ubuntu and Azure Linux 3 VHDs (#9725) only to keep that PR's scope small.
Changes
components.json: addsazurelinuxkataentries fornode-problem-detector-kubernetes(cloud-native) andnode-problem-detector-aks-config(ms-oss), mirroringazurelinuxv3.0. Kata builds look up packages underazurelinuxkata, so before this no version resolved.install-dependencies.sh: removes theIS_KATAexclusion.docs/npd-onboarding.md: describes Kata behavior.configureNodeProblemDetector,npd-update.shandValidateBakedNPDalready apply to any Azure Linux 3 node with the marker, and Kata reportsID=azurelinux,VERSION_ID=3.0with noVARIANT_ID.With this PR, Kata nodes on new images process NPD live-patching components exactly like Azure Linux 3 nodes:
npdConfig(today). The RP publishes oneazureLinuxPackageVersions["3.0"]selection per cluster. It is not per pool, so Kata pools receive the same NPD config version as regular Azure Linux 3 pools in that cluster. The Kata host's snapshot-update timer (already enabled on Kata) runsnpd-update.sh, which:node-problem-detector-aks-configpackage withrpm -U;Selections are forward-only.
npdBinary(follow-up, feat: update the NPD binary through LPC as a separate npdBinary component #9833). Once that merges, the NPD binary package is updated the same way.What does not change on Kata:
tdnf update, kernel change, Kata or guest-VM package change, or reboot.dnf-automaticremains disabled on Kata (cse_main.sh);securityPatch, so that component reports no action for Kata pools.For comparison, Kata hosts already get NPD changes outside the image cycle today: the VM extension reinstalls NPD when the extension version changes, with no version pin or rollback.
If Kata should take NPD updates only through images, please say so. That would be a small node-side guard in
npd-update.shthat reports no action fornpdConfig(andnpdBinary) on Kata. The RP cannot exclude Kata, because the selection is per OS release, not per pool.Expected behavior on Kata
kernel-mshv) lacks PSI ([3.0][AKS] kernel-mshv: CONFIG_PSI was dropped in the dom0 v2411.19.1 config update microsoft/azurelinux#19417). The CPU and memory pressure monitors therefore fall back to load and iowait, as they do with the extension's NPD today.Validation
0.8.25-24.azl3and config1.0.0-2.azl3, and its content test passed.AzureLinuxV3Gen2Katapassed, includingbaked NPD: enabled and healthyalongside baked node-exporter and IG.Ubuntu2604Minimal_CustomCa, a kerneldrm_atomic_helper_wait_for_vblankstrace seen on other PRs too.6.18.34.mshv3-1.azl3):configureNodeProblemDetectortook 0.6s. NPD was active with all monitors loaded and 10 NPD node conditions published; there were no ML-KEM/TLS errors.AKSLinuxExtension1.519 honoredskip_vhd_npdthrough install, uninstall and reinstall. NPD's PID, file hashes and rpm database were unchanged.securityPatchreported no action for the Kata pool.PackageActivation.configureNodeProblemDetector, so that function was run frommainfor the live test. The PR-gate E2E covers it end to end.npd-updateand Mariner reconcile specs).Which issue(s) this PR fixes:
Related: #9725, #9810, #9836, #9833