1
0
Fork 0
mirror of https://github.com/kubernetes-sigs/node-feature-discovery.git synced 2025-03-28 02:37:11 +00:00
Node feature discovery for Kubernetes
Find a file
Markus Lehtonen 36341bf4c7 apis/nfd: empty match expression set returns no features for templates
This patch changes a rare corner case of custom label rules with an
empty set of matchexpressions. The patch removes a special case where an
empty match expression set matched everything and returned all feature
elements for templates to consume. With this patch the match expression
set logically evaluates all expressions in the set and returns all
matches - if there are no expressions there are no matches and no
matched features are returned. However, the overall match result
(determining if "non-template" labels will be created) in this special
case will be "true" as before as none of the zero match expressions
failed.

The former behavior was somewhat illogical and counterintuitive: having
1 to N expressions matched and returned 1 to N features (at most), but,
having 0 expressions always matched everything and returned all
features. This was some leftover proof-of-concept functionality (for
some possible future extensions) that should have been removed before
merging.
2022-03-24 11:43:42 +02:00
.github Fix a couple typos 2022-03-23 19:16:01 -04:00
cmd nfd-worker: add -feature-sources command line flag 2021-12-03 09:42:35 +02:00
demo demo: make demo runnable again 2020-09-10 17:09:53 +03:00
deployment deployment/helm: add resourceLabels to master args 2022-03-23 06:59:49 +02:00
docs apis/nfd: empty match expression set returns no features for templates 2022-03-24 11:43:42 +02:00
examples docs: add customization guide 2022-01-08 09:56:05 +02:00
hack Iniital multi arch build 2022-01-20 15:41:08 +01:00
pkg apis/nfd: empty match expression set returns no features for templates 2022-03-24 11:43:42 +02:00
scripts scripts/prepare-release: fix upating of readme 2022-01-25 17:43:05 +02:00
source Merge pull request #716 from marquiz/devel/iommu-version 2022-03-15 05:32:12 -07:00
test go.mod: bump kubernetes to v1.23.1 2022-01-12 16:43:21 +02:00
.dockerignore dockerignore: tidy up and update 2020-05-19 10:13:54 +03:00
.gitignore Only add kustomization.yaml in the root to .gitignore 2021-08-26 15:27:03 +01:00
cloudbuild.yaml cloudbuild.yaml: decrease timeout to 25 minutes 2022-01-21 12:00:14 +02:00
code-of-conduct.md Update code-of-conduct.md 2017-12-20 14:12:51 -05:00
CONTRIBUTING.md Template project files 2016-07-22 22:13:48 -07:00
Dockerfile Fix readiness and liveness checks 2021-12-23 13:28:04 +02:00
go.mod go.mod: update to klauspost/cpuid/v2@v2.0.11 2022-02-08 11:24:00 +02:00
go.sum go.mod: update to klauspost/cpuid/v2@v2.0.11 2022-02-08 11:24:00 +02:00
LICENSE Template project files 2016-07-22 22:13:48 -07:00
Makefile Adding missing target dep 2022-01-20 17:01:54 +01:00
OWNERS Update OWNERS file 2021-02-15 12:10:51 +00:00
README.md README: point to v0.10.1 2022-01-24 16:47:11 +02:00
SECURITY_CONTACTS Update SECURITY_CONTACTS 2020-11-19 15:10:27 -05:00

Node Feature Discovery

Go Report Card Prow Build

Welcome to Node Feature Discovery a Kubernetes add-on for detecting hardware features and system configuration!

See our Documentation for detailed instructions and reference

Quick-start the short-short version

$ kubectl apply -k https://github.com/kubernetes-sigs/node-feature-discovery/deployment/overlays/default?ref=v0.10.1
  namespace/node-feature-discovery created
  customresourcedefinition.apiextensions.k8s.io/nodefeaturerules.nfd.k8s-sigs.io created
  serviceaccount/nfd-master created
  clusterrole.rbac.authorization.k8s.io/nfd-master created
  clusterrolebinding.rbac.authorization.k8s.io/nfd-master created
  configmap/nfd-worker-conf created
  service/nfd-master created
  deployment.apps/nfd-master created
  daemonset.apps/nfd-worker created

$ kubectl -n node-feature-discovery get all
  NAME                              READY   STATUS    RESTARTS   AGE
  pod/nfd-master-555458dbbc-sxg6w   1/1     Running   0          56s
  pod/nfd-worker-mjg9f              1/1     Running   0          17s
...

$ kubectl get no -o json | jq .items[].metadata.labels
  {
    "beta.kubernetes.io/arch": "amd64",
    "beta.kubernetes.io/os": "linux",
    "feature.node.kubernetes.io/cpu-cpuid.ADX": "true",
    "feature.node.kubernetes.io/cpu-cpuid.AESNI": "true",
...