Skip to content

Conversation

@renovate
Copy link
Contributor

@renovate renovate bot commented Mar 16, 2024

Note: This PR body was truncated due to platform limits.

This PR contains the following updates:

Package Update Change
node-feature-discovery minor 0.15.10.18.3

Warning

Some dependencies could not be looked up. Check the Dependency Dashboard for more information.


Release Notes

kubernetes-sigs/node-feature-discovery (node-feature-discovery)

v0.18.3

Compare Source

What's Changed

This patch release adds support for ppc64le and s390x architectures by providing official NFD container images for them. It also fixes the "test" subcommand of kubectl-nfd plugin.

Full Changelog: kubernetes-sigs/node-feature-discovery@v0.18.2...v0.18.3

v0.18.2

Compare Source

This patch release fixes the /metrics endpoint of nfd-topology-updater (#​2343).

v0.18.1

Compare Source

This patch release fixes the deployment of PodMonitor object when prometheus-operator metrics collection is enabled.

v0.18.0

Compare Source

Changelog

Image compatibility (EXPERIMENTAL)

The image compatibility related features introduced in v0.17 have been improved and enhanced. Major new feature is the nfd export command.

See the documentation for more details

Helm

The Helm chart is now served from the registry.k8s.io OCI registry at registry.k8s.io/nfd/charts/node-feature-discovery. One liner installation with

helm install -n node-feature-discovery nfd oci://registry.k8s.io/nfd/charts/node-feature-discovery --version 0.18.0 --create-namespace

[!IMPORTANT]
The legacy Helm repository at https://kubernetes-sigs.github.io/node-feature-discovery/charts is still available, but will be deprecated and stop getting updated in a future release. Users are encouraged to migrate to the OCI registry.

The release contains numerous small improvements and fixes to the Helm chart and its documentation, including:

  • Configurable DNS policy (#​2025)
  • Configurable PodDisruptionBudget (#​2148)
  • Configurable UpdateStrategy for nfd-worker (#​2157)
  • Global global.imagePullSecrets parameter (#​2191)
  • Fix for running with OwnerReferencesPermissionEnforcement validating webhook enabled (#​2006)
  • Post-delete hook: option to disable (#​2076) and configurable image pull secret (#​2082)
Deprecations

The deprecated autoDefaultNs configuration parameter of nfd-master was removed.

Toleration for the deprecated node-role.kubernetes.io/master:NoSchedule taint and affinity to the deprecated node-role.kubernetes.io/master label have been removed from the default nfd-master deployment manifests. If you still need these, they need to be explicitly added to the deployment (master.tolerations and master.affinity in the Helm chart).

[!IMPORTANT]
In v0.18.0 the DisableAutoPrefix feature is still alpha and disabled by default. NFD adds feature.node.kubernetes.io/ prefix to all unprefixed label, annotation and extended resource names. When DisableAutoPrefix is enabled (will be default in a future release), NFD will not add the default prefix automatilly (and add unprefixed names, verbatim). Users are stronglycencouraged to start using fully qualified names (with the prefix) for allccustom labels, annotations and extended resources.

Miscellaneous
Scalability

The release contains improvements and fixes to NFD scalability in larger clusters.

NodeFeatureRules
Label templating

The label templates in NodeFeatureRules now support sprig functions, greatly enhancing their flexibility.

New comparison operators

New comparison operators Ge, Le and GeLe were added (#​2085).

Type field in MatchExpressions

New Type field was added to MatchExpressions, allowing to specify the type of the value being compared (#​2096). Currently supported types are empty value (the default) and version. Use of version type enables version-aware comparisons.

CPU features

Support for new CPUID flags were added, including AMXCOMPLEX, AMXTRANSPOSE and AMXTF32.

Memory features

NFD now detects availability of hugepages and reports them as memory-hugepages.enabled and hugepages-<page-size>features (#​2056).

Network features

Detection of the MTU of network devices was added (#​2044).

Metrics and health endpoints

The gRPC health endpoint was replaced by an HTTP healthz endpoint in all NFD daemons. In addition, both the metrics and healthz endpoints are now served on the same port (configurable with --port, default 8080).

Full Changelog

v0.17.4

Compare Source

What's Changed

This release updates dependencies.

Full Changelog: kubernetes-sigs/node-feature-discovery@v0.17.3...v0.17.4

v0.17.3

Compare Source

What's Changed

  • Fix nfd-master memory leak on non-leader instances when leader election is enabled (#​2135)
  • Make the NodeFeatureGroupAPI feature gate effective on nfd-master (#​2109)
  • Update dependencies (#​2113)

v0.17.2

Compare Source

What's Changed

This patch release updates dependencies and fixes the worker.extraArgs value in the Helm chart.

Full Changelog: kubernetes-sigs/node-feature-discovery@v0.17.1...v0.17.2

v0.17.1

Compare Source

This patch release makes it possible to run NFD in clusters where the OwnerReferencesPermissionEnforcement admission controller has been enabled. The release also contains bug fixes to the experimental nfd image compatibility tool.

Full Changelog: kubernetes-sigs/node-feature-discovery@v0.17.0...v0.17.1

v0.17.0

Compare Source

Changelog

Configurable restrictions (EXPERIMENTAL)

The nfd-master now has configuration options to restrict its capabilities, that is what modifications on node objects are allowed. See the nfd-master configuration file reference for documentation.

Image compatibity (EXPERIMENTAL)

There is an initiative to utilize NFD to implement system compatibility requirements for container images. As part of this work NFD v0.17 includes nfd command line client for validating systems against image compatibility manifests. See the documentation for more details, including examples how to create container images with compatibility manifests and validating nodes.

See the enhancement proposal for background information and design details.

Miscellaneous
Scalability

This release contains numerous fixes to fix issues and improve the scalability of NFD in larger clusters.

DMI features

Discovery of system.dmiid.product_name was added.

CPUID features

Support for new CPUID flags were added, including AMX-FP8 and AVX-VNNI-INT16.

Helm chart

Numerous small improvements in the NFD Helm chart, mainly new configuration values (see chart parameters for documentation).

Deprecations
gRPC API

The NodeFeature API is now GA and the legacy gRPC API has been completely removed.

Hooks

Support for hooks (deprecated in v0.12 has been removed. See the customization guide for replacements.

ResourceLabels config option

The resourceLabels configuration file option (and the corresponding -resource-labels flag), deprecated in v0.13 were removed. Use NodeFeatureRule object's extendedResources field instead.

Dynamic configuration

Dynamic runt-time reconfiguration was removed. This improves robustness and consistency as some of the configuration options did not support dynamic configuration.

Upcoming changes

The separate metric and health ports will be united behind a single port and the corresponding Helm chart values will be removed in NFD v0.18. This should be invisible to most users.

List of PRs

  • Update readme to v0.16.0 release (#​1722)
  • topology-updater: properly handle IPv6 from NODE_ADDRESS (#​1729)
  • helm: remove defaults CPU limits (#​1728)
  • build(deps): bump golang.org/x/net from 0.25.0 to 0.26.0 (#​1738)
  • Fix the problem with starting the master with empty cache (#​1739)
  • build(deps): bump github.com/opencontainers/runc from 1.1.12 to 1.1.13 (#​1742)
  • ensure post-delete-job's service account matches ref in job spec (#​1746)
  • Dockerfile: fix FromAs Casing (#​1753)
  • build(deps): bump github.com/klauspost/cpuid/v2 from 2.2.7 to 2.2.8 (#​1744)
  • build(deps): bump github.com/spf13/cobra from 1.8.0 to 1.8.1 (#​1745)
  • build(deps): bump google.golang.org/protobuf from 1.34.1 to 1.34.2 (#​1743)
  • Update README to v0.16.1 (#​1756)
  • Document AVXVNNIINT16 cpuid feature (#​1749)
  • scripts: refresh e2e-presubmit test script (#​1758)
  • build(deps): bump golang.org/x/net from 0.26.0 to 0.27.0 (#​1760)
  • docs: describe Kubernetes version compatibility in versions page (#​1764)
  • scripts/test-infra: drop the unused build-image script (#​1762)
  • scripts/test-infra: run postsubmit e2e test in kind (#​1763)
  • nfd-master: fix typos (#​1765)
  • Simplify code (#​1766)
  • scripts/test-infra: setup kind in e2e-test (#​1767)
  • README: update module name in go report card badge (#​1768)
  • deployment/helm: enable specifying additional cmdline args (#​1726)
  • cloudbuild: increase the image build timeout (#​1770)
  • Use worker DS OwnerReference for NF's (#​1755)
  • README: update to v0.16.2 (#​1783)
  • Drop the -enable-nodefeature-api flag (#​1780)
  • fix: take into consideration possibility of having empty line in swap file (#​1781)
  • nfd-worker: change TestRun to use NodeFeature API (#​1788)
  • go.mod: update kubernetes to v1.30.2 and klog to v2.130.1 (#​1786)
  • Helm: Add revision history limit for master replica (#​1782)
  • test/e2e: set topology-updater sleep-interval in podfingerprint test (#​1792)
  • helm: drop trailing whitespace from values.yaml (#​1790)
  • docs: reformat tables of helm parameters (#​1791)
  • test/e2e: specify -sleep-interval in topology-updater exclude-memory test (#​1793)
  • README: update to v0.16.3 (#​1794)
  • feature-gates: mark NodeFeatureAPI as GA (#​1778)
  • scripts/test-infra: bump golangci-lint to v1.59.1 (#​1795)
  • scripts/test-infra: bump helm to v3.15.3 (#​1796)
  • Helm: Add revision history limit for worker daemonset (#​1797)
  • Dockerfile: cache go modules on build (#​1798)
  • build(deps): bump k8s.io/kubernetes from 1.30.2 to 1.30.3 in the k8sio group (#​1804)
  • helm: add configurable liveness&readiness probes for master topology-updater and worker (#​1801)
  • nfd-master: check nfd api informer cache sync result (#​1809)
  • nfd-gc: check that node informer cache sync succeeded (#​1812)
  • build(deps): bump github.com/onsi/gomega from 1.33.1 to 1.34.0 (#​1819)
  • build(deps): bump github.com/onsi/ginkgo/v2 from 2.19.0 to 2.19.1 (#​1818)
  • Docs: Fixed feature-gates reference (#​1822)
  • nfd-master: tweak list options for NodeFeature informer (#​1811)
  • Docs: Fix the link to feature gates documentation (#​1821)
  • nfd-gc: only fetch object metadata (#​1813)
  • nfd-gc: use paging when listing CRs (#​1815)
  • build(deps): bump github.com/onsi/gomega from 1.34.0 to 1.34.1 (#​1824)
  • Add helm migration guide (#​1807)
  • docs: use jekyll-rtd-theme from a ruby gem (#​1829)
  • tilt: sync up builder go version with project go.mod (#​1827)
  • build(deps): bump github.com/onsi/ginkgo/v2 from 2.19.1 to 2.20.0 (#​1831)
  • build(deps): bump golang.org/x/time from 0.5.0 to 0.6.0 (#​1832)
  • README: update to v0.16.4 (#​1834)
  • test/e2e: simplify TestMain (#​1835)
  • nfd-master: explicit state variable for the node updater pool (#​1844)
  • nfd-master: use only unbuffered chans in the nfd api-controller (#​1843)
  • nfd-master: proper shutdown of nfd api informers (#​1848)
  • build(deps): bump github.com/onsi/ginkgo/v2 from 2.20.0 to 2.20.1 (#​1853)
  • test/e2e: drop the pod security admission hack (#​1854)
  • scripts/test-infra: bump golangci-lint to v1.60.3 (#​1859)
  • Drop dynamic run-time reconfiguration (#​1847)
  • build(deps): bump github.com/onsi/gomega from 1.34.1 to 1.34.2 (#​1862)
  • build(deps): bump github.com/opencontainers/runc from 1.1.13 to 1.1.14 (#​1864)
  • Bump Go to v1.23 (#​1858)
  • build(deps): bump github.com/onsi/ginkgo/v2 from 2.20.1 to 2.20.2 (#​1870)
  • build(deps): bump golang.org/x/net from 0.28.0 to 0.29.0 (#​1867)
  • source/system: Add reading product name information (#​1871)
  • nfd-master: cleanup updater-pool method args (#​1876)
  • helm: rename args chart value to extraArgs (#​1880)
  • helm: rename args to extraArgs in values.yaml (#​1881)
  • source/network: Ignore bonding_masters interface during scanning (#​1856)
  • build(deps): bump github.com/jaypipes/ghw from 0.12.0 to 0.13.0 (#​1869)
  • Add helm values to configure hostNetwork and additional env vars (#​1878)
  • Add parameter to configure health endpoint port (#​1885)
  • Add .idea/ to gitignore (#​1886)
  • nfd-gc: drop one duplicate import from tests (#​1888)
  • test/e2e: use ptr.To to get pointer to bool (#​1836)
  • docs: quote shell snippets containing urls with query parameters (#​1895)
  • build(deps): bump golang.org/x/net from 0.29.0 to 0.30.0 (#​1900)
  • build(deps): bump golang.org/x/time from 0.6.0 to 0.7.0 (#​1899)
  • Template exposed health port in helm chart (#​1904)
  • github: specify workflow permissions (#​1906)
  • README: update to v0.16.5 (#​1909)
  • build(deps): bump github.com/opencontainers/runc from 1.1.14 to 1.1.15 (#​1916)
  • Move testdata to root (#​1921)
  • Convert testdata to an empty go module (#​1924)
  • Add separate helm values for the liveness and readiness probes (#​1913)
  • feat/nfd-master: configure CR restrictions (#​1592)
  • build(deps): bump github.com/opencontainers/runc from 1.1.15 to 1.2.0 (#​1923)
  • Drop NFD gRPC API (#​1910)
  • build(deps): bump google.golang.org/protobuf from 1.34.2 to 1.35.1 (#​1917)
  • go.mod: bump kubernetes to v1.31 (#​1837)
  • tests: better assertion message in nfd-gc unit tests (#​1816)
  • build(deps): bump github.com/onsi/ginkgo/v2 from 2.20.2 to 2.21.0 (#​1937)
  • build(deps): bump github.com/onsi/gomega from 1.34.2 to 1.35.1 (#​1938)
  • build(deps): bump github.com/opencontainers/runc from 1.2.0 to 1.2.1 (#​1940)
  • nfd-master: drop stale unreachable deprecation notices (#​1942)
  • Docs: remove gRPC (#​1943)
  • Taints: mark stable (#​1944)
  • Drop support for hooks (#​1941)
  • build(deps): bump google.golang.org/grpc from 1.63.2 to 1.67.1 (#​1898)
  • build(deps): bump github.com/fsnotify/fsnotify from 1.7.0 to 1.8.0 (#​1939)
  • Doc: Fix tilt up issue in feature discovering in developer guide (#​1889)
  • Deprecate separate metrics and health port args (#​1948)
  • Release template: Document tagging for API submodule (#​1945)
  • go.mod: bump cpuid to v2.2.9 (#​1949)
  • nfd-master: drop resourceLabels (#​1950)
  • docs: minor update in the feature gates table (#​1951)
  • build(deps): bump golang.org/x/net from 0.30.0 to 0.31.0 (#​1952)
  • build(deps): bump golang.org/x/time from 0.7.0 to 0.8.0 (#​1953)
  • build(deps): bump google.golang.org/grpc from 1.67.1 to 1.68.0 (#​1954)
  • build(deps): bump github.com/opencontainers/runc from 1.2.1 to 1.2.2 (#​1957)
  • build(deps): bump github.com/stretchr/testify from 1.9.0 to 1.10.0 (#​1960)
  • Document AMXFP8 cpuid feature (#​1935)
  • go.mod: bump kubernetes patch version (#​1962)
  • pkg/utils: drop fswatcher (#​1961)
  • chore: add metrics system prefix (#​1956)
  • build(deps): bump github.com/onsi/ginkgo/v2 from 2.21.0 to 2.22.0 (#​1959)
  • build(deps): bump github.com/onsi/gomega from 1.35.1 to 1.36.0 (#​1966)
  • build(deps): bump google.golang.org/grpc from 1.68.0 to 1.68.1 (#​1969)
  • build(deps): bump golang.org/x/net from 0.31.0 to 0.32.0 (#​1968)
  • NFD image compatibility proposal (#​1845)
  • deployment: add startupProbe for nfd-master (#​1810)
  • scripts/update-gh-pages: fix release version parsing (#​1974)
  • nfd-master: check that namespace informer cache sync succeeded (#​1965)
  • Fix version parsing (#​1977)
  • Makefile: fix version parsing (#​1981)
  • nfd-worker: Add an option to disable setting the owner references (#​1860)
  • Cleanup for NodeFeature API being GA (#​1976)
  • build(deps): bump google.golang.org/grpc from 1.68.1 to 1.69.0 (#​1983)
  • build(deps): bump golang.org/x/crypto from 0.30.0 to 0.31.0 (#​1986)
  • build(deps): bump github.com/onsi/gomega from 1.36.0 to 1.36.1 (#​1984)
  • build(deps): bump github.com/opencontainers/runc from 1.2.2 to 1.2.3 (#​1985)
  • go.mod: bump kubernetes to v1.32 (#​1987)
  • Drop protobuf definitions and protobuf code generation (#​1989)
  • Introduce nfd client for image compatibilty (#​1932)
  • Remove errors for nodes without NodeFeatures (#​1988)
  • go.mod: bump golang.org/x/net to v0.33.0 (#​1991)

(Full Changelog: kubernetes-sigs/node-feature-discovery@v0.17.0-devel...v0.17.0)

v0.16.9: .

Compare Source

What's Changed

This release updates dependencies.

Full Changelog: kubernetes-sigs/node-feature-discovery@v0.16.8...v0.16.9

v0.16.8

Compare Source

What's Changed

  • Fix nfd-master memory leak on non-leader instances when leader election is enabled (#​2136)
  • Ignore bonding_masters during network interface detection (#​2034)
  • Don't initialize NodeFeatureGroup informers if feature gate disabled in nfd-master (#​2110)
  • Update dependencies (#​2112)

v0.16.7

Compare Source

What's Changed

This patch release updates dependencies and makes it possible to run NFD in clusters where the OwnerReferencesPermissionEnforcement admission controller has been enabled.

Full Changelog: kubernetes-sigs/node-feature-discovery@v0.16.6...v0.16.7

v0.16.6

Compare Source

What's Changed

Contributors @​marquiz @​elezar @​ArangoGutierrez

Full Changelog: kubernetes-sigs/node-feature-discovery@v0.16.5...v0.16.6

v0.16.5

Compare Source

What's Changed

Fixes an nfd-master memory leak on re-configure events when leader election is enabled. Adds parameters to configure health endpoint port.

Full Changelog: kubernetes-sigs/node-feature-discovery@v0.16.4...v0.16.5

v0.16.4

Compare Source

What's Changed

This patch release contains improvements to the Helm chart, adding configurable liveness and readiness probes for all daemons and configurable revision history limit for the nfd-worker and nfd-topology-updater.

Full Changelog: kubernetes-sigs/node-feature-discovery@v0.16.3...v0.16.4

v0.16.3

Compare Source

Fix detection of swap in some scenarios (#​1751) and add Helm parameter to set the revisionHistoryLimit of nfd-master and nfd-gc (#​1759).

Full Changelog: kubernetes-sigs/node-feature-discovery@v0.16.2...v0.16.3

v0.16.2

Compare Source

What's Changed

Fixes an issue where node labels were temporarily removed on nfd-worker pod restarts.

Full Changelog: kubernetes-sigs/node-feature-discovery@v0.16.1...v0.16.2

v0.16.1

Compare Source

What's Changed

Full Changelog: kubernetes-sigs/node-feature-discovery@v0.16.0...v0.16.1

v0.16.0: v0.16

Compare Source

Changelog

NodeFeatureGroup API

The NodeFeatureGroup custom resource was added to the NFD API. The NodeFeatureGroup API enables the creation of node groups based on features discovered by NFD. The API is an alpha feature and is disabled by default and can be enabled with the NodeFeatureGroupAPI feature gate.

See documentation for more details.

Feature gates

NFD adapted the concept of feature gates from Kubernetes to introduce and stabilize new features in a controlled way. See the documentation for more details. Two existing features (NodeFeature API and disabling label auto-prefixing) were converted into feature gates.

Deprecations
Upcoming changes

Support for hooks is deprecated since v0.12.0 and will be completely dropped in the NFD v0.17.

RDT feature labels removed

The feature.node.kubernetes.io/cpu-rdt.* feature labels that were deprecated in NFD v0.13 were removed. RDT features are still available for use in NodeFeatureRules for custom labels.

Deprecated flags and options

The autoDefaultNs config file option of nfd-master is deprecated and will be removed in NFD v0.17. Superseded by the DisableAutoPrefix feature gate (featureGates.DisableAutoPrefix Helm parameter).

The -enable-nodefeature-api command line flag of nfd-master and nfd-worker and the corresponding enableNodeFeatureApi Helm chart parameter have been deprecated and will be removed in NFD v0.17. Superseded by the NodeFeature API feature gate (featureGates.NodeFeatureAPI Helm parameter).

The -crd-controller command line flag of nfd-master is deprecated and will be removed with the gRPC API in a future release.

Miscellaneous
Network devices

Discover speed of virtual network interfaces.

DMI

Added support for detecting DMI attributes from /sys/devices/virtual/dmi/id/. In v0.16 only sys_vendor discovered, available as system.dmiid.sys_vendor feature for use in NodeFeatureRules.

Swap

Discover the availability of swap on the node. Available as memory.swap.enabled feature for use in NodeFeatureRules.

Helm chart

Now all nodes are cleaned up (feature labels, annotations, extended resources and taints are removed) after uninstalling NFD using a post-delete hook.

The Helm chart now sets resource requests (cpu and memory) for NFD pods. Users may want to adjust these for their cluster. An option to set the pod priority class was added. See Helm chart parameters in the documentation).

Container health

A gRPC health server was added to the nfd-master, nfd-worker and nfd-topology-updater daemons. Deployments (Helm and kustomize) configure container liveness and readiness probes to use that for health checking.

List of PRs

  • github: update tagging instructions in release checklists (#​1527)
  • Update readme to v0.15.0 release (#​1524)
  • makefile: fix build: target (#​1528)
  • Makefile: add -timeout argument to e2e-tests (#​1526)
  • helm: add post-delete hook that cleans up the node (#​1532)
  • deployment/kustomize: drop the sample cert-manager overlay (#​1534)
  • nfd-master: run a separate gRPC health server (#​1535)
  • source/network: discover speed of virtual network interfaces (#​1536)
  • go.mod: update dependencies (#​1539)
  • chore: combine cpu count and thread_siblings functions into discover topology function (#​1505)
  • source/cpu: drop deprecated cpu-rdt labels (#​1530)
  • Update readme to v0.15.1 release (#​1552)
  • hack/generate: patch auto-generated deepcopy functions (#​1553)
  • apis/nfd: Trivial typo fix in tests (#​1537)
  • docs: update docs build dependencies (#​1543)
  • topology-updater: initialize properly with -no-publish (#​1554)
  • topology-updater: document the -no-publish flag correctly (#​1555)
  • Wrap nested errors (#​1558)
  • Prevent nfd-worker erroring when reading attributes from paravirtual devices (#​1557)
  • pkg/utils: move GetKubeconfig from pkg/apihelper here (#​1562)
  • OWNERS: add AhmedGrati as a reviewer (#​1564)
  • deployment/helm: don't deploy topology-updater conf unnecessarily (#​1565)
  • topology-updater: get topology api client directly (#​1566)
  • pkg/utils: move JsonPatch from pkg/apihelper (#​1568)
  • nfd-master: ditch apihelper (#​1570)
  • topology-updater: ditch apihelper (#​1567)
  • Drop pkg/apihelper (#​1561)
  • nfd-master: fix node status patching (#​1571)
  • nfd-topology-updater add pods fingerprint by default (#​1560)
  • docs: add KEP of Spiffe integration (#​1444)
  • docs: document removal of hooks in v0.17 (#​1573)
  • build(deps): bump github.com/opencontainers/runc from 1.1.10 to 1.1.12 (#​1575)
  • build(deps-dev): bump nokogiri from 1.16.0 to 1.16.2 in /docs (#​1576)
  • scripts/test-infra: bump golangci-lint to v1.56.1 (#​1580)
  • scripts/test-infra: bump k8s logcheck to v0.8.1 (#​1583)
  • Bump Go to v1.22 (#​1579)
  • scripts/test-infra: bump helm to v3.14.0 (#​1582)
  • source/kernel: add unit tests for kernel version parsing (#​1588)
  • helm: add priorityClassName option (#​1587)
  • source/pci: add unit test for the pci source (#​1589)
  • nfd-master: log errors on node update retries (#​1591)
  • source/system: Add reading vendor information (#​1574)
  • source/cpu: fix build tags on rdt discovery (#​1594)
  • helm: add ability to use a custom issuer (#​1598)
  • fix hook issue (#​1604)
  • generate: update autogenerate tools (#​1606)
  • apis/nfd/validate: use testify/assert for checking test results (#​1590)
  • Update readme to v0.15.2 release (#​1611)
  • Update generate scripts to use latest code_gen functions (#​1605)
  • nfd-master: mark the -crd-controller flag as deprecated (#​1612)
  • build(deps): bump google.golang.org/protobuf from 1.32.0 to 1.33.0 (#​1613)
  • Use close to signal stop channedl in worker and topology-updater (#​1620)
  • nfd-master: fix memory leak in nfd api-controller (#​1615)
  • Update readme to v0.15.3 release (#​1628)
  • Add FeatureGate framework to handle new features (#​1623)
  • replace AhmedGrati account with TessaIO as reviewer (#​1630)
  • add swap support in nfd (#​1585)
  • nfd-master: check if node exists before trying update (#​1595)
  • Remove references to -enable-nodefeature-api flag (#​1632)
  • Add owner reference to NRT object (#​1602)
  • nfd-master: retry node updates indefinitely (#​1596)
  • nfd-worker: Add liveness probe (#​1609)
  • topology-updater: Set APIVersion, Kind in the OwnerReference explicitly (#​1634)
  • helm: fix invalid name of host-swaps volume (#​1635)
  • nfd-master: do nfd API scheme registration in an init function (#​1641)
  • chore/deployment: add resources requests and limits for helm and Kustomize (#​1631)
  • nfd-topology-updater: Add liveness probe (#​1643)
  • nfd-master: get node object only once when updating node (#​1652)
  • chore/deploy: make interval property in PodMonitor configurable (#​1639)
  • nfd-master: protect node updater pool queueing with a lock (#​1642)
  • nfd-master: prevent crash on empty config struct (#​1657)
  • Update readme to v0.15.4 release (#​1650)
  • Tidy up usage of channels for signaling (#​1656)
  • nfd-master: implement opts for modifying NfdMaster instance (#​1658)
  • nfd-master: parse kubeconfig even with NoPublish set (#​1655)
  • Move NFD api to a separate go mod (#​1600)
  • api/nfd: run go mod tidy (#​1661)
  • Fix Make generate ([#​1662](https://redirect.github.com/kubernetes-sigs/no

Configuration

📅 Schedule: Branch creation - "on saturday" (UTC), Automerge - At any time (no schedule defined).

🚦 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.


  • If you want to rebase/retry this PR, check this box

This PR was generated by Mend Renovate. View the repository job log.

@github-actions
Copy link

github-actions bot commented Mar 16, 2024

--- HelmRelease: kube-system/node-feature-discovery ConfigMap: kube-system/node-feature-discovery-topology-updater-conf

+++ HelmRelease: kube-system/node-feature-discovery ConfigMap: kube-system/node-feature-discovery-topology-updater-conf

@@ -1,13 +0,0 @@

----
-apiVersion: v1
-kind: ConfigMap
-metadata:
-  name: node-feature-discovery-topology-updater-conf
-  namespace: kube-system
-  labels:
-    app.kubernetes.io/name: node-feature-discovery
-    app.kubernetes.io/instance: node-feature-discovery
-    app.kubernetes.io/managed-by: Helm
-data:
-  nfd-topology-updater.conf: 'null'
-
--- HelmRelease: kube-system/node-feature-discovery ClusterRole: kube-system/node-feature-discovery

+++ HelmRelease: kube-system/node-feature-discovery ClusterRole: kube-system/node-feature-discovery

@@ -5,12 +5,19 @@

   name: node-feature-discovery
   labels:
     app.kubernetes.io/name: node-feature-discovery
     app.kubernetes.io/instance: node-feature-discovery
     app.kubernetes.io/managed-by: Helm
 rules:
+- apiGroups:
+  - ''
+  resources:
+  - namespaces
+  verbs:
+  - watch
+  - list
 - apiGroups:
   - ''
   resources:
   - nodes
   - nodes/status
   verbs:
@@ -20,16 +27,24 @@

   - list
 - apiGroups:
   - nfd.k8s-sigs.io
   resources:
   - nodefeatures
   - nodefeaturerules
+  - nodefeaturegroups
   verbs:
   - get
   - list
   - watch
+- apiGroups:
+  - nfd.k8s-sigs.io
+  resources:
+  - nodefeaturegroups/status
+  verbs:
+  - patch
+  - update
 - apiGroups:
   - coordination.k8s.io
   resources:
   - leases
   verbs:
   - create
--- HelmRelease: kube-system/node-feature-discovery Role: kube-system/node-feature-discovery-worker

+++ HelmRelease: kube-system/node-feature-discovery Role: kube-system/node-feature-discovery-worker

@@ -14,7 +14,14 @@

   resources:
   - nodefeatures
   verbs:
   - create
   - get
   - update
+  - delete
+- apiGroups:
+  - ''
+  resources:
+  - pods
+  verbs:
+  - get
 
--- HelmRelease: kube-system/node-feature-discovery DaemonSet: kube-system/node-feature-discovery-worker

+++ HelmRelease: kube-system/node-feature-discovery DaemonSet: kube-system/node-feature-discovery-worker

@@ -7,12 +7,13 @@

   labels:
     app.kubernetes.io/name: node-feature-discovery
     app.kubernetes.io/instance: node-feature-discovery
     app.kubernetes.io/managed-by: Helm
     role: worker
 spec:
+  revisionHistoryLimit: null
   selector:
     matchLabels:
       app.kubernetes.io/name: node-feature-discovery
       app.kubernetes.io/instance: node-feature-discovery
       role: worker
   template:
@@ -22,23 +23,33 @@

         app.kubernetes.io/instance: node-feature-discovery
         role: worker
     spec:
       dnsPolicy: ClusterFirstWithHostNet
       serviceAccountName: node-feature-discovery-worker
       securityContext: {}
+      hostNetwork: false
       containers:
       - name: worker
         securityContext:
           allowPrivilegeEscalation: false
           capabilities:
             drop:
             - ALL
           readOnlyRootFilesystem: true
           runAsNonRoot: true
-        image: registry.k8s.io/nfd/node-feature-discovery:v0.15.1
+        image: registry.k8s.io/nfd/node-feature-discovery:v0.17.4
         imagePullPolicy: IfNotPresent
+        livenessProbe:
+          grpc:
+            port: 8082
+          initialDelaySeconds: 10
+        readinessProbe:
+          grpc:
+            port: 8082
+          initialDelaySeconds: 5
+          failureThreshold: 10
         env:
         - name: NODE_NAME
           valueFrom:
             fieldRef:
               fieldPath: spec.nodeName
         - name: POD_NAME
@@ -46,20 +57,29 @@

             fieldRef:
               fieldPath: metadata.name
         - name: POD_UID
           valueFrom:
             fieldRef:
               fieldPath: metadata.uid
-        resources: {}
+        resources:
+          limits:
+            memory: 512Mi
+          requests:
+            cpu: 5m
+            memory: 64Mi
         command:
         - nfd-worker
         args:
+        - -feature-gates=NodeFeatureGroupAPI=false
         - -metrics=8081
+        - -grpc-health=8082
         ports:
-        - name: metrics
-          containerPort: 8081
+        - containerPort: 8081
+          name: metrics
+        - containerPort: 8082
+          name: health
         volumeMounts:
         - name: host-boot
           mountPath: /host-boot
           readOnly: true
         - name: host-os-release
           mountPath: /host-etc/os-release
@@ -70,14 +90,14 @@

         - name: host-usr-lib
           mountPath: /host-usr/lib
           readOnly: true
         - name: host-lib
           mountPath: /host-lib
           readOnly: true
-        - name: source-d
-          mountPath: /etc/kubernetes/node-feature-discovery/source.d/
+        - name: host-proc-swaps
+          mountPath: /host-proc/swaps
           readOnly: true
         - name: features-d
           mountPath: /etc/kubernetes/node-feature-discovery/features.d/
           readOnly: true
         - name: nfd-worker-conf
           mountPath: /etc/kubernetes/node-feature-discovery
@@ -95,15 +115,15 @@

       - name: host-usr-lib
         hostPath:
           path: /usr/lib
       - name: host-lib
         hostPath:
           path: /lib
-      - name: source-d
+      - name: host-proc-swaps
         hostPath:
-          path: /etc/kubernetes/node-feature-discovery/source.d/
+          path: /proc/swaps
       - name: features-d
         hostPath:
           path: /etc/kubernetes/node-feature-discovery/features.d/
       - name: nfd-worker-conf
         configMap:
           name: node-feature-discovery-worker-conf
--- HelmRelease: kube-system/node-feature-discovery Deployment: kube-system/node-feature-discovery-master

+++ HelmRelease: kube-system/node-feature-discovery Deployment: kube-system/node-feature-discovery-master

@@ -8,12 +8,13 @@

     app.kubernetes.io/name: node-feature-discovery
     app.kubernetes.io/instance: node-feature-discovery
     app.kubernetes.io/managed-by: Helm
     role: master
 spec:
   replicas: 1
+  revisionHistoryLimit: null
   selector:
     matchLabels:
       app.kubernetes.io/name: node-feature-discovery
       app.kubernetes.io/instance: node-feature-discovery
       role: master
   template:
@@ -23,50 +24,58 @@

         app.kubernetes.io/instance: node-feature-discovery
         role: master
     spec:
       serviceAccountName: node-feature-discovery
       enableServiceLinks: false
       securityContext: {}
+      hostNetwork: false
       containers:
       - name: master
         securityContext:
           allowPrivilegeEscalation: false
           capabilities:
             drop:
             - ALL
           readOnlyRootFilesystem: true
           runAsNonRoot: true
-        image: registry.k8s.io/nfd/node-feature-discovery:v0.15.1
+        image: registry.k8s.io/nfd/node-feature-discovery:v0.17.4
         imagePullPolicy: IfNotPresent
+        startupProbe:
+          grpc:
+            port: 8082
+          failureThreshold: 30
         livenessProbe:
           grpc:
-            port: 8080
-          initialDelaySeconds: 10
-          periodSeconds: 10
+            port: 8082
         readinessProbe:
           grpc:
-            port: 8080
-          initialDelaySeconds: 5
-          periodSeconds: 10
+            port: 8082
           failureThreshold: 10
         ports:
-        - containerPort: 8080
-          name: grpc
         - containerPort: 8081
           name: metrics
+        - containerPort: 8082
+          name: health
         env:
         - name: NODE_NAME
           valueFrom:
             fieldRef:
               fieldPath: spec.nodeName
         command:
         - nfd-master
-        resources: {}
+        resources:
+          limits:
+            memory: 4Gi
+          requests:
+            cpu: 100m
+            memory: 128Mi
         args:
-        - -crd-controller=true
+        - -enable-leader-election
+        - -feature-gates=NodeFeatureGroupAPI=false
         - -metrics=8081
+        - -grpc-health=8082
         volumeMounts:
         - name: nfd-master-conf
           mountPath: /etc/kubernetes/node-feature-discovery
           readOnly: true
       volumes:
       - name: nfd-master-conf
--- HelmRelease: kube-system/node-feature-discovery Deployment: kube-system/node-feature-discovery-gc

+++ HelmRelease: kube-system/node-feature-discovery Deployment: kube-system/node-feature-discovery-gc

@@ -8,12 +8,13 @@

     app.kubernetes.io/name: node-feature-discovery
     app.kubernetes.io/instance: node-feature-discovery
     app.kubernetes.io/managed-by: Helm
     role: gc
 spec:
   replicas: 1
+  revisionHistoryLimit: null
   selector:
     matchLabels:
       app.kubernetes.io/name: node-feature-discovery
       app.kubernetes.io/instance: node-feature-discovery
       role: gc
   template:
@@ -23,26 +24,32 @@

         app.kubernetes.io/instance: node-feature-discovery
         role: gc
     spec:
       serviceAccountName: node-feature-discovery-gc
       dnsPolicy: ClusterFirstWithHostNet
       securityContext: {}
+      hostNetwork: false
       containers:
       - name: gc
-        image: registry.k8s.io/nfd/node-feature-discovery:v0.15.1
+        image: registry.k8s.io/nfd/node-feature-discovery:v0.17.4
         imagePullPolicy: IfNotPresent
         env:
         - name: NODE_NAME
           valueFrom:
             fieldRef:
               fieldPath: spec.nodeName
         command:
         - nfd-gc
         args:
         - -gc-interval=1h
-        resources: {}
+        resources:
+          limits:
+            memory: 1Gi
+          requests:
+            cpu: 10m
+            memory: 128Mi
         securityContext:
           allowPrivilegeEscalation: false
           capabilities:
             drop:
             - ALL
           readOnlyRootFilesystem: true
--- HelmRelease: kube-system/node-feature-discovery ServiceAccount: kube-system/node-feature-discovery-prune

+++ HelmRelease: kube-system/node-feature-discovery ServiceAccount: kube-system/node-feature-discovery-prune

@@ -0,0 +1,14 @@

+---
+apiVersion: v1
+kind: ServiceAccount
+metadata:
+  name: node-feature-discovery-prune
+  namespace: kube-system
+  labels:
+    app.kubernetes.io/name: node-feature-discovery
+    app.kubernetes.io/instance: node-feature-discovery
+    app.kubernetes.io/managed-by: Helm
+  annotations:
+    helm.sh/hook: post-delete
+    helm.sh/hook-delete-policy: before-hook-creation,hook-succeeded
+
--- HelmRelease: kube-system/node-feature-discovery ClusterRole: kube-system/node-feature-discovery-prune

+++ HelmRelease: kube-system/node-feature-discovery ClusterRole: kube-system/node-feature-discovery-prune

@@ -0,0 +1,24 @@

+---
+apiVersion: rbac.authorization.k8s.io/v1
+kind: ClusterRole
+metadata:
+  name: node-feature-discovery-prune
+  labels:
+    app.kubernetes.io/name: node-feature-discovery
+    app.kubernetes.io/instance: node-feature-discovery
+    app.kubernetes.io/managed-by: Helm
+  annotations:
+    helm.sh/hook: post-delete
+    helm.sh/hook-delete-policy: before-hook-creation,hook-succeeded
+rules:
+- apiGroups:
+  - ''
+  resources:
+  - nodes
+  - nodes/status
+  verbs:
+  - get
+  - patch
+  - update
+  - list
+
--- HelmRelease: kube-system/node-feature-discovery ClusterRoleBinding: kube-system/node-feature-discovery-prune

+++ HelmRelease: kube-system/node-feature-discovery ClusterRoleBinding: kube-system/node-feature-discovery-prune

@@ -0,0 +1,21 @@

+---
+apiVersion: rbac.authorization.k8s.io/v1
+kind: ClusterRoleBinding
+metadata:
+  name: node-feature-discovery-prune
+  labels:
+    app.kubernetes.io/name: node-feature-discovery
+    app.kubernetes.io/instance: node-feature-discovery
+    app.kubernetes.io/managed-by: Helm
+  annotations:
+    helm.sh/hook: post-delete
+    helm.sh/hook-delete-policy: before-hook-creation,hook-succeeded
+roleRef:
+  apiGroup: rbac.authorization.k8s.io
+  kind: ClusterRole
+  name: node-feature-discovery-prune
+subjects:
+- kind: ServiceAccount
+  name: node-feature-discovery-prune
+  namespace: kube-system
+
--- HelmRelease: kube-system/node-feature-discovery Job: kube-system/node-feature-discovery-prune

+++ HelmRelease: kube-system/node-feature-discovery Job: kube-system/node-feature-discovery-prune

@@ -0,0 +1,66 @@

+---
+apiVersion: batch/v1
+kind: Job
+metadata:
+  name: node-feature-discovery-prune
+  namespace: kube-system
+  labels:
+    app.kubernetes.io/name: node-feature-discovery
+    app.kubernetes.io/instance: node-feature-discovery
+    app.kubernetes.io/managed-by: Helm
+  annotations:
+    helm.sh/hook: post-delete
+    helm.sh/hook-delete-policy: before-hook-creation,hook-succeeded
+spec:
+  template:
+    metadata:
+      labels:
+        app.kubernetes.io/name: node-feature-discovery
+        app.kubernetes.io/instance: node-feature-discovery
+        app.kubernetes.io/managed-by: Helm
+        role: prune
+    spec:
+      serviceAccountName: node-feature-discovery-prune
+      containers:
+      - name: nfd-master
+        securityContext:
+          allowPrivilegeEscalation: false
+          capabilities:
+            drop:
+            - ALL
+          readOnlyRootFilesystem: true
+          runAsNonRoot: true
+        image: registry.k8s.io/nfd/node-feature-discovery:v0.17.4
+        imagePullPolicy: IfNotPresent
+        command:
+        - nfd-master
+        args:
+        - -prune
+      restartPolicy: Never
+      affinity:
+        nodeAffinity:
+          preferredDuringSchedulingIgnoredDuringExecution:
+          - preference:
+              matchExpressions:
+              - key: node-role.kubernetes.io/master
+                operator: In
+                values:
+                - ''
+            weight: 1
+          - preference:
+              matchExpressions:
+              - key: node-role.kubernetes.io/control-plane
+                operator: In
+                values:
+                - ''
+            weight: 1
+      tolerations:
+      - effect: NoSchedule
+        key: node-role.kubernetes.io/master
+        operator: Equal
+        value: ''
+      - effect: NoSchedule
+        key: node-role.kubernetes.io/control-plane
+        operator: Equal
+        value: ''
+

@github-actions
Copy link

github-actions bot commented Mar 16, 2024

--- kubernetes/apps/kube-system/node-feature-discovery/app Kustomization: flux-system/cluster-apps-node-feature-discovery HelmRelease: kube-system/node-feature-discovery

+++ kubernetes/apps/kube-system/node-feature-discovery/app Kustomization: flux-system/cluster-apps-node-feature-discovery HelmRelease: kube-system/node-feature-discovery

@@ -12,13 +12,13 @@

     spec:
       chart: node-feature-discovery
       sourceRef:
         kind: HelmRepository
         name: node-feature-discovery
         namespace: flux-system
-      version: 0.15.1
+      version: 0.17.4
   install:
     crds: CreateReplace
     remediation:
       retries: 3
   interval: 30m
   maxHistory: 2

@renovate renovate bot changed the title fix(helm): update chart node-feature-discovery to 0.15.3 fix(helm): update chart node-feature-discovery to 0.15.4 Apr 5, 2024
@renovate renovate bot force-pushed the renovate/node-feature-discovery-0.x branch from b95151e to cd2c45e Compare April 5, 2024 13:55
@renovate renovate bot force-pushed the renovate/node-feature-discovery-0.x branch from cd2c45e to 9ca3efc Compare May 27, 2024 22:55
@renovate renovate bot changed the title fix(helm): update chart node-feature-discovery to 0.15.4 feat(helm): update chart node-feature-discovery to 0.16.0 May 27, 2024
@renovate renovate bot force-pushed the renovate/node-feature-discovery-0.x branch from 9ca3efc to eaf6f6b Compare July 3, 2024 17:00
@renovate renovate bot changed the title feat(helm): update chart node-feature-discovery to 0.16.0 feat(helm): update chart node-feature-discovery to 0.16.1 Jul 3, 2024
@renovate renovate bot force-pushed the renovate/node-feature-discovery-0.x branch from eaf6f6b to 6af14b6 Compare July 11, 2024 12:10
@renovate renovate bot changed the title feat(helm): update chart node-feature-discovery to 0.16.1 feat(helm): update chart node-feature-discovery to 0.16.2 Jul 11, 2024
@renovate renovate bot force-pushed the renovate/node-feature-discovery-0.x branch from 6af14b6 to 46ddca1 Compare July 16, 2024 13:36
@renovate renovate bot changed the title feat(helm): update chart node-feature-discovery to 0.16.2 feat(helm): update chart node-feature-discovery to 0.16.3 Jul 16, 2024
@renovate renovate bot force-pushed the renovate/node-feature-discovery-0.x branch from 46ddca1 to 4779f90 Compare August 12, 2024 12:40
@renovate renovate bot changed the title feat(helm): update chart node-feature-discovery to 0.16.3 feat(helm): update chart node-feature-discovery to 0.16.4 Aug 12, 2024
@renovate renovate bot changed the title feat(helm): update chart node-feature-discovery to 0.16.4 feat(helm): update chart node-feature-discovery to 0.16.5 Oct 15, 2024
@renovate renovate bot force-pushed the renovate/node-feature-discovery-0.x branch from 4779f90 to 2c7f37b Compare October 15, 2024 09:46
@renovate renovate bot force-pushed the renovate/node-feature-discovery-0.x branch from 2c7f37b to 319dc27 Compare October 30, 2024 17:16
@renovate renovate bot changed the title feat(helm): update chart node-feature-discovery to 0.16.5 feat(helm): update chart node-feature-discovery to 0.16.6 Oct 30, 2024
@renovate renovate bot force-pushed the renovate/node-feature-discovery-0.x branch from 319dc27 to e660a00 Compare December 24, 2024 09:16
@renovate renovate bot changed the title feat(helm): update chart node-feature-discovery to 0.16.6 feat(helm): update chart node-feature-discovery to 0.17.0 Dec 24, 2024
@renovate renovate bot force-pushed the renovate/node-feature-discovery-0.x branch from e660a00 to 96db290 Compare January 14, 2025 18:39
@renovate renovate bot changed the title feat(helm): update chart node-feature-discovery to 0.17.0 feat(helm): update chart node-feature-discovery to 0.17.1 Jan 14, 2025
@renovate renovate bot changed the title feat(helm): update chart node-feature-discovery to 0.17.1 feat(helm): update chart node-feature-discovery to 0.17.2 Feb 24, 2025
@renovate renovate bot force-pushed the renovate/node-feature-discovery-0.x branch from 96db290 to 0cf582e Compare February 24, 2025 12:31
@renovate renovate bot force-pushed the renovate/node-feature-discovery-0.x branch from 0cf582e to 544316b Compare April 25, 2025 00:00
@renovate renovate bot changed the title feat(helm): update chart node-feature-discovery to 0.17.2 feat(helm): update chart node-feature-discovery to 0.17.3 Apr 25, 2025
@renovate renovate bot force-pushed the renovate/node-feature-discovery-0.x branch from 544316b to 10619ab Compare September 22, 2025 12:42
@renovate renovate bot changed the title feat(helm): update chart node-feature-discovery to 0.17.3 feat(helm): update chart node-feature-discovery to 0.17.4 Sep 22, 2025
@renovate renovate bot force-pushed the renovate/node-feature-discovery-0.x branch from 10619ab to c3fb8b0 Compare October 5, 2025 10:44
@renovate renovate bot changed the title feat(helm): update chart node-feature-discovery to 0.17.4 feat(helm): update chart node-feature-discovery to 0.18.0 Oct 5, 2025
@renovate renovate bot force-pushed the renovate/node-feature-discovery-0.x branch from c3fb8b0 to bae3877 Compare October 7, 2025 19:10
@renovate renovate bot changed the title feat(helm): update chart node-feature-discovery to 0.18.0 feat(helm): update chart node-feature-discovery to 0.18.1 Oct 7, 2025
@renovate renovate bot force-pushed the renovate/node-feature-discovery-0.x branch from bae3877 to 03944fd Compare October 20, 2025 13:08
@renovate renovate bot changed the title feat(helm): update chart node-feature-discovery to 0.18.1 feat(helm): update chart node-feature-discovery to 0.18.2 Oct 20, 2025
@renovate renovate bot changed the title feat(helm): update chart node-feature-discovery to 0.18.2 feat(helm): update chart node-feature-discovery to 0.18.3 Nov 5, 2025
@renovate renovate bot force-pushed the renovate/node-feature-discovery-0.x branch from 03944fd to 99c339d Compare November 5, 2025 13:02
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant