Skip to content

Releases: kubernetes-sigs/node-feature-discovery

v0.5.0

13 Dec 18:34
v0.5.0
201aee8
Compare
Choose a tag to compare

Changelog

Major changes

  • support for non-binary kconfig options in kernel feature source (#197)
  • detect NVDIMM DAX mode in memory source (#254)
  • automatically publish "experimental/devel" container images from the master branch (#160)
  • CPUID support for IBM Power LE & Z (#262)
  • advertise 'false' status of cpu-pstate.turbo (#266)
  • update klauspost/cpuid dependency in order to detect latest CPUID features (#271)

Miscellaneous

  • nfd-worker doesn't (try to) connect to master when --no-publish is used (#265)
  • use pod anti-affinity in the worker Job template spec (#161)
  • improvements in CI pipeline
    • automatic publishing of release container images (#259)
    • add rudimentary end-to-end tests (#181)
  • documentation updates fixes

Deployment

For complete documentation see the v0.5.0 release

For quick start, you can use the provided template specs to deploy the NFD release image with the default configuration in the default namespace:

export NFD_VERSION=v0.5.0
kubectl apply -f https://raw.githubusercontent.com/kubernetes-sigs/node-feature-discovery/$NFD_VERSION/nfd-master.yaml.template
kubectl apply -f https://raw.githubusercontent.com/kubernetes-sigs/node-feature-discovery/$NFD_VERSION/nfd-worker-daemonset.yaml.template

v0.4.0

29 May 14:58
v0.4.0
5ae4574
Compare
Choose a tag to compare

Changelog

Node-feature-discovery was migrated into a new repository under the kubernetes-sigs organization in Github (#175). Related to the migration, the final container image registry/repo hasn't been dediced yet (#177) – for this release we still use the old repo.

Major changes

  • Split NFD into client and server (#209)
  • Changes in labels:
    • NFD label namespace was changed to feature.node.kubernetes.io/ (#176)
      • nfd- prefix was dropped from all feature labels
      • NFD version label (feature.node.kubernetes.io/node-feature-discovery.version) was replaced by an annotation (nfd.node.kubernetes.io/version)
    • network SRIOV labels were changed (#173):
      • network-sriov -> network-sriov.capable
      • network-sriov-configured -> network-sriov.configured
    • selinux detection was moved to kernel feature source
      • selinux -> kernel-selinux.enabled
    • cpuid, pstate and RDT labels moved under cpu feature source (#217)
      • cpuid-<cpuid flag> -> cpu-cpuid.<cpuid flag>
      • pstate-turbo -> cpu-pstate.turbo
      • rdt-<rdt feature> -> cpu-rdt.<rdt feature>
  • Support for config file (#169). Currently with three configurable feature sources i.e. cpu (#224), kernel (#157) and pci (#168)
  • Support for non-binary labels, with arbitrary values other than plain true
  • PCI device detection (#168)
  • Kernel version detection (#157)
  • Kernel config option detection (#146)
  • Support for custom feature-detector hooks (#144)
  • Support OS version detection (#149, #211)
  • Detection of hardware multithreading, such as Intel Hyper-Threading Technology (#147)
  • Arm64 support for CPUID detection (#194)
  • Validation of feature label names and values (#199, #219)
  • Detection of NVDIMM devices (#214)
  • Get labels by reading from file in local source (#228)
  • Detection of Intel SST-BF (Speed Select Technology - Base Frequency) (#235)
  • Make it possible to create feature labels in non-default namespace (#231). Currently possible for using the local source (hooks and files).

Miscellaneous

  • Template specs converted from json to yaml
  • Documentation updates fixes

Deployment

For complete documentation see the v0.4.0 release

For quick start, you can use the provided template specs to deploy the NFD release image with the default configuration in the default namespace:

export NFD_VERSION=v0.4.0
kubectl apply -f https://raw.githubusercontent.com/kubernetes-sigs/node-feature-discovery/$NFD_VERSION/nfd-master.yaml.template
kubectl apply -f https://raw.githubusercontent.com/kubernetes-sigs/node-feature-discovery/$NFD_VERSION/nfd-worker-daemonset.yaml.template

v0.3.0

27 Sep 11:11
v0.3.0
Compare
Choose a tag to compare

Changelog

Major changes

  • Implement detection of IOMMU (#136)
  • NFD container image size is reduced by 94% (from ca. 1.25 GB to 76 MB), by utilizing multi-stage Docker build (#129)
  • Image build tool is now configurable via IMAGE_BUILD_CMD make variable (e.g. buildag bud may be used) (#166)

Misc fixes

  • Skip pstate detection on Arm (#118)
  • Documentation fixes and improvements (#104, #156)
  • Small improvement in node counting in label.sh (#152)

Known issues

  • Occasional restarts when run as a DaemonSet (issue #122)

v0.2.0

26 Jun 08:39
v0.2.0
a410ed4
Compare
Choose a tag to compare

Changelog

New features

  • Add support for Kubernetes 1.8+ (#82)
  • Adding SR-IOV capability discovery to node-feature-discovery (#49)
  • Enable nfd framework on Arm64 platform
  • Added nonrotational storage detection
  • Add memory source and NUMA detection.
  • Export proxy env vars inside docker build. Makes it possible to build node-feature-discovery from behind a proxy server, e.g. in corporate networks.
  • Advertise selinux status by adding labels
  • Make it possible to run nfd as a DaemonSet (#105)
  • Added more Intel RDT capability discovery: CMT,MBM,MBA (#120)
  • Added template spec for configuring RBAC (#126)

Misc fixes

  • Fix to report the correct version inside container.
  • Upated RDT Discovery() to use exit status
  • Clean-up RDT helper programs.
  • Improved unit test coverage
  • Add GoReport Card Widget
  • Update Community Code of Conduct
  • Improve GoReportCard metrics, both gofmt and golint (#90)
  • Get node name from spec.nodeName instead of indirectly from pod. (#93)
  • Remove hardcoding of nfd source path (#94)
  • Use a specific released version of intel-cmt-cat

Known issues

  • Occasional restarts when run as a DaemonSet (issue #122).

v0.1.0

07 Dec 22:24
Compare
Choose a tag to compare
  • Use kubernetes-incubator.io in label namespace instead of intel.com.
  • Graceful failure if discovery from a source fails.
  • Use client-go instead of the unversioned client.
  • Separate discovered features from logs in output (stdout/stderr).
  • Delete non-discovered feature labels.
  • Version string no longer part of published label key.
  • Configure bots for repo management automation.
  • Investigate and fix a number of issues from the quay.io vulnerability report.

Errata / known issues:

  • The version reported by published container is v0.1.0-dirty. See issue #54 for more details.

Docker image:

  • quay.io/kubernetes_incubator/node-feature-discovery:v0.1.0