chore(deps): update helm release node-feature-discovery to v0.20.0 #434
No reviewers
Labels
No labels
No milestone
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set
Reference
shivering-isles/infrastructure-gitops!434
Loading…
Reference in a new issue
No description provided.
Delete branch "renovate/node-feature-discovery-0.x"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
This PR contains the following updates:
0.19.0→0.20.0Release Notes
kubernetes-sigs/node-feature-discovery (node-feature-discovery)
v0.20.0Compare Source
Highlights
node-feature-discovery-topology-updater, forced) instead of a GET followed by an UPDATE: one API request per update instead of two, which lowers kube-apiserver and etcd load at scale (#2564). Requires an RBAC update, see Action Required.configzendpoint now time out after 2 minutes (previously no timeout), and a failed read no longer stops the process (#2564). See Action Required.go.moddeclaresgo 1.27and the builder image isgolang:1.27-trixie(#2583).k8s.io/*v0.35.3 -> v0.37.1,k8s.io/kubernetesv1.35.3 -> v1.37.1 (#2584).Action Required / Behavior Changes
noderesourcetopologies(API grouptopology.node.k8s.io) changes fromcreate, get, updatetocreate, patch. The Helm chart and the kustomize base ship the new rule, but a deployment that bumps only the image exits on its first NodeResourceTopology update withfailed to apply NodeResourceTopology: noderesourcetopologies.topology.node.k8s.io "<node>" is forbidden: User "system:serviceaccount:<namespace>:<serviceaccount>" cannot patch resource "noderesourcetopologies" in API group "topology.node.k8s.io" at the cluster scopeand crash-loops until the new ClusterRole is applied. The reverse also holds: a v0.19 topology-updater under the new ClusterRole is deniedgetonnoderesourcetopologies, so pods still running v0.19 during the DaemonSet rollout, or after a rollback, fail until they run the matching version. If you manage RBAC outside the chart or kustomize, grantcreate,get,updateandpatchfor the upgrade (and for any rollback), then dropgetandupdate.skipping NodeResourceTopology publish, incrementsnfd_topology_updater_scan_errors_totaland retries on the next event. With-oneshotit still exits with the error. Alerts that relied on topology-updater restarts should watch the metric instead.nfd-pruneServiceAccount, ClusterRole and ClusterRoleBinding (get,list,patch,updateonnodesandnodes/status), and the overlay no longer includesbase/rbac. Applying or deleting the overlay no longer creates or deletes thenfd-masterServiceAccount, ClusterRole and ClusterRoleBinding. The documented uninstall commands are unchanged.debian:trixie-slim(Debian 13) instead ofdebian:bookworm-slim(Debian 12), which no longer publishes linux/s390x images. The NFD binaries are statically linked; anything you add on top of the full image now builds against Debian 13. The minimal image (scratch) is unchanged.topologyUpdater.updateStrategyand setsrollingUpdate.maxUnavailable: "10%", the same default asworker.updateStrategy. Upgrades now replace up to 10% of the topology-updater pods at a time instead of one (the Kubernetes DaemonSet default). SettopologyUpdater.updateStrategy.rollingUpdate.maxUnavailable: 1to keep the old pace.Fixes
gc.portto nfd-gc as-port. Previously nfd-gc always listened on 8080, so any othergc.portpointed the probes at a closed port and the pod crash-looped. With default values the only change is an added-port=8080argument (#2608).metadata.namespaceon the PodMonitor. When the chart is rendered through Kustomize's Helm integration (Kustomize 5.8 and later), the PodMonitor had no namespace and Argo CD refused to sync it withInvalidSpecError: Namespace for ... PodMonitor is missing(#2577, fixes #2576).priorityClassNameonce in the nfd-worker pod spec. With both the top-levelpriorityClassNameandworker.priorityClassNameset, the key was emitted twice and the effective value depended on the YAML decoder;worker.priorityClassNamenow takes precedence and falls back to the top-level value. The nfd-gc containersecurityContextis now configurable withgc.securityContext, which defaults to the previously hardcoded settings (#2624, fixes #2622)./rules/1from the nfd-master ClusterRole with a JSON patch, and since v0.17.0 that index is thenodesrule, so the prune Job failed withnodes is forbidden: ... cannot list resource "nodes"and left all NFD labels, annotations and extended resources on the nodes (#2607).system.namefeature'snodenameelement, so nodes whose features came only from third-party NodeFeature objects were listed with an empty name (#2621).nfd_master_node_feature_group_update_requests_totalcounter. It was incremented but never registered, so it was missing from/metrics(#2625).nfd compat validate-node: return the error when the registry referrers lookup fails (#2619), and fail on incomplete registry credential flags (--registry-usernamewithout--registry-password-stdinor--registry-token-stdin, or the reverse) instead of falling back to the default registry auth (#2620).Documentation
values.schema.json; no default values changed), kustomize uninstall steps, metrics page, and a note that the OperatorHub NFD Operator is outdated (#2609).-helpoutput; all klog flags documented (#2610).-kubeconfigdocumented for nfd-topology-updater and nfd-gc (#2601).sources.localsection now states that the local source has no configuration options (#2605).worker.updateStrategyandtopologyUpdater.updateStrategydescriptions, and the upgrade note on rolling-update pace now covers nfd-topology-updater (#2635).Dependencies
golang:1.26-trixie->golang:1.27-trixie(#2583).k8s.io/kubernetesv1.35.3 -> v1.37.1 and thereplacepins (#2584). The PR changes onlygo.mod,go.sumand the podresources client call signature; no manifest or API version changes.github.com/k8stopologyawareschedwg/noderesourcetopology-api0.1.2 -> 0.1.4 (#2564, #2592).github.com/jaypipes/ghw0.24.0 -> 0.26.0 (#2563, #2618)google.golang.org/grpc1.82.0 -> 1.84.0 (#2581, #2617)github.com/opencontainers/runc1.5.0 -> 1.5.2 (#2594, #2615)github.com/onsi/ginkgo/v22.32.0 -> 2.33.0 (#2580, #2594)github.com/onsi/gomega1.42.1 -> 1.44.0 (#2594, #2616)github.com/prometheus/client_golang1.23.2 -> 1.24.1 (#2594)github.com/stretchr/testify1.11.1 -> 1.12.1 (#2594)github.com/google/cel-go0.26.0 -> 0.29.0, indirect (#2594)github.com/google/uuidis now indirect: nfd-master and the e2e utilities use the Go standard libraryuuidpackage (#2583)go.opentelemetry.io/otel/exporters/otlp/otlptrace1.34.0 -> 1.45.0, indirect (#2590)go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc1.34.0 -> 1.45.0, indirect (#2589)golang.org/x/time0.15.0 -> 0.16.0 (#2588)github.com/jedib0t/go-pretty/v66.8.2 -> 6.8.3 (#2587)oras.land/oras-go/v22.6.1 -> 2.6.2 (#2562)sigs.k8s.io/structured-merge-diff/v66.4.0 -> 6.4.2 (#2561)actions/checkout7.0.0 -> 7.0.1 in the gh-pages and release workflows (#2594)Other
gcb-docker-gcloudbuilder to v20260729-0b834bafc6. The previously pinned tag was pruned from the registry, and every master image push had failed since 2026-04-13 (#2555).hack/verify-release-artifacts.sh <version>checks the images, the OCI chart, the gh-pages Helm index and the GitHub release assets (#2560).logcheckinscripts/test-infra/verify.shpinned to v0.10.1 (#2600).install.sh(#2583).MetricsPortfield from the internalArgsstruct; no behavior change (#2626).enhancements/2403-nfd-image-compatibility-scheduler) (#2403).DS_PROMETHEUS) (#2575).Configuration
📅 Schedule: (UTC)
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.
This PR has been generated by Renovate Bot. The local configuration can be found in the SI Renovate Bot repository.